0001437749-23-030219.txt : 20231103 0001437749-23-030219.hdr.sgml : 20231103 20231103160731 ACCESSION NUMBER: 0001437749-23-030219 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 70 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231103 DATE AS OF CHANGE: 20231103 FILER: COMPANY DATA: COMPANY CONFORMED NAME: NORTHWEST PIPE CO CENTRAL INDEX KEY: 0001001385 STANDARD INDUSTRIAL CLASSIFICATION: STEEL PIPE & TUBES [3317] IRS NUMBER: 930557988 STATE OF INCORPORATION: OR FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-27140 FILM NUMBER: 231376368 BUSINESS ADDRESS: STREET 1: 201 NE PARK PLAZA DRIVE STREET 2: SUITE 100 CITY: VANCOUVER STATE: WA ZIP: 98684 BUSINESS PHONE: 3603976250 MAIL ADDRESS: STREET 1: 201 NE PARK PLAZA DRIVE STREET 2: SUITE 100 CITY: VANCOUVER STATE: WA ZIP: 98684 10-Q 1 nwpx20230930_10q.htm FORM 10-Q nwpx20230930_10q.htm
0001001385 Northwest Pipe Co. false --12-31 Q3 2023 284 369 124,175 117,856 0.01 0.01 10,000,000 10,000,000 0 0 0 0 0.01 0.01 15,000,000 15,000,000 10,014,196 10,014,196 9,927,360 9,927,360 0 1 19 0 142 141 0 34 53 0 83 218 10.8 9.3 1.1 7.5 1.1 23.2 1.1 0.4 1 100 0.8 0.25 1 2019 2020 2021 2022 2023 0 0 0 false false false false The number of PSAs disclosed in this table are at the target level of 100%. For the PSAs vested on March 31, 2023, the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of 100%, as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the 2020-2022 performance period, 126% for the 2021-2022 performance period, and 132% for the 2022 performance period. There were no antidilutive shares for the three and nine months ended September 30, 2023 or 2022. 00010013852023-01-012023-09-30 xbrli:shares 00010013852023-10-25 iso4217:USD 00010013852023-07-012023-09-30 00010013852022-07-012022-09-30 00010013852022-01-012022-09-30 iso4217:USDxbrli:shares 0001001385us-gaap:PensionPlansDefinedBenefitMember2023-07-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMember2022-07-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMember2023-01-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMember2022-01-012022-09-30 00010013852023-09-30 00010013852022-12-31 0001001385us-gaap:CommonStockMember2023-06-30 0001001385us-gaap:AdditionalPaidInCapitalMember2023-06-30 0001001385us-gaap:RetainedEarningsMember2023-06-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-30 00010013852023-06-30 0001001385us-gaap:CommonStockMember2023-07-012023-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-30 0001001385us-gaap:RetainedEarningsMember2023-07-012023-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:CommonStockMember2023-07-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:RetainedEarningsMember2023-07-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:CommonStockMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:RetainedEarningsMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:CommonStockMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:RetainedEarningsMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-30 0001001385us-gaap:CommonStockMember2023-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2023-09-30 0001001385us-gaap:RetainedEarningsMember2023-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-30 0001001385us-gaap:CommonStockMember2022-06-30 0001001385us-gaap:AdditionalPaidInCapitalMember2022-06-30 0001001385us-gaap:RetainedEarningsMember2022-06-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-30 00010013852022-06-30 0001001385us-gaap:CommonStockMember2022-07-012022-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-30 0001001385us-gaap:RetainedEarningsMember2022-07-012022-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:CommonStockMember2022-07-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:RetainedEarningsMember2022-07-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:CommonStockMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:RetainedEarningsMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:CommonStockMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:RetainedEarningsMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001001385us-gaap:CommonStockMember2022-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2022-09-30 0001001385us-gaap:RetainedEarningsMember2022-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-30 00010013852022-09-30 0001001385us-gaap:CommonStockMember2022-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2022-12-31 0001001385us-gaap:RetainedEarningsMember2022-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-31 0001001385us-gaap:CommonStockMember2023-01-012023-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-30 0001001385us-gaap:RetainedEarningsMember2023-01-012023-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:CommonStockMember2023-01-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:RetainedEarningsMember2023-01-012023-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:CommonStockMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:RetainedEarningsMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:CommonStockMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:RetainedEarningsMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-30 0001001385us-gaap:CommonStockMember2021-12-31 0001001385us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001001385us-gaap:RetainedEarningsMember2021-12-31 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 00010013852021-12-31 0001001385us-gaap:CommonStockMember2022-01-012022-09-30 0001001385us-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-30 0001001385us-gaap:RetainedEarningsMember2022-01-012022-09-30 0001001385us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:CommonStockMember2022-01-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:RetainedEarningsMember2022-01-012022-09-30 0001001385us-gaap:PensionPlansDefinedBenefitMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:CommonStockMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:RetainedEarningsMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:CommonStockMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:RetainedEarningsMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-30 xbrli:pure 0001001385nwpx:InterimFundingAgreementifaMember2022-08-31 0001001385nwpx:InterimFundingAgreementifaMembernwpx:SecuredOvernightFinancingRateSOFRMember2022-08-312022-08-31 0001001385nwpx:InterimFundingAgreementifaMemberus-gaap:SubsequentEventMembernwpx:SecuredOvernightFinancingRateSOFRMember2023-11-022023-11-02 0001001385nwpx:InterimFundingAgreementifaMemberus-gaap:SubsequentEventMember2023-11-02 0001001385nwpx:InterimFundingAgreementifaMember2023-09-30 0001001385nwpx:InterimFundingAgreementifaMember2022-12-31 0001001385nwpx:WellsFargoBankNAMember2021-10-22 0001001385nwpx:WellsFargoBankNAMember2023-01-012023-09-30 0001001385nwpx:WellsFargoBankNAMember2021-10-222021-10-22 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMember2023-09-30 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMember2022-12-31 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMembersrt:MinimumMembernwpx:SecuredOvernightFinancingRateSOFRMember2023-01-012023-09-30 0001001385us-gaap:RevolvingCreditFacilityMembernwpx:WellsFargoBankNAMembersrt:MaximumMembernwpx:SecuredOvernightFinancingRateSOFRMember2023-01-012023-09-30 0001001385nwpx:DeferredCompensationPlanMember2023-09-30 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel1Member2023-09-30 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel2Member2023-09-30 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel3Member2023-09-30 0001001385us-gaap:ForeignExchangeForwardMember2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel1Member2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel2Member2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel3Member2023-09-30 0001001385us-gaap:InterestRateSwapMember2023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2023-09-30 0001001385us-gaap:FairValueInputsLevel1Member2023-09-30 0001001385us-gaap:FairValueInputsLevel2Member2023-09-30 0001001385us-gaap:FairValueInputsLevel3Member2023-09-30 0001001385nwpx:DeferredCompensationPlanMember2022-12-31 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001001385nwpx:DeferredCompensationPlanMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001001385us-gaap:ForeignExchangeForwardMember2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001001385us-gaap:InterestRateSwapMember2022-12-31 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001001385us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001001385us-gaap:FairValueInputsLevel1Member2022-12-31 0001001385us-gaap:FairValueInputsLevel2Member2022-12-31 0001001385us-gaap:FairValueInputsLevel3Member2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-09-30 iso4217:CAD 0001001385nwpx:ForeignExchangeForward1Memberus-gaap:DesignatedAsHedgingInstrumentMember2023-09-30 iso4217:EUR 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2023-09-30 0001001385nwpx:ForeignExchangeForward1Memberus-gaap:NondesignatedMember2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-31 0001001385nwpx:ForeignExchangeForward1Memberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2022-12-31 0001001385nwpx:The1941InterestRateSwapMemberus-gaap:CashFlowHedgingMember2023-09-30 0001001385nwpx:The1941InterestRateSwapMemberus-gaap:CashFlowHedgingMember2022-12-31 0001001385nwpx:The296InterestRateSwapMemberus-gaap:CashFlowHedgingMember2023-04-03 0001001385nwpx:The296InterestRateSwapMemberus-gaap:CashFlowHedgingMember2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMemberus-gaap:SalesMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMemberus-gaap:SalesMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMemberus-gaap:SalesMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMemberus-gaap:SalesMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMembernwpx:PropertyAndEquipmentMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMembernwpx:PropertyAndEquipmentMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMembernwpx:PropertyAndEquipmentMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMembernwpx:PropertyAndEquipmentMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:NondesignatedMemberus-gaap:InterestExpenseMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:NondesignatedMemberus-gaap:InterestExpenseMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:NondesignatedMemberus-gaap:InterestExpenseMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:NondesignatedMemberus-gaap:InterestExpenseMember2022-01-012022-09-30 0001001385us-gaap:NondesignatedMember2023-07-012023-09-30 0001001385us-gaap:NondesignatedMember2022-07-012022-09-30 0001001385us-gaap:NondesignatedMember2023-01-012023-09-30 0001001385us-gaap:NondesignatedMember2022-01-012022-09-30 0001001385nwpx:ReclassifiedToNetSalesMember2023-01-012023-09-30 0001001385nwpx:ReclassifiedToInterestExpenseMember2023-01-012023-09-30 0001001385us-gaap:CostOfSalesMember2023-07-012023-09-30 0001001385us-gaap:CostOfSalesMember2022-07-012022-09-30 0001001385us-gaap:CostOfSalesMember2023-01-012023-09-30 0001001385us-gaap:CostOfSalesMember2022-01-012022-09-30 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-07-012023-09-30 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-07-012022-09-30 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-09-30 0001001385us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-09-30 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2022-12-31 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2023-01-012023-09-30 0001001385nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember2023-09-30 0001001385us-gaap:PerformanceSharesMember2023-09-30 0001001385us-gaap:PerformanceSharesMember2020-01-012020-12-31 0001001385us-gaap:PerformanceSharesMember2021-01-012021-12-31 0001001385us-gaap:PerformanceSharesMember2022-01-012022-12-31 0001001385us-gaap:PerformanceSharesMembersrt:MinimumMember2023-01-012023-09-30 0001001385us-gaap:PerformanceSharesMembersrt:MaximumMember2023-01-012023-09-30 utr:Y 0001001385nwpx:LowerWillametteGroupMember2017-01-31 0001001385nwpx:PortlandHarborSuperfundSiteMember2017-01-012017-01-31 0001001385nwpx:PortlandHarborSuperfundSiteMember2017-01-31 0001001385nwpx:PortlandHarborNaturalreSourcesTrusteeCouncilMember2014-06-30 0001001385us-gaap:TransferredOverTimeMember2023-07-012023-09-30 0001001385us-gaap:TransferredOverTimeMember2022-07-012022-09-30 0001001385us-gaap:TransferredOverTimeMember2023-01-012023-09-30 0001001385us-gaap:TransferredOverTimeMember2022-01-012022-09-30 0001001385us-gaap:TransferredAtPointInTimeMember2023-07-012023-09-30 0001001385us-gaap:TransferredAtPointInTimeMember2022-07-012022-09-30 0001001385us-gaap:TransferredAtPointInTimeMember2023-01-012023-09-30 0001001385us-gaap:TransferredAtPointInTimeMember2022-01-012022-09-30 00010013852023-10-012023-09-30 00010013852024-01-012023-09-30 thunderdome:item 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2022-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-12-31 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-12-31 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-09-30 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-09-30 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2021-12-31 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2021-12-31 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2021-12-31 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-01-012022-09-30 0001001385us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2023-07-012023-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2022-07-012022-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2023-01-012023-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember2022-01-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-07-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-07-012022-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-09-30 0001001385us-gaap:ForeignExchangeForwardMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-01-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-07-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-07-012022-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-09-30 0001001385us-gaap:InterestRateSwapMemberus-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-01-012022-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-30 0001001385us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2023-07-012023-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2022-07-012022-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2023-01-012023-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:EngineeredSteelPressurePipeMember2022-01-012022-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2023-07-012023-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2022-07-012022-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2023-01-012023-09-30 0001001385us-gaap:OperatingSegmentsMembernwpx:PrecastInfrastructureAndEngineeredSystemsMember2022-01-012022-09-30 0001001385us-gaap:SubsequentEventMember2023-11-02
 

Table of Contents



UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

 

FORM 10-Q

 

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

 

For the quarterly period ended: September 30, 2023

or

 

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

 

For the transition period from _______to _______

 

Commission File Number: 0-27140

 

NORTHWEST PIPE COMPANY

(Exact name of registrant as specified in its charter)

 

Oregon

93-0557988

(State or other jurisdiction of incorporation or organization)

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

 

201 NE Park Plaza Drive, Suite 100

Vancouver, Washington 98684

(Address of principal executive offices and Zip Code)

 

3603976250

(Registrant’s telephone number, including area code)

 

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

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, par value $0.01 per share

NWPX

Nasdaq Global Select Market

 

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

 

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

 

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

 

Large accelerated filer

Accelerated filer

Non-accelerated filer

Smaller reporting company

  

Emerging growth company

 

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

 

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

 

The number of shares outstanding of the registrant’s common stock as of October 25, 2023 was 10,014,196 shares.



 

 

 

 

NORTHWEST PIPE COMPANY

FORM 10Q

TABLE OF CONTENTS

 

 

Page

PART I - FINANCIAL INFORMATION

 
   

Item 1. Financial Statements (Unaudited):

 
   

Condensed Consolidated Statements of Operations for the three and nine months ended September 30, 2023 and 2022

2
   

Condensed Consolidated Statements of Comprehensive Income for the three and nine months ended September 30, 2023 and 2022

3
   

Condensed Consolidated Balance Sheets as of September 30, 2023 and December 31, 2022

4
   

Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2023 and 2022

5
   

Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2023 and 2022

7

   

Notes to Condensed Consolidated Financial Statements

8
   

Item 2. Managements Discussion and Analysis of Financial Condition and Results of Operations

21
   

Item 3. Quantitative and Qualitative Disclosures About Market Risk

27
   

Item 4. Controls and Procedures

28
   

PART II - OTHER INFORMATION

 
   

Item 1. Legal Proceedings

29
   

Item 1A. Risk Factors

29
   

Item 5. Other Information

29
   

Item 6. Exhibits

30
   

Signatures

31

 

 

Part I  FINANCIAL INFORMATION

 

Item 1. Financial Statements

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS

(Unaudited)

(In thousands, except per share amounts)

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net sales

 $118,722  $122,984  $334,191  $350,837 

Cost of sales

  99,428   97,866   275,839   286,853 

Gross profit

  19,294   25,118   58,352   63,984 

Selling, general, and administrative expense

  10,237   10,654   33,119   30,149 

Operating income

  9,057   14,464   25,233   33,835 

Other income (expense)

  (61

)

  11   (224

)

  56 

Interest expense

  (1,162

)

  (964

)

  (3,722

)

  (2,393

)

Income before income taxes

  7,834   13,511   21,287   31,498 

Income tax expense

  2,016   3,555   5,659   8,310 

Net income

 $5,818  $9,956  $15,628  $23,188 
                 

Net income per share:

                

Basic

 $0.58  $1.00  $1.57  $2.34 

Diluted

 $0.58  $0.99  $1.55  $2.32 
                 

Shares used in per share calculations:

                

Basic

  10,014   9,927   9,985   9,909 

Diluted

  10,107   10,010   10,088   9,988 

 

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

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(Unaudited)

(In thousands)

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net income

 $5,818  $9,956  $15,628  $23,188 
                 

Other comprehensive income (loss), net of tax:

                

Pension liability adjustment

  29   22   88   66 

Unrealized gain (loss) on foreign currency forward contracts designated as cash flow hedges

  3   158   (98

)

  (245

)

Unrealized gain (loss) on interest rate swaps designated as cash flow hedges

  (59

)

  428   (152

)

  661 

Other comprehensive income (loss), net of tax

  (27

)

  608   (162

)

  482 

Comprehensive income

 $5,791  $10,564  $15,466  $23,670 

 

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

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

(Unaudited)

(Dollar amounts in thousands, except per share amounts)

 

  

September 30, 2023

  

December 31, 2022

 

Assets

        

Current assets:

        

Cash and cash equivalents

 $4,058  $3,681 

Trade and other receivables, less allowance for doubtful accounts of $284 and $369

  66,997   71,563 

Contract assets

  105,420   121,778 

Inventories

  83,093   71,029 

Prepaid expenses and other

  6,638   10,689 

Total current assets

  266,206   278,740 

Property and equipment, less accumulated depreciation and amortization of $124,175 and $117,856

  139,812   133,166 

Operating lease right-of-use assets

  89,605   93,124 

Goodwill

  55,504   55,504 

Intangible assets, net

  32,117   35,264 

Other assets

  5,844   5,542 

Total assets

 $589,088  $601,340 
         

Liabilities and Stockholders Equity

        

Current liabilities:

        

Current debt

 $10,756  $10,756 

Accounts payable

  31,156   26,968 

Accrued liabilities

  23,786   30,957 

Contract liabilities

  17,264   17,456 

Current portion of operating lease liabilities

  4,899   4,702 

Total current liabilities

  87,861   90,839 

Borrowings on line of credit

  58,076   83,696 

Operating lease liabilities

  86,529   89,472 

Deferred income taxes

  11,639   11,402 

Other long-term liabilities

  9,845   7,657 

Total liabilities

  253,950   283,066 
         

Commitments and contingencies (Note 8)

          
         

Stockholders’ equity:

        

Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding

  -   - 

Common stock, $.01 par value, 15,000,000 shares authorized, 10,014,196 and 9,927,360 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively

  100   99 

Additional paid-in-capital

  129,308   127,911 

Retained earnings

  206,681   191,053 

Accumulated other comprehensive loss

  (951

)

  (789

)

Total stockholders’ equity

  335,138   318,274 

Total liabilities and stockholders’ equity

 $589,088  $601,340 

 

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

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY

(Unaudited)

(Dollar amounts in thousands)

 

                  

Accumulated

     
          

Additional

      

Other

  

Total

 
  

Common Stock

  

Paid-In-

  

Retained

  

Comprehensive

  

Stockholders

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Equity

 
                         

Balances, June 30, 2023

  10,014,196  $100  $128,562  $200,863  $(924

)

 $328,601 

Net income

  -   -   -   5,818   -   5,818 

Other comprehensive income (loss):

                        

Pension liability adjustment, net of tax expense of $0

  -   -   -   -   29   29 

Unrealized gain on foreign currency forward contracts designated as cash flow hedges, net of tax expense of $1

  -   -   -   -   3   3 

Unrealized loss on interest rate swaps designated as cash flow hedges, net of tax benefit of $19

  -   -   -   -   (59

)

  (59

)

Share-based compensation expense

  -   -   746   -   -   746 

Balances, September 30, 2023

  10,014,196  $100  $129,308  $206,681  $(951

)

 $335,138 

 

                  

Accumulated

     
          

Additional

      

Other

  

Total

 
  

Common Stock

  

Paid-In-

  

Retained

  

Comprehensive

  

Stockholders

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Equity

 
                         

Balances, June 30, 2022

  9,927,360  $99  $125,517  $173,136  $(1,808

)

 $296,944 

Net income

  -   -   -   9,956   -   9,956 

Other comprehensive income:

                        

Pension liability adjustment, net of tax expense of $0

  -   -   -   -   22   22 

Unrealized gain on foreign currency forward contracts designated as cash flow hedges, net of tax benefit of $142

  -   -   -   -   158   158 

Unrealized gain on interest rate swap designated as cash flow hedge, net of tax expense of $141

  -   -   -   -   428   428 

Share-based compensation expense

  -   -   1,169   -   -   1,169 

Balances, September 30, 2022

  9,927,360  $99  $126,686  $183,092  $(1,200

)

 $308,677 

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY, Continued

(Unaudited)

(Dollar amounts in thousands)

 

                  

Accumulated

     
          

Additional

      

Other

  

Total

 
  

Common Stock

  

Paid-In-

  

Retained

  

Comprehensive

  

Stockholders

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Equity

 
                         

Balances, December 31, 2022

  9,927,360  $99  $127,911  $191,053  $(789

)

 $318,274 

Net income

  -   -   -   15,628   -   15,628 

Other comprehensive income (loss):

                        

Pension liability adjustment, net of tax expense of $0

  -   -   -   -   88   88 

Unrealized loss on foreign currency forward contracts designated as cash flow hedges, net of tax benefit of $34

  -   -   -   -   (98

)

  (98

)

Unrealized loss on interest rate swaps designated as cash flow hedges, net of tax benefit of $53

  -   -   -   -   (152

)

  (152

)

Issuance of common stock under stock compensation plans, net of tax withholdings

  86,836   1   (1,653

)

  -   -   (1,652

)

Share-based compensation expense

  -   -   3,050   -   -   3,050 

Balances, September 30, 2023

  10,014,196  $100  $129,308  $206,681  $(951

)

 $335,138 

 

                  

Accumulated

     
          

Additional

      

Other

  

Total

 
  

Common Stock

  

Paid-In-

  

Retained

  

Comprehensive

  

Stockholders

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Loss

  

Equity

 
                         

Balances, December 31, 2021

  9,870,567  $99  $125,062  $159,904  $(1,682

)

 $283,383 

Net income

  -   -   -   23,188   -   23,188 

Other comprehensive income (loss):

                        

Pension liability adjustment, net of tax expense of $0

  -   -   -   -   66   66 

Unrealized loss on foreign currency forward contracts designated as cash flow hedges, net of tax benefit of $83

  -   -   -   -   (245

)

  (245

)

Unrealized gain on interest rate swap designated as cash flow hedge, net of tax expense of $218

  -   -   -   -   661   661 

Issuance of common stock under stock compensation plans, net of tax withholdings

  56,793   -   (853

)

  -   -   (853

)

Share-based compensation expense

  -   -   2,477   -   -   2,477 

Balances, September 30, 2022

  9,927,360  $99  $126,686  $183,092  $(1,200

)

 $308,677 

 

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

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(Unaudited)

(In thousands)

 

  

Nine Months Ended September 30,

 
  

2023

  

2022

 

Cash flows from operating activities:

        

Net income

 $15,628  $23,188 

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

        

Depreciation and finance lease amortization

  8,644   9,321 

Amortization of intangible assets

  3,147   3,369 

Deferred income taxes

  226   (3

)

Share-based compensation expense

  3,050   2,477 

Other, net

  1,298   (305

)

Changes in operating assets and liabilities:

        

Trade and other receivables

  4,401   (21,588

)

Contract assets, net

  16,165   3,531 

Inventories

  (12,064

)

  (11,927

)

Prepaid expenses and other assets

  7,417   8,789 

Accounts payable

  4,974   8,350 

Accrued and other liabilities

  (8,477

)

  315 

Net cash provided by operating activities

  44,409   25,517 

Cash flows from investing activities:

        

Purchases of property and equipment

  (13,244

)

  (11,792

)

Payment of working capital adjustment in acquisition of business

  (2,731

)

  - 

Other investing activities

  63   (288

)

Net cash used in investing activities

  (15,912

)

  (12,080

)

Cash flows from financing activities:

        

Borrowings on line of credit

  113,047   121,103 

Repayments on line of credit

  (138,667

)

  (136,047

)

Borrowings on other debt

  -   3,525 

Payments on finance lease obligations

  (548

)

  (409

)

Tax withholdings related to net share settlements of equity awards

  (1,652

)

  (853

)

Other financing activities

  (300

)

  (47

)

Net cash used in financing activities

  (28,120

)

  (12,728

)

Change in cash and cash equivalents

  377   709 

Cash and cash equivalents, beginning of period

  3,681   2,997 

Cash and cash equivalents, end of period

 $4,058  $3,706 
         

Noncash investing and financing activities:

        

Accrued property and equipment purchases

 $528  $614 

Accrued consideration in acquisition of business

 $-  $1,820 

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

 $952  $26 

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

 $3,243  $894 

 

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

 

 

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

 

 

1.

Organization and Basis of Presentation

 

Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer of water-related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources. See Note 13, “Segment Information” for detailed descriptions of these segments.

 

In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures stormwater and wastewater technology products; high-quality precast and reinforced concrete products; pump lift stations; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.

 

The Condensed Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.

 

The accompanying unaudited interim Condensed Consolidated Financial Statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial information. The financial information as of December 31, 2022 is derived from the audited Consolidated Financial Statements presented in the Company’s Annual Report on Form 10‑K for the year ended December 31, 2022 (“2022 Form 10‑K”). Certain information and footnote disclosures normally included in consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and the accounting standards for interim financial statements. In the opinion of management, the accompanying Condensed Consolidated Financial Statements include all adjustments necessary (which are of a normal and recurring nature) for the fair statement of the results of the interim periods presented. The Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto together with management’s discussion and analysis of financial condition and results of operations contained in the Company’s 2022 Form 10‑K.

 

Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the entire fiscal year ending December 31, 2023.

 

 

2.

Inventories

 

Inventories consist of the following (in thousands):

 

  

September 30, 2023

  

December 31, 2022

 
         

Raw materials

 $59,408  $47,978 

Work-in-process

  9,180   5,114 

Finished goods

  12,205   15,773 

Supplies

  2,300   2,164 

Total inventories

 $83,093  $71,029 

 

8

 

3.

Current Debt

 

The Interim Funding Agreement dated August 2, 2022 with Wells Fargo Equipment Finance, Inc. (“WFEF”), as amended January 23, 2023, March 15, 2023, July 21, 2023, and November 2, 2023 (together, the “IFA”), provides for aggregate interim funding advances up to $10.8 million of equipment purchased for a new reinforced concrete pipe mill, to be converted into a term loan upon final delivery and acceptance of the financed equipment. The IFA bore interest at the term Secured Overnight Finance Rate (“SOFR”) plus 1.75% through January 31, 2023 and the SOFR Average plus 1.75% from February 1, 2023 through November 1, 2023. Effective November 2, 2023, the IFA bears interest at the SOFR Average plus 2.00%. The IFA requires monthly payments of accrued interest and grants a security interest in the equipment to WFEF. Effective November 2, 2023, the IFA requires the Company to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (“EBITDA”) (as defined in the IFA) of at least $35 million for the four consecutive fiscal quarters most recently ended. As of September 30, 2023 and December 31, 2022, the outstanding balance of the IFA was $10.8 million, which is classified as a current liability since there is not a firm commitment for long-term debt financing.

 

 

4.

Credit Agreement

 

The Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021, the Second Amendment to Credit Agreement dated April 29, 2022, and the Third Amendment to Credit Agreement dated June 29, 2023 (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”), with an option for the Company to increase that amount by $50 million, subject to provisions of the Amended Credit Agreement. The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 29, 2028. The Company may prepay outstanding amounts at its discretion without penalty at any time, subject to applicable notice requirements.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and a minimum consolidated EBITDA (as defined in the Amended Credit Agreement) of at least $35 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will not sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of September 30, 2023.

 

The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.

 

Line of Credit (Revolving and Swingline Loans)

 

As of September 30, 2023 under the Amended Credit Agreement, the Company had $58.1 million of outstanding revolving loan borrowings, $1.1 million of outstanding letters of credit, and additional borrowing capacity of approximately $66 million. As of December 31, 2022 under the Amended Credit Agreement, the Company had $83.7 million of outstanding revolving loan borrowings and $1.1 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) Adjusted Term SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin; or (iii) Adjusted Daily Simple SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.35%, depending on the Company’s Consolidated Senior Leverage Ratio (as defined in the Amended Credit Agreement) and the interest rate option chosen. Interest on outstanding revolving loans is payable monthly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of September 30, 2023 and December 31, 2022, the weighted-average interest rate for outstanding borrowings was 7.40% and 6.07%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable monthly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.

 

 

5.

Fair Value Measurements

 

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date.

 

The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. These levels are: Level 1 (inputs are quoted prices in active markets for identical assets or liabilities); Level 2 (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level 3 (inputs are unobservable, with little or no market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.

 

The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):

 

  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of September 30, 2023

                

Financial assets:

                

Deferred compensation plan

 $3,605  $3,082  $523  $- 

Foreign currency forward contracts

  18   -   18   - 

Interest rate swaps

  657   -   657   - 

Total financial assets

 $4,280  $3,082  $1,198  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1

)

 $-  $(1

)

 $- 
                 

As of December 31, 2022

                

Financial assets:

                

Deferred compensation plan

 $3,587  $3,090  $497  $- 

Foreign currency forward contracts

  728   -   728   - 

Interest rate swaps

  862   -   862   - 

Total financial assets

 $5,177  $3,090  $2,087  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(80

)

 $-  $(80

)

 $- 

 

The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level 1 within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level 2 within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Condensed Consolidated Balance Sheets.

 

The foreign currency forward contracts and interest rate swaps are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level 2 within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. The foreign currency forward contracts and interest rate swaps are presented at their gross fair values. Foreign currency forward contract and interest rate swap assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Condensed Consolidated Balance Sheets.

 

The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, current debt, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.

 

 

6.

Derivative Instruments and Hedging Activities

 

In the normal course of business, the Company is exposed to interest rate and foreign currency exchange rate fluctuations. Consistent with the Company’s strategy for financial risk management, the Company has established a program that utilizes foreign currency forward contracts and interest rate swaps to offset the risks associated with the effects of these exposures.

 

For each derivative entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all derivatives to specific firm commitments or forecasted transactions and designating the derivatives as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the derivatives that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized gain (loss) on cash flow hedges on the Condensed Consolidated Statements of Comprehensive Income. If it is determined that a derivative is not highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that derivative prospectively.

 

As of September 30, 2023, the total notional amount of the foreign currency forward contracts was $6.9 million (CAD$9.3 million) and $1.1 million (EUR€1.1 million), which included $5.5 million (CAD$7.5 million) and $1.1 million (EUR€1.1 million) of foreign currency forward contracts not designated as cash flow hedges. As of December 31, 2022, the total notional amount of the foreign currency forward contracts was $17.1 million (CAD$23.2 million) and $1.1 million (EUR€1.1 million), which included $0.3 million (CAD$0.4 million) of foreign currency forward contracts not designated as cash flow hedges. As of September 30, 2023, the Company’s foreign currency forward contracts mature at various dates through April 2025 and are subject to an enforceable master netting arrangement.

 

The Company has entered into interest rate swaps which effectively convert a portion of its variable-rate debt to fixed-rate debt, and are designated as cash flow hedges. The Company receives floating interest payments monthly based on SOFR and pays a fixed rate of 1.941% to the counterparty on the total notional amount of $11.7 million and $26.7 million as of September 30, 2023 and December 31, 2022, respectively, which amortizes ratably on a monthly basis to zero by the April 2024 maturity date.

 

On August 9, 2022, the Company entered into an interest rate swap transaction which began April 3, 2023. The Company receives floating interest payments monthly based on the SOFR Average 30 day and pays a fixed rate of 2.96% to the counterparty on the total notional amount of $13.8 million as of September 30, 2023, which amortizes ratably on a monthly basis to zero by the April 2028 maturity date.

 

The following table summarizes the gains (losses) recognized on derivatives in the Condensed Consolidated Financial Statements (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Foreign currency forward contracts:

                

Net sales

 $77  $599  $(601

)

 $841 

Property and equipment

  (22

)

  32   (109

)

  (95

)

                 

Interest rate swaps:

                

Interest expense

  201   4   553   (78

)

Total

 $256  $635  $(157

)

 $668 

 

As of September 30, 2023, unrealized pretax gains on outstanding cash flow hedges in Accumulated other comprehensive loss was $0.7 million, of which approximately $0 and $0.4 million are expected to be reclassified to Net sales and Interest expense, respectively, within the next twelve months as a result of underlying hedged transactions also being recorded in these line items. See Note 11, “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract and interest rate swap gains and losses.

 

 

7.

Share-based Compensation

 

The Company has one active stock incentive plan for employees and directors, the 2022 Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, restricted stock units (“RSUs”), and performance share awards (“PSAs”). In addition, the Company has one inactive stock incentive plan, the 2007 Stock Incentive Plan, under which previously granted awards remain outstanding.

 

The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of RSUs and PSAs using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

The following table summarizes share-based compensation expense recorded (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Cost of sales

 $275  $474  $816  $822 

Selling, general, and administrative expense

  471   695   2,234   1,655 

Total

 $746  $1,169  $3,050  $2,477 

 

Restricted Stock Units and Performance Share Awards

 

The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares at specified times. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.

 

The following table summarizes the Company’s RSU and PSA activity:

 

  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2022

  200,924  $30.80 

RSUs and PSAs granted

  134,498   28.41 

Unvested RSUs and PSAs canceled

  (13,589

)

  30.82 

RSUs and PSAs vested (2)

  (95,442

)

  30.12 

Unvested RSUs and PSAs as of September 30, 2023

  226,391   29.66 

 

(1)

The number of PSAs disclosed in this table are at the target level of 100%.

 

 

(2)

For the PSAs vested on March 31, 2023, the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of 100%, as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the 2020-2022 performance period, 126% for the 2021-2022 performance period, and 132% for the 2022 performance period.

 

The unvested balance of RSUs and PSAs as of September 30, 2023 includes approximately 170,000 PSAs at the target level of 100%. The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.

 

Based on the estimated level of achievement of the performance targets associated with the PSAs as of September 30, 2023, unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $4.4 million, which is expected to be recognized over a weighted-average period of 1.7 years.

 

 

Stock Awards

 

For the nine months ended September 30, 2023 and 2022, stock awards of 15,904 shares and 11,380 shares, respectively, were granted to non-employee directors, which vested immediately upon issuance. The Company recorded compensation expense based on the weighted-average fair market value per share of the awards on the grant date of $29.51 in 2023 and $30.75 in 2022.

 

 

8.

Commitments and Contingencies

 

Portland Harbor Superfund Site

 

In December 2000, a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does not border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in December 2000, the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in February 2016, and the feasibility study in June 2016, which identified multiple remedial alternatives. In January 2017, the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion at net present value and 13 years to complete. The EPA has not yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and no further adjustment to the Condensed Consolidated Financial Statements has been recorded as of the date of this filing.

 

The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. No liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have not yet been determined.

 

Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section 107. The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, three federal agencies, and one state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In June 2014, the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has not assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.

 

In January 2017, the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in 2009, filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The case has been stayed until January 2025, and the Company does not have sufficient information at this time to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.

 

The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide no assurance that those policies will cover all of the costs which the Company may incur.

 

13

 

All Sites

 

The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations thereunder which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does not believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.

 

Other Contingencies and Legal Proceedings

 

From time to time, the Company is party to a variety of legal actions, including claims, suits, complaints, and investigations arising out of the ordinary course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does not cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is not presently a party to legal actions, the outcomes of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.

 

Commitments

 

As of September 30, 2023, the Company’s commitments include approximately $1.1 million remaining relating to its investment in the primary component of the new reinforced concrete pipe mill for which the Company has not yet received the equipment.

 

Guarantees

 

The Company has entered into certain letters of credit that total $1.1 million as of September 30, 2023. The letters of credit relate to workers’ compensation insurance.

 

 

9.

Revenue

 

The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct. The Company generally does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $(0.8) million for the three and nine months ended September 30, 2023 and $0.2 million and $(0.2) million for the three and nine months ended September 30, 2022, respectively.

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do not contain significant financing.

 

14

 

Disaggregation of Revenue

 

The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Over time (Engineered Steel Pressure Pipe)

 $80,493  $83,663  $221,294  $235,446 

Point in time (Precast Infrastructure and Engineered Systems)

  38,229   39,321   112,897   115,391 

Net sales

 $118,722  $122,984  $334,191  $350,837 

 

Contract Assets and Liabilities

 

Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing.

 

Contract liabilities represent advance billings on contracts, typically for steel. The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $13.5 million and $15.0 million during the three and nine months ended September 30, 2023, respectively and $2.8 million and $2.6 million during the three and nine months ended September 30, 2022, respectively.

 

Backlog

 

Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of September 30, 2023, backlog was $253 million. The Company expects to recognize approximately 27% of the remaining performance obligations in 2023, 44% in 2024, and the balance thereafter.

 

 

10.

Income Taxes

 

The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is no longer subject to United States Federal, state, or foreign income tax examinations for years before 2019.

 

The Company recorded income tax expense at an estimated effective income tax rate of 25.7% and 26.6% for the three and nine months ended September 30, 2023, respectively and 26.3% and 26.4% for the three and nine months ended September 30, 2022, respectively. The Company’s estimated effective income tax rates for the three and nine months ended September 30, 2023 and 2022 were primarily impacted by non-deductible permanent differences.

 

 

11.

Accumulated Other Comprehensive Loss

 

The following tables summarize changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:

 

  

Pension Liability Adjustment

  

Unrealized Gain (Loss) on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2022

 $(1,532

)

 $94  $649  $(789

)

                 

Other comprehensive income (loss) before reclassifications

  78   (115

)

  266   229 

Amounts reclassified from Accumulated other comprehensive loss

  10   17   (418

)

  (391

)

Net current period other comprehensive income (loss)

  88   (98

)

  (152

)

  (162

)

                 

Balances, September 30, 2023

 $(1,444

)

 $(4

)

 $497  $(951

)

 

  

Pension Liability Adjustment

  

Unrealized Loss on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2021

 $(1,487

)

 $(195

)

 $-  $(1,682

)

                 

Other comprehensive income (loss) before reclassifications

  61   (383

)

  602   280 

Amounts reclassified from Accumulated other comprehensive loss

  5   138   59   202 

Net current period other comprehensive income (loss)

  66   (245

)

  661   482 
                 

Balances, September 30, 2022

 $(1,421

)

 $(440

)

 $661  $(1,200

)

 

16

 

The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Condensed Consolidated Statements of Operations (in thousands):

 

  

Amount reclassified from

Accumulated Other Comprehensive Loss

 

Affected line item in

the Condensed

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

Consolidated Statements of

  

2023

  

2022

  

2023

  

2022

 

Operations

                  

Pension liability adjustment:

                 

Net periodic pension cost:

                 

Service cost

 $(4

)

 $(2

)

 $(10

)

 $(5

)

Cost of sales

   (4

)

  (2

)

  (10

)

  (5

)

Net of tax

                  

Unrealized gain (loss) on foreign currency forward contracts:

                 

Gain (loss) on cash flow hedges

  10   35   87   (56

)

Net sales

Loss on cash flow hedges

  (22

)

  -   (109

)

  (127

)

Property and equipment

Associated income tax benefit

  3   22   5   45 

Income tax expense

   (9

)

  57   (17

)

  (138

)

Net of tax

                  

Unrealized gain (loss) on interest rate swaps:

                 

Gain (loss) on cash flow hedges

  201   4   553   (78

)

Interest expense

Associated income tax (expense) benefit

  (49

)

  (1

)

  (135

)

  19 

Income tax expense

   152   3   418   (59

)

Net of tax

                  

Total reclassifications for the period

 $139  $58  $391  $(202

)

 

 

 

12.

Net Income per Share

 

Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all dilutive potential shares of common stock, including RSUs and PSAs, assumed to be outstanding during the period using the treasury stock method. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.

 

17

 

Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net income

 $5,818  $9,956  $15,628  $23,188 
                 

Basic weighted-average common shares outstanding

  10,014   9,927   9,985   9,909 

Effect of potentially dilutive common shares (1)

  93   83   103   79 

Diluted weighted-average common shares outstanding

  10,107   10,010   10,088   9,988 
                 

Net income per common share:

                

Basic

 $0.58  $1.00  $1.57  $2.34 

Diluted

 $0.58  $0.99  $1.55  $2.32 

 

 

(1)

There were no antidilutive shares for the three and nine months ended September 30, 2023 or 2022.

 

 

13.

Segment Information

 

The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does not allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.

 

The Company’s Engineered Steel Pressure Pipe segment (SPP) manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, seismic resiliency, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto and Tracy, California; Parkersburg, West Virginia; Saginaw, Texas; St. Louis, Missouri; and San Luis Río Colorado, Mexico.

 

The Company’s Precast Infrastructure and Engineered Systems segment (Precast) manufactures stormwater and wastewater technology products, high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, and catch basins, pump lift stations, oil water separators, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Dallas, Houston, and San Antonio, Texas; and Orem, Salt Lake City, and St. George, Utah.

 

18

 

The following table disaggregates revenue and gross profit based on the Company’s reportable segments (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 

Net sales:

                

Engineered Steel Pressure Pipe

 $80,493  $83,663  $221,294  $235,446 

Precast Infrastructure and Engineered Systems

  38,229   39,321   112,897   115,391 

Total

 $118,722  $122,984  $334,191  $350,837 
                 

Gross profit:

                

Engineered Steel Pressure Pipe

 $10,911  $14,196  $31,264  $32,490 

Precast Infrastructure and Engineered Systems

  8,383   10,922   27,088   31,494 

Total

 $19,294  $25,118  $58,352  $63,984 

 

 

14.

Recent Accounting and Reporting Developments

 

There have been no developments to recently issued accounting standards, including the expected dates of adoption and estimated effects on the Company’s Condensed Consolidated Financial Statements and disclosures in Notes to Condensed Consolidated Financial Statements, from those disclosed in the Company’s 2022 Form 10‑K, except for the following.

 

Accounting Changes

 

In October 2021, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2021‑08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU 2021‑08”) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic 606, “Revenue from Contracts with Customers,” as if it had originated the contracts. The Company adopted ASU 2021‑08 on January 1, 2023 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

Recent Accounting Standards

 

In March 2023, the FASB issued ASU No. 2023‑01 “Leases (Topic 842): Common Control Arrangements” (“ASU 2023‑01”) which requires leasehold improvements associated with common control leases be (1) amortized by the lessee over the useful life of the leasehold improvements to the common control group as long as the lessee controls the use of the underlying asset through a lease and (2) accounted for as a transfer between entities under common control through an adjustment to equity if, and when, the lessee no longer controls the use of the underlying asset. ASU 2023‑01 is effective for the Company beginning January 1, 2024, including interim periods in 2024, with early adoption permitted. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

In October 2023, the FASB issued ASU No. 2023‑06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023‑06”) which incorporates certain SEC disclosure requirements into the Accounting Standards Codification. The effective date for each amendment in ASU 2023‑06 will be the effective date of the removal of the disclosure requirement from Regulation S‑X or Regulation S‑K, with early adoption prohibited. The amendments should be applied prospectively. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

 

15.

Subsequent Event

 

Share Repurchase Program

 

On November 2, 2023, the Company announced its authorization of a share repurchase program of up to $30 million of its outstanding common stock. The program does not commit to any particular timing or quantity of purchases, and the program may be suspended or discontinued at any time. Under the program, shares may be purchased in open market, including through Rule 10b5‑1 trading plans, or in privately negotiated transactions. Any repurchases will be subject to the Company’s liquidity, including availability of borrowings and covenant compliance under the Amended Credit Agreement, and other capital allocation priorities of the business.

 

 

Item 2. Managements Discussion and Analysis of Financial Condition and Results of Operations

 

Forward-Looking Statements

 

This Management’s Discussion and Analysis of Financial Condition and Results of Operations and other sections of this Quarterly Report on Form 10‑Q for the quarter ended September 30, 2023 (“2023 Q3 Form 10‑Q”) contain “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995 and Section 21E of the Securities Exchange Act of 1934, as amended, that are based on current expectations, estimates, and projections about our business, management’s beliefs, and assumptions made by management. Words such as “expects,” “anticipates,” “intends,” “plans,” “believes,” “seeks,” “estimates,” “forecasts,” “should,” “could,” and variations of such words and similar expressions are intended to identify such forward-looking statements. These statements are not guarantees of future performance and involve risks and uncertainties that are difficult to predict. Therefore, actual outcomes and results may differ materially from what is expressed or forecasted in such forward-looking statements as a result of a variety of important factors. While it is impossible to identify all such factors, those that could cause actual results to differ materially from those estimated by us include:

 

 

changes in demand and market prices for our products;

 

product mix;

 

bidding activity and order modifications or cancelations;

 

timing of customer orders and deliveries;

 

production schedules;

 

price and availability of raw materials;

 

excess or shortage of production capacity;

 

international trade policy and regulations;

 

changes in tariffs and duties imposed on imports and exports and related impacts on us;

 

economic uncertainty and associated trends in macroeconomic conditions, including potential recession, inflation, and the state of the housing market;

 

interest rate risk and changes in market interest rates, including the impact on our customers and related demand for our products;

 

our ability to identify and complete internal initiatives and/or acquisitions in order to grow our business;

 

our ability to effectively integrate Park Environmental Equipment, LLC (“ParkUSA”) and other acquisitions into our business and operations and achieve significant administrative and operational cost synergies and accretion to financial results;

 

effects of security breaches, computer viruses, and cybersecurity incidents;

 

impacts of U.S. tax reform legislation on our results of operations;

 

adequacy of our insurance coverage;

 

supply chain challenges;

 

labor shortages;

 

ongoing military conflicts in areas such as Ukraine and Israel, and related consequences;

 

operating problems at our manufacturing operations including fires, explosions, inclement weather, and floods and other natural disasters;

 

material weaknesses in our internal control over financial reporting and our ability to remediate such weaknesses;

 

impacts of pandemics, epidemics, or other public health emergencies; and

 

other risks discussed in Part I — Item 1A. “Risk Factors” of our Annual Report on Form 10‑K for the year ended December 31, 2022 (“2022 Form 10‑K”) and from time to time in our other Securities and Exchange Commission (the “SEC”) filings and reports.

 

Such forward-looking statements speak only as of the date on which they are made, and we do not undertake any obligation to update any forward-looking statement to reflect events or circumstances after the date of this 2023 Q3 Form 10‑Q. If we do update or correct one or more forward-looking statements, investors and others should not conclude that we will make additional updates or corrections with respect thereto or with respect to other forward-looking statements.

 

 

Overview

 

Northwest Pipe Company is a leading manufacturer of water-related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). For detailed descriptions of these segments, see Note 13, “Segment Information” of the Notes to Condensed Consolidated Financial Statements in Part I – Item 1. “Financial Statements” of this 2023 Q3 Form 10‑Q.

 

In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, we manufacture stormwater and wastewater technology products; high-quality precast and reinforced concrete products; pump lift stations; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, we provide solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. Our diverse team is committed to safety, quality, and innovation while demonstrating our core values of accountability, commitment, and teamwork. We are headquartered in Vancouver, Washington, and have 13 manufacturing facilities across North America.

 

Our water infrastructure products are sold generally to installation contractors, who include our products in their bids to federal, state, and municipal agencies, privately-owned water companies, or developers for specific projects. We believe our sales are substantially driven by spending on urban growth and new water infrastructure with a recent trend towards spending on water infrastructure replacement, repair, and upgrade. Within the total range of products, our steel pipe tends to fit the larger-diameter, higher-pressure pipeline applications, while our precast concrete products mainly serve stormwater and sanitary sewer systems.

 

Our Current Economic Environment

 

Demand for our Precast products is generally influenced by general economic conditions such as housing starts, population growth, interest rates, and rates of inflation. According to the United States Census Bureau, privately-owned housing starts were at a seasonally adjusted annual rate of 1.4 million in September 2023 and December 2022, and the population of the United States is expected to increase by approximately 2 million people in 2023. Additionally, it is now believed that recent increases in the federal funds rate by the Federal Reserve will remain elevated for the medium-term which is expected to temper demand for housing. The impacts from the strain on the housing market to this point have been muted by the impacts of recent labor and commodity shortages currently limiting the supply of new homes.

 

Our SPP projects are often planned for many years in advance, as we operate that business with a long-term time horizon for which the projects are sometimes part of 50 year build-out plans. Long-term demand for water infrastructure projects in the United States appears strong and we have experienced an improvement in recent short-term demand for our engineered steel pressure pipe. Medium-term demand prospects could be negatively impacted by recessionary economic forces, which could be softened by the increased funding expedited by the Bipartisan Infrastructure Deal (Infrastructure Investment and Jobs Act) and the Inflation Reduction Act.

 

Purchased steel typically represents approximately 25% to 35% of cost of sales, and higher steel costs generally result in higher selling prices and revenue; however, volatile fluctuations in steel markets can affect our business. SPP contracts are generally quoted on a fixed-price basis, and volatile steel markets can result in selling prices that no longer correlate to the cost available at the time of steel purchase. Steel markets have remained volatile through 2023, with prices that increased significantly in the first half of the year but tempered down in the third quarter.

 

Economic uncertainty, including the impacts of raw material shortages, inflationary pressures, potential risks of a recession, and new disruptions in the financial markets could have an adverse effect on our business. The extent of the impact of these environmental forces on our business will depend on future developments, which cannot be predicted.

 

Implementation of Enterprise Resource Planning (ERP) System at ParkUSA

 

In the third quarter of 2022, we implemented our ERP system at the ParkUSA manufacturing facilities. Due primarily to an underinvestment in systems preceding our acquisition, and vastly broader product offerings, this implementation has caused, and may continue to cause, disruption and inefficiencies in ParkUSA’s operations. We currently expect these disruptions to be limited to physical inventory counts, which have been required at greater frequency than desired in order to ensure the accuracy of our inventory quantities. Additionally, we have hired consultants to assist with improving the ERP system, business processes, and workflow design.

 

 

Results of Operations

 

The following tables set forth, for the periods indicated, certain financial information regarding costs and expenses expressed in dollars (in thousands) and as a percentage of total net sales.

 

   

Three Months Ended September 30, 2023

   

Three Months Ended September 30, 2022

 
   

$

   

% of Net Sales

   

$

   

% of Net Sales

 
                                 

Net sales:

                               

Engineered Steel Pressure Pipe

  $ 80,493       67.8

%

  $ 83,663       68.0

%

Precast Infrastructure and Engineered Systems

    38,229       32.2       39,321       32.0  

Total net sales

    118,722       100.0       122,984       100.0  

Cost of sales:

                               

Engineered Steel Pressure Pipe

    69,582       58.6       69,467       56.5  

Precast Infrastructure and Engineered Systems

    29,846       25.1       28,399       23.1  

Total cost of sales

    99,428       83.7       97,866       79.6  

Gross profit:

                               

Engineered Steel Pressure Pipe

    10,911       9.2       14,196       11.5  

Precast Infrastructure and Engineered Systems

    8,383       7.1       10,922       8.9  

Total gross profit

    19,294       16.3       25,118       20.4  

Selling, general, and administrative expense

    10,237       8.7       10,654       8.6  

Operating income

    9,057       7.6       14,464       11.8  

Other income (expense)

    (61

)

    -       11       -  

Interest expense

    (1,162

)

    (1.0

)

    (964

)

    (0.8

)

Income before income taxes

    7,834       6.6       13,511       11.0  

Income tax expense

    2,016       1.7       3,555       2.9  

Net income

  $ 5,818       4.9

%

  $ 9,956       8.1

%

 

   

Nine Months Ended September 30, 2023

   

Nine Months Ended September 30, 2022

 
   

$

   

% of Net Sales

   

$

   

% of Net Sales

 
                                 

Net sales:

                               

Engineered Steel Pressure Pipe

  $ 221,294       66.2

%

  $ 235,446       67.1

%

Precast Infrastructure and Engineered Systems

    112,897       33.8       115,391       32.9  

Total net sales

    334,191       100.0       350,837       100.0  

Cost of sales:

                               

Engineered Steel Pressure Pipe

    190,030       56.8       202,956       57.9  

Precast Infrastructure and Engineered Systems

    85,809       25.7       83,897       23.9  

Total cost of sales

    275,839       82.5       286,853       81.8  

Gross profit:

                               

Engineered Steel Pressure Pipe

    31,264       9.4       32,490       9.2  

Precast Infrastructure and Engineered Systems

    27,088       8.1       31,494       9.0  

Total gross profit

    58,352       17.5       63,984       18.2  

Selling, general, and administrative expense

    33,119       9.9       30,149       8.6  

Operating income

    25,233       7.6       33,835       9.6  

Other income (expense)

    (224

)

    (0.1

)

    56       -  

Interest expense

    (3,722

)

    (1.1

)

    (2,393

)

    (0.6

)

Income before income taxes

    21,287       6.4       31,498       9.0  

Income tax expense

    5,659       1.7       8,310       2.4  

Net income

  $ 15,628       4.7

%

  $ 23,188       6.6

%

 

 

Three and Nine Months Ended September 30, 2023 Compared to Three and Nine Months Ended September 30, 2022

 

Net sales. Net sales decreased 3.5% to $118.7 million in the third quarter of 2023 compared to $123.0 million in the third quarter of 2022 and decreased 4.7% to $334.2 million in the first nine months of 2023 compared to $350.8 million in the first nine months of 2022.

 

SPP net sales were $80.5 million in the third quarter of 2023 compared to $83.7 million in the third quarter of 2022 and $221.3 million in the first nine months of 2023 compared to $235.4 million in the first nine months of 2022. The 3.8% decrease in the third quarter of 2023 compared to the third quarter of 2022 was driven by a 13% decrease in tons produced resulting primarily from changes in project timing, partially offset by an 11% increase in selling price per ton primarily due to product mix. The 6.0% decrease in the first nine months of 2023 compared to the first nine months of 2022 was driven by an 8% decrease in tons produced resulting primarily from changes in project timing, partially offset by a 3% increase in selling price per ton primarily due to product mix. Bidding activity, backlog, and production levels may vary significantly from period to period affecting sales volumes.

 

Precast net sales were $38.2 million in the third quarter of 2023 compared to $39.3 million in the third quarter of 2022 and $112.9 million in the first nine months of 2023 compared to $115.4 million in the first nine months of 2022. The 2.8% decrease in the third quarter of 2023 compared to the third quarter of 2022 was driven by an 8% decrease in selling prices due to lower demand, partially offset by a 6% increase in volume shipped due to changes in product mix. The 2.2% decrease in the first nine months of 2023 compared to the first nine months of 2022 was driven by a 6% decrease in volume shipped primarily due to lower demand, partially offset by a 4% increase in selling prices due to increased materials costs.

 

Gross profit. Gross profit decreased 23.2% to $19.3 million (16.3% of net sales) in the third quarter of 2023 compared to $25.1 million (20.4% of net sales) in the third quarter of 2022 and decreased 8.8% to $58.4 million (17.5% of net sales) in the first nine months of 2023 compared to $64.0 million (18.2% of net sales) in the first nine months of 2022.

 

SPP gross profit decreased 23.1% to $10.9 million (13.6% of SPP net sales) in the third quarter of 2023 compared to $14.2 million (17.0% of SPP net sales) in the third quarter of 2022 primarily due to customer-driven contract changes and project scope and timing changes. SPP gross profit decreased 3.8% to $31.3 million (14.1% of SPP net sales) in the first nine months of 2023 compared to $32.5 million (13.8% of SPP net sales) in the first nine months of 2022 primarily due to changes in product mix and project timing.

 

Precast gross profit decreased 23.2% to $8.4 million (21.9% of Precast net sales) in the third quarter of 2023 compared to $10.9 million (27.8% of Precast net sales) in the third quarter of 2022 primarily due to changes in product mix. Precast gross profit decreased 14.0% to $27.1 million (24.0% of Precast net sales) in the first nine months of 2023 compared to $31.5 million (27.3% of Precast net sales) in the first nine months of 2022 primarily due to decreased volume and changes in product mix.

 

Selling, general, and administrative expense. Selling, general, and administrative expense decreased 3.9% to $10.2 million (8.7% of net sales) in the third quarter of 2023 compared to $10.7 million (8.6% of net sales) in the third quarter of 2022 and increased 9.9% to $33.1 million (9.9% of net sales) in the first nine months of 2023 compared to $30.1 million (8.6% of net sales) in the first nine months of 2022. The decrease in the third quarter of 2023 compared to the third quarter of 2022 was primarily due to $2.0 million in lower incentive compensation expense partially offset by $0.9 million in higher professional fees including ERP implementation costs and $0.7 million in higher base compensation and benefits expense. The increase in the first nine months of 2023 compared to the first nine months of 2022 was primarily due to $2.7 million in higher base compensation and benefits expense, $1.3 million in higher professional fees including ERP implementation costs, and $0.8 million in higher administrative expense, partially offset by $1.5 million in lower incentive compensation expense.

 

Income taxes. Income tax expense was $2.0 million in the third quarter of 2023 (an effective income tax rate of 25.7%) compared to $3.6 million in the third quarter of 2022 (an effective income tax rate of 26.3%) and was $5.7 million in the first nine months of 2023 (an effective income tax rate of 26.6%) compared to $8.3 million in the first nine months of 2022 (an effective income tax rate of 26.4%). The estimated effective income tax rates for the third quarters and first nine months of 2023 and 2022 were impacted by non-deductible permanent differences. The estimated effective income tax rate can change significantly depending on the relationship of permanent income tax differences to estimated pre-tax income or loss. Accordingly, the comparison of estimated effective income tax rates between periods is not meaningful in all situations.

 

 

Liquidity and Capital Resources

 

Sources and Uses of Cash

 

Our principal sources of liquidity generally include operating cash flows and the Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021, the Second Amendment to Credit Agreement dated April 29, 2022, and the Third Amendment to Credit Agreement dated June 29, 2023 (together, the “Amended Credit Agreement”). From time to time our long-term capital needs may be met through the issuance of additional debt or equity. Our principal uses of liquidity generally include capital expenditures, working capital, organic growth initiatives, acquisitions, and debt service. Information regarding our cash flows for the nine months ended September 30, 2023 and 2022 are presented in our Condensed Consolidated Statements of Cash Flows contained in Part I – Item 1. “Financial Statements” of this 2023 Q3 Form 10‑Q, and are further discussed below.

 

As of September 30, 2023, our working capital (current assets minus current liabilities) was $178.3 million compared to $187.9 million as of December 31, 2022. Cash and cash equivalents totaled $4.1 million and $3.7 million as of September 30, 2023 and December 31, 2022, respectively.

 

Fluctuations in SPP working capital accounts result from timing differences between production, shipment, invoicing, and collection, as well as changes in levels of production and costs of materials. We typically have a relatively large investment in working capital, as we generally pay for materials, labor, and other production costs in the initial stages of a project, while payments from our customers are generally received after finished product is delivered. A portion of our revenues are recognized over time as the manufacturing process progresses; therefore, cash receipts typically occur subsequent to when revenue is recognized and the elapsed time between when revenue is recorded and when cash is received can be significant. As such, our payment cycle is a significantly shorter interval than our collection cycle, although the effect of this difference in the cycles may vary by project, and from period to period.

 

As of September 30, 2023, we had $58.1 million of outstanding revolving loan borrowings, $10.8 million of outstanding current debt, $91.4 million of operating lease liabilities, and $5.7 million of finance lease liabilities. As of December 31, 2022, we had $83.7 million of outstanding revolving loan borrowings, $10.8 million of outstanding current debt, $94.2 million of operating lease liabilities, and $3.0 million of finance lease liabilities.

 

Net Cash Provided by Operating Activities

 

Net cash provided by operating activities was $44.4 million in the first nine months of 2023 compared to $25.5 million in the first nine months of 2022. Net income, adjusted for non-cash items, provided $32.0 million of operating cash flow in the first nine months of 2023 compared to $38.0 million of operating cash flow in the first nine months of 2022. The net change in working capital provided (used) $12.4 million of operating cash flow in the first nine months of 2023 compared to $(12.5) million of operating cash flow in the first nine months of 2022.

 

Net Cash Used in Investing Activities

 

Net cash used in investing activities was $15.9 million in the first nine months of 2023 compared to $12.1 million in the first nine months of 2022. Capital expenditures were $13.2 million in the first nine months of 2023 compared to $11.8 million in the first nine months of 2022, which was primarily for standard capital replacement. We currently expect capital expenditures in 2023 to be approximately $18 million to $21 million, which includes approximately $4 million of investment in our new reinforced concrete pipe mill, and associated ancillary equipment, and the remainder primarily for standard capital replacement. The $2.7 million payment of the working capital adjustment for the 2021 acquisition of ParkUSA was made in the second quarter of 2023.

 

Net Cash Used in Financing Activities

 

Net cash used in financing activities was $28.1 million in the first nine months of 2023 compared to $12.7 million in the first nine months of 2022. Net repayments on the line of credit were $25.6 million in the first nine months of 2023 compared to $14.9 million in the first nine months of 2022.

 

 

We anticipate that our existing cash and cash equivalents, cash flows expected to be generated by operations, and additional borrowing capacity under the Amended Credit Agreement and other loans will be adequate to fund our working capital, debt service, capital expenditure requirements, and share repurchases for the foreseeable future. To the extent necessary, we may also satisfy capital requirements through additional bank borrowings, senior notes, term notes, subordinated debt, and finance and operating leases, if such resources are available on satisfactory terms. We have from time to time evaluated and continue to evaluate opportunities for acquisitions and expansion. Any such transactions, if consummated, may necessitate additional bank borrowings or other sources of funding.

 

On November 3, 2020, our shelf registration statement on Form S‑3 (Registration No. 333‑249637) covering the potential future sale of up to $150 million of our equity and/or debt securities or combinations thereof, was declared effective by the SEC. In accordance with Rule 415(a)(5), this registration statement expired on November 3, 2023. We anticipate filing a new shelf registration statement on Form S‑3 in the near future, and once effective, this shelf registration statement will provide another potential source of capital, in addition to other alternatives already in place. We cannot be certain that funding will be available on favorable terms or available at all. To the extent that we raise additional funds by issuing equity securities, our shareholders may experience significant dilution. As of the date of this 2023 Q3 Form 10‑Q, we have not yet sold any securities under this registration statement, nor do we have an obligation to do so. Please refer to the factors discussed in Part I – Item 1A. “Risk Factors” in our 2022 Form 10‑K.

 

On September 2, 2022, we entered into an Open Market Sale Agreement (the “At-the-Market Offering”) with Jefferies LLC (“Jefferies”) which provided for the issuance and sale of shares of our common stock, par value $0.01 per share, having aggregate offering sales proceeds of up to $50 million from time to time through Jefferies as our sales agent. On October 30, 2023, we provided written notice terminating the Open Market Sale Agreement in accordance with its terms. No proceeds were raised under the At-the-Market Offering during the nine months ended September 30, 2023.

 

On November 2, 2023, we announced our authorization of a share repurchase program of up to $30 million of our outstanding common stock. The program does not commit to any particular timing or quantity of purchases, and the program may be suspended or discontinued at any time. Under the program, shares may be purchased in open market, including through Rule 10b5‑1 trading plans, or in privately negotiated transactions. Any repurchases will be subject to our liquidity, including availability of borrowings and covenant compliance under our Amended Credit Agreement, and other capital allocation priorities of the business. As of the date of this 2023 Q3 Form 10‑Q, we have not yet repurchased any securities under this program, nor do we have an obligation to do so.

 

Current Debt

 

The Interim Funding Agreement dated August 2, 2022 with Wells Fargo Equipment Finance, Inc. (“WFEF”), as amended January 23, 2023, March 15, 2023, July 21, 2023, and November 2, 2023 (together, the “IFA”), provides for aggregate interim funding advances up to $10.8 million of equipment purchased for a new reinforced concrete pipe mill, to be converted into a term loan upon final delivery and acceptance of the financed equipment. The IFA bore interest at the term Secured Overnight Finance Rate (“SOFR”) plus 1.75% through January 31, 2023 and the SOFR Average plus 1.75% from February 1, 2023 through November 1, 2023. Effective November 2, 2023, the IFA bears interest at the SOFR Average plus 2.00%. The IFA requires monthly payments of accrued interest and grants a security interest in the equipment to WFEF. Effective November 2, 2023, the IFA requires us to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and to maintain a minimum consolidated earnings before interest, taxes, depreciation, and amortization (“EBITDA”) (as defined in the IFA) of at least $35 million for the four consecutive fiscal quarters most recently ended. As of September 30, 2023, the outstanding balance of the IFA was $10.8 million, which is classified as a current liability since there is not a firm commitment for long-term debt financing.

 

Credit Agreement

 

The Amended Credit Agreement provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”), with an option for us to increase that amount by $50 million, subject to provisions of the Amended Credit Agreement. The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 29, 2028. We may prepay outstanding amounts at our discretion without penalty at any time, subject to applicable notice requirements. As of September 30, 2023 under the Amended Credit Agreement, we had $58.1 million of outstanding revolving loan borrowings, $1.1 million of outstanding letters of credit, and additional borrowing capacity of approximately $66 million.

 

 

Revolving loans under the Amended Credit Agreement bear interest at rates related to, at our option and subject to the provisions of the Amended Credit Agreement, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) Adjusted Term SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin; or (iii) Adjusted Daily Simple SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.35%, depending on our Consolidated Senior Leverage Ratio (as defined in the Amended Credit Agreement) and the interest rate option chosen. Interest on outstanding revolving loans is payable monthly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable monthly in arrears. We are also obligated to pay additional fees customary for credit facilities of this size and type.

 

The letters of credit outstanding as of September 30, 2023 relate to workers’ compensation insurance. Based on the nature of these arrangements and our historical experience, we do not expect to make any material payments under these arrangements.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires us to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and a minimum consolidated EBITDA (as defined in the Amended Credit Agreement) of at least $35 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, we have also agreed that we will not sell, assign, or otherwise dispose or encumber, any of our owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. We were in compliance with our financial covenants as of September 30, 2023, and expect to continue to be in compliance in the near term.

 

Our obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of our and our subsidiaries’ assets.

 

Recent Accounting Pronouncements

 

For a description of recent accounting pronouncements affecting our company, including the dates of adoption and estimated effects on financial position, results of operations, and cash flows, see Note 14, “Recent Accounting and Reporting Developments” of the Notes to Condensed Consolidated Financial Statements in Part I – Item 1. “Financial Statements” of this 2023 Q3 Form 10‑Q.

 

Critical Accounting Estimates

 

The discussion and analysis of our financial condition and results of operations are based upon our Condensed Consolidated Financial Statements included in Part I – Item 1. “Financial Statements” of this 2023 Q3 Form 10‑Q, which have been prepared in accordance with accounting principles generally accepted in the United States of America. The preparation of our Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues, and expenses, and disclosure of contingent assets and liabilities. We base our estimates on historical experience and on various other assumptions that are believed to be reasonable under the circumstances. On an ongoing basis, we evaluate all of our estimates, including those related to revenue recognition, business combinations, inventories, property and equipment, including depreciation and valuation, goodwill, intangible assets, including amortization, share-based compensation, income taxes, allowance for doubtful accounts, and litigation and other contingencies. Actual results may differ from these estimates under different assumptions or conditions.

 

There have been no significant changes in our critical accounting estimates during the nine months ended September 30, 2023 as compared to the critical accounting estimates disclosed in our 2022 Form 10‑K.

 

 

Item 3. Quantitative and Qualitative Disclosures About Market Risk

 

For a discussion of our market risk associated with commodity prices, interest rates, and foreign currency exchange rates, see Part II – Item 7A. “Quantitative and Qualitative Disclosures About Market Risk” in our 2022 Form 10‑K.

 

 

Item 4. Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Disclosure controls and procedures (as defined in Rules 13a‑15(e) and 15d‑15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”)) are designed to provide reasonable assurance that information required to be disclosed in reports we file or submit under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the rules and forms of the Securities and Exchange Commission (the “SEC”) and that such information is accumulated and communicated to our management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), as appropriate, to allow timely decisions regarding required disclosures.

 

In connection with the preparation of this Quarterly Report on Form 10‑Q for the quarter ended September 30, 2023, our management, under the supervision and with the participation of our CEO and CFO, evaluated the effectiveness of the design and operation of our disclosure controls and procedures as of September 30, 2023. Based on their evaluation, as of September 30, 2023, our CEO and CFO have concluded that our disclosure controls and procedures (as defined in Rules 13a‑15(e) and 15d‑15(e) under the Exchange Act) were not effective due to the previously reported material weakness in our internal control over financial reporting.

 

Previously Reported Material Weakness

 

As previously reported in Part II, Item 9A. “Controls and Procedures” of our Annual Report on Form 10‑K for the year ended December 31, 2022, subsequent to our acquisition of Park Environmental Equipment, LLC (“ParkUSA”), a privately held company, we instituted new internal controls, processes and procedures, and we converted ParkUSA to our enterprise resource planning (“ERP”) system. We have identified control deficiencies related to that system implementation project. Specifically, we did not exercise sufficient oversight, design effective controls to ensure completeness of the data conversion, or conduct sufficient testing to ensure the system would operate effectively. Additionally, we were unable to implement and evidence compensating business controls specific to ParkUSA’s sales transactions and cost of sales transactions. As a result, these business process control deficiencies, when combined with the ERP implementation control deficiencies, create a reasonable possibility that a material misstatement to the consolidated financial statements will not be prevented or detected on a timely basis. The material weakness did not result in any restatements of consolidated financial statements previously reported by us, and there were no changes in previously released financial results.

 

Remediation

 

We have taken, and continue to take, steps to remediate the control deficiencies contributing to the material weakness described above. These remediation steps, which are ongoing, have centered primarily on employee training in addition to launching our project to improve the ParkUSA business processes, which will include the assistance of external consultants. We will continue to report regularly to our Audit Committee on the progress and results of our remediation plan, and we may take additional measures to address these control deficiencies, or we may modify certain of the remediation measures described above.

 

Management is committed to taking the necessary steps to ensure that our internal control over financial reporting is designed and operating effectively. We intend to remediate this material weakness as soon as possible and believe the measures described above will do so. This material weakness will not be considered remediated until the applicable controls operate for a sufficient period of time and management has concluded through testing that the controls are operating effectively. We anticipate that the remediation will be completed during 2023.

 

Changes in Internal Control over Financial Reporting

 

Except for the remediation activities described above, there were no significant changes in our internal control over financial reporting that occurred during the quarter ended September 30, 2023 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

 

Part II  OTHER INFORMATION

 

Item 1. Legal Proceedings

 

We are party to a variety of legal actions arising out of the ordinary course of business. Plaintiffs occasionally seek punitive or exemplary damages. We do not believe that such normal and routine litigation will have a material impact on our consolidated financial results. We are also involved in other kinds of legal actions, some of which assert or may assert claims or seek to impose fines, penalties, and other costs in substantial amounts. See Note 8, “Commitments and Contingencies” of the Notes to Condensed Consolidated Financial Statements in Part I – Item 1. “Financial Statements” of this 2023 Q3 Form 10‑Q.

 

 

Item 1A. Risk Factors

 

In addition to the other information set forth in this 2023 Q3 Form 10‑Q, the factors discussed in Part I – Item 1A. “Risk Factors” in our 2022 Form 10‑K and any subsequently filed quarterly reports on Form 10‑Q could materially affect our business, financial condition, or operating results. The risks described in our 2022 Form 10‑K and subsequent Form 10‑Q’s are not the only risks facing us. There are additional risks and uncertainties not currently known to us or that we currently deem to be immaterial, that may also materially adversely affect our business, financial condition, or operating results.

 

 

Item 5. Other Information

 

On October 30, 2023, we provided written notice to Jefferies terminating the Open Market Sale Agreement in accordance with the terms. This termination will become effective on November 13, 2023.

 

Neither the Company or any of the Company’s directors or officers adopted, modified, or terminated a Rule 10b5‑1 trading arrangement or a non-Rule 10b5‑1 trading arrangement during the quarter ended September 30, 2023, as such terms are defined under Item 408(a) of Regulation S‑K.

 

 

Item 6. Exhibits

 

(a) The exhibits filed as part of this 2023 Q3 Form 10‑Q are listed below:

 

Exhibit

Number

 

Description

     

10.1

 

Third Amendment to Credit Agreement dated as of June 29, 2023, by and among Northwest Pipe Company, NWPC, LLC, Geneva Pipe and Precast Company, Park Environmental Equipment, LLC, certain other subsidiaries of Northwest Pipe Company, and Wells Fargo Bank National Association, incorporated by reference to the Company’s Current Report on Form 8‑K, as filed with the Securities and Exchange Commission on July 3, 2023*

     

31.1

 

Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

     

31.2

 

Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

     

32.1

 

Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

     

32.2

 

Certification Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

     

101.INS

 

Inline XBRL Instance Document

     

101.SCH

 

Inline XBRL Taxonomy Extension Schema Document

     

101.CAL

 

Inline XBRL Taxonomy Extension Calculation Document

     

101.DEF

 

Inline XBRL Taxonomy 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)

 

*

Schedules and similar attachments to this exhibit have been omitted pursuant to Item 601(a)(5) to Regulation S‑K. The Registrant will furnish supplementally a copy of any omitted schedule or similar attachment to the Securities and Exchange Commission request.

 

 

SIGNATURES

 

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

 

Dated: November 3, 2023

 

 

NORTHWEST PIPE COMPANY

   
 

By: 

/s/ Scott Montross

     
   

Scott Montross

   

Director, President, and Chief Executive Officer

   

(principal executive officer)

     
 

By: 

/s/ Aaron Wilkins

     
   

Aaron Wilkins

   

Senior Vice President, Chief Financial Officer, and Corporate Secretary

   

(principal financial and accounting officer)

 

 

31
EX-31.1 2 ex_582319.htm EXHIBIT 31.1

Exhibit 31.1

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Scott Montross, certify that:

 

 

1.

I have reviewed this Quarterly Report on Form 10‑Q of Northwest Pipe Company;

 

 

2.

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

 

 

3.

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

 

 

4.

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

 

 

a.

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

 

 

b.

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

 

 

c.

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

 

 

d.

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

 

 

5.

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

 

 

a.

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

 

 

b.

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

 

 

Date: November 3, 2023

By:

/s/ Scott Montross

   

Scott Montross

   

Director, President, and Chief Executive Officer

   

(principal executive officer)

 

 

 
EX-31.2 3 ex_582320.htm EXHIBIT 31.2

Exhibit 31.2

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Aaron Wilkins, certify that:

 

 

1.

I have reviewed this Quarterly Report on Form 10‑Q of Northwest Pipe Company;

 

 

2.

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

 

 

3.

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

 

 

4.

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

 

 

a.

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

 

 

b.

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

 

 

c.

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

 

 

d.

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

 

 

5.

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

 

 

a.

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

 

 

b.

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

 

 

Date: November 3, 2023

By:

/s/ Aaron Wilkins

   

Aaron Wilkins

   

Senior Vice President, Chief Financial Officer, and Corporate Secretary

   

(principal financial officer)

 

 

 
EX-32.1 4 ex_582321.htm EXHIBIT 32.1

Exhibit 32.1

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

In connection with the Quarterly Report of Northwest Pipe Company (the “Company”) on Form 10‑Q for the period ended September 30, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Scott Montross, Director, President, and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)

The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

 

(2)

The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

/s/ Scott Montross

 

Scott Montross

 

Director, President, and Chief Executive Officer

 

November 3, 2023

 

 

 

 
EX-32.2 5 ex_582322.htm EXHIBIT 32.2

Exhibit 32.2

 

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

In connection with the Quarterly Report of Northwest Pipe Company (the “Company”) on Form 10‑Q for the period ended September 30, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Aaron Wilkins, Senior Vice President, Chief Financial Officer, and Corporate Secretary of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)

The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

 

(2)

The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

/s/ Aaron Wilkins

 

Aaron Wilkins

 

Senior Vice President, Chief Financial Officer, and Corporate Secretary

 

November 3, 2023

 

 

 
EX-101.SCH 6 nwpx-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Condensed Consolidated Statements of Operations (Unaudited) link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) link:calculationLink link:definitionLink link:presentationLink 006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 1 - Organization and Basis of Presentation link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 2 - Inventories link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 3 - Current Debt link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 4 - Credit Agreement link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 5 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 7 - Share-based Compensation link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 8 - Commitments and Contingencies link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 9 - Revenue link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Note 10 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 12 - Net Income Per Share link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 13 - Segment Information link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 14 - Recent Accounting and Reporting Developments link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 15 - Subsequent Event link:calculationLink link:definitionLink link:presentationLink 995469 - Disclosure - Note 2 - Inventories (Tables) link:calculationLink link:definitionLink link:presentationLink 995470 - Disclosure - Note 5 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 995471 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Tables) link:calculationLink link:definitionLink link:presentationLink 995472 - Disclosure - Note 7 - Share-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 995473 - Disclosure - Note 9 - Revenue (Tables) link:calculationLink link:definitionLink link:presentationLink 995474 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss (Tables) link:calculationLink link:definitionLink link:presentationLink 995475 - Disclosure - Note 12 - Net Income Per Share (Tables) link:calculationLink link:definitionLink link:presentationLink 995476 - Disclosure - Note 13 - Segment Information (Tables) link:calculationLink link:definitionLink link:presentationLink 995477 - Disclosure - Note 1 - Organization and Basis of Presentation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995478 - Disclosure - Note 2 - Inventories - Components of Inventories (Details) link:calculationLink link:definitionLink link:presentationLink 995479 - Disclosure - Note 3 - Current Debt (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995480 - Disclosure - Note 4 - Credit Agreement (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995481 - Disclosure - Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 995482 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995483 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details) link:calculationLink link:definitionLink link:presentationLink 995484 - Disclosure - Note 7 - Share-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995485 - Disclosure - Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 995486 - Disclosure - Note 7 - Share-based Compensation - RSU and PSA Activity (Details) link:calculationLink link:definitionLink link:presentationLink 995487 - Disclosure - Note 8 - Commitments and Contingencies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995488 - Disclosure - Note 9 - Revenue 1 (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995489 - Disclosure - Note 9 - Revenue 2 (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995490 - Disclosure - Note 9 - Revenue - Disaggregation of Revenue (Details) link:calculationLink link:definitionLink link:presentationLink 995491 - Disclosure - Note 10 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995492 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 995493 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 995494 - Disclosure - Note 12 - Net Income Per Share (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995495 - Disclosure - Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) link:calculationLink link:definitionLink link:presentationLink 995496 - Disclosure - Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) link:calculationLink link:definitionLink link:presentationLink 995497 - Disclosure - Note 15 - Subsequent Event (Details Textual) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 7 nwpx-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 8 nwpx-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 9 nwpx-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information us-gaap_DerivativeNotionalAmount Derivative, Notional Amount Note To Financial Statement Details Textual Note 2 - Inventories Note 5 - Fair Value Measurements Hedging Relationship [Domain] Note 6 - Derivative Instruments and Hedging Activities Note 7 - Share-based Compensation Cash Flow Hedging [Member] Note 9 - Revenue Note 11 - Accumulated Other Comprehensive Loss Not Designated as Hedging Instrument [Member] Note 12 - Net Income Per Share Note 13 - Segment Information Note 2 - Inventories - Components of Inventories (Details) Hedging Relationship [Axis] Income Tax Disclosure [Text Block] Borrowings on line of credit Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details) Hedging Designation [Axis] Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) Hedging Designation [Domain] Other assets us-gaap_ShareBasedCompensation Share-based compensation expense Note 7 - Share-based Compensation - RSU and PSA Activity (Details) Designated as Hedging Instrument [Member] us-gaap_LiabilitiesCurrent Total current liabilities Note 9 - Revenue - Disaggregation of Revenue (Details) Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Notes To Financial Statements Notes To Financial Statements [Abstract] us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent Pension liability adjustment nwpx_PerformanceShareAwardTargetLevelPercentage Performance Share Award Target Level, Percentage Represents the target level percentage for performance share awards. Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block] Represents schedule of changes in accumulated other comprehensive income loss. Total financial assets RSUs and PSAs granted (in dollars per share) RSUs and PSAs vested, weighted average grant date fair value (in dollars per share) Unvested RSUs and PSAs canceled, weighted average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Unvested RSUs and PSAs canceled (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Unvested RSUs and PSAs (in shares) Unvested RSUs and PSAs (in shares) Other comprehensive income (loss) before reclassifications Reclassified to Interest Expense [Member] Related to reclassified to interest expense. Total reclassifications for the period Amounts reclassified from Accumulated other comprehensive loss RSUs and PSAs granted (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod RSUs and PSAs vested (in shares) Current debt Reclassified to Net Sales [Member] Related to reclassified to net sales. Other comprehensive income (loss), net of tax: nwpx_DebtInstrumentCovenantMinimumEbitda Debt Instrument, Covenant, Minimum EBITDA Represents the minimum amount of earnings before interest, taxes, depreciation and amortization as part of a debt covenant. us-gaap_AssetsCurrent Total current assets nwpx_NumberOfManufacturingFacilities Number of Manufacturing Facilities Represents number of manufacturing facilities. Common stock, $.01 par value, 15,000,000 shares authorized, 10,014,196 and 9,927,360 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively Adjustments to reconcile net income to net cash provided by operating activities: Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Contract liabilities Common stock, par value (in dollars per share) Accrued liabilities Statistical Measurement [Domain] Pension Plan [Member] Maximum [Member] Noncash investing and financing activities: Minimum [Member] Accounts payable Revolving Credit Facility [Member] Statistical Measurement [Axis] Retirement Plan Type [Axis] Retirement Plan Type [Domain] Accrued property and equipment purchases Credit Facility [Axis] Accrued consideration in acquisition of business The total amount of consideration accrued in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition. Credit Facility [Domain] Contract assets Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding Preferred stock, shares issued (in shares) us-gaap_PolicyTextBlockAbstract Accounting Policies Preferred stock, shares authorized (in shares) Depreciation and finance lease amortization The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives and amount of amortization expense attributable to right-of-use asset from finance lease. Inventories Total inventories Preferred stock, par value (in dollars per share) Portland Harbor Superfund Site [Member] Represents the Portland Harbor Superfund Site. Net sales Fair Value, Inputs, Level 3 [Member] us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchases of property and equipment Fair Value Hierarchy and NAV [Domain] The 1.941% Interest Rate Swap [Member] Relating to the 1.941% interest rate swap. Fair Value, Inputs, Level 1 [Member] The 2.96% Interest Rate Swap [Member] Relating to the 2.96% interest rate swap. Fair Value, Inputs, Level 2 [Member] Shares used in per share calculations: Fair Value Hierarchy and NAV [Axis] Property and equipment Current liabilities: us-gaap_LossContingencyAccrualCarryingValueCurrent Loss Contingency, Accrual, Current us-gaap_Assets Total assets Trade and other receivables, less allowance for doubtful accounts of $284 and $369 us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived Other Commitment, Amount Paid for Equipment Purchased Yet Not Received Amount of commitment of payment for equipment purchased but not received. Cash flows from operating activities: us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Schedule of Segment Reporting Information, by Segment [Table Text Block] Statement [Line Items] Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member] us-gaap_NumberOfOperatingSegments Number of Operating Segments Engineered Steel Pressure Pipe [Member] Represents Engineered Steel Pressure Pipe segment. Precast Infrastructure and Engineered Systems [Member] Represents Precast Infrastructure and Engineered Systems segment. Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] Deferred compensation plan Share-Based Payment Arrangement [Text Block] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Additional paid-in-capital AOCI Attributable to Parent [Member] Stockholders’ equity: Other income (expense) Deferred Compensation Plan [Member] Represents deferred compensation plan. Segment Reporting Disclosure [Text Block] Award Type [Domain] Current assets: Fair Value Disclosures [Text Block] Award Type [Axis] Net income Net income Intangible assets, net us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Change in cash and cash equivalents us-gaap_Liabilities Total liabilities us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash used in financing activities us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price Commitments and contingencies (Note 8) Performance Shares [Member] us-gaap_OperatingIncomeLoss Operating income us-gaap_ContractWithCustomerLiabilityRevenueRecognized Contract with Customer, Liability, Revenue Recognized us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by operating activities Prepaid expenses and other us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities Loss Contingency, Nature [Domain] Gross profit Gross profit Cost of sales Secured Overnight Financing Rate (SOFR) [Member] Related to Secured Overnight Financing Rate (SOFR). Counterparty Name [Axis] Counterparty Name [Domain] Loss Contingency Nature [Axis] us-gaap_DeferredIncomeTaxLiabilitiesNet Deferred income taxes Consolidation Items [Domain] Accumulated depreciation and amortization Commitments and Contingencies Disclosure [Text Block] Property and equipment, less accumulated depreciation and amortization of $124,175 and $117,856 us-gaap_DerivativeLiabilities Foreign currency forward contracts Goodwill Consolidation Items [Axis] Other financing activities us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Tax withholdings related to net share settlements of equity awards us-gaap_LettersOfCreditOutstandingAmount Letters of Credit Outstanding, Amount us-gaap_DerivativeAssets Derivative assets Derivative Instrument [Axis] Derivative Contract [Domain] Cash flows from investing activities: us-gaap_EarningsPerShareAbstract Net income per share: Retained Earnings [Member] Earnings Per Share [Text Block] nwpx_NumberOfInactiveStockIncentivePlans Number Of Inactive Stock Incentive Plans The number of inactive stock incentive plans. Additional Paid-in Capital [Member] Common Stock [Member] us-gaap_StockRepurchaseProgramAuthorizedAmount1 Stock Repurchase Program, Authorized Amount Income tax expense Tax (expense) benefit Equity Components [Axis] Equity Component [Domain] Environmental Remediation Site [Domain] us-gaap_RevenueRemainingPerformanceObligationPercentage Revenue, Remaining Performance Obligation, Percentage us-gaap_IncreaseDecreaseInAccountsPayable Accounts payable Gains (losses) recognized on derivatives us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) us-gaap_RevenueRemainingPerformanceObligation Revenue, Remaining Performance Obligation, Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Environmental Remediation Site [Axis] Interim Funding AgreementIFA [Member] Represents the Interim Funding Agreement with Wells Fargo Finance Inc. us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income taxes Reclassification out of Accumulated Other Comprehensive Income [Member] Pension liability adjustment, tax expense/benefit Reclassification out of Accumulated Other Comprehensive Income [Axis] Reclassification out of Accumulated Other Comprehensive Income [Domain] Comprehensive Income (Loss) Note [Text Block] us-gaap_LineOfCredit Long-Term Line of Credit Reclassification out of Accumulated Other Comprehensive Income [Table Text Block] Cash and cash equivalents Timing of Transfer of Good or Service [Domain] Transferred at Point in Time [Member] Transferred over Time [Member] Disaggregation of Revenue [Table Text Block] us-gaap_AllocatedShareBasedCompensationExpense Share-based compensation expense Timing of Transfer of Good or Service [Axis] Unrealized gain (loss) on cash flow hedges, tax expense/benefit Revenue from Contract with Customer [Text Block] Schedule Of Inventory Current And Non Current [Table Text Block] 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. Includes current and non-current inventory balances. Document Quarterly Report Amendment Flag Entity Incorporation, State or Country Code Accounting Policies [Abstract] us-gaap_OpenTaxYear Open Tax Year us-gaap_ComprehensiveIncomeNetOfTax Comprehensive income Document Transition Report City Area Code nwpx_EstimatedCostOfEPASelectedRemedy Estimated Cost of EPA Selected Remedy The estimated cost of the remedy selected by EPA. nwpx_EstimatedTimeToCompleteSelectedEPARemedy Estimated Time to Complete Selected EPA Remedy (Year) The estimated amount of time to complete the selected EPA remedy. us-gaap_ShortTermBorrowings Short-Term Debt Selling, General and Administrative Expenses [Member] Entity Interactive Data Current nwpx_NumberOfPotentiallyResponsibleParties Number Of Potentially Responsible Parties Number of potentially responsible parties for Portland Harbor Superfund site. Portland Harbor Natural Resources Trustee Council [Member] The name or description of the loss contingency by its nature. us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities Accrued and other liabilities nwpx_NumberOfActiveStockIncentivePlans Number Of Active Stock Incentive Plans The number of active stock incentive plans. Interest Expense [Member] us-gaap_SharesOutstanding Balances (in shares) Balances (in shares) Security Exchange Name Common stock, shares outstanding (in shares) nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares) The number of non-vested equity-based payment instruments at a target level of performance, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date. Preferred stock, shares outstanding (in shares) us-gaap_DebtWeightedAverageInterestRate Debt, Weighted Average Interest Rate nwpx_PerformanceAwardsIssuedMultiplier Performance Awards Issued Multiplier The percentage of the performance awards issued multiplier. Title of 12(b) Security Restricted Stock Units and Performance Stock Awards [Member] The type or description of the award. Current Fiscal Year End Date us-gaap_DebtInstrumentBasisSpreadOnVariableRate1 Debt Instrument, Basis Spread on Variable Rate Borrowings on other debt Cost of Sales [Member] us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other assets Document Fiscal Period Focus Sales [Member] Document Fiscal Year Focus Right-of-use assets obtained in exchange for finance lease liabilities Document Period End Date Right-of-use assets obtained in exchange for operating lease liabilities Income Statement Location [Axis] Income Statement Location [Domain] Entity File Number Entity Emerging Growth Company us-gaap_DebtInstrumentFaceAmount Debt Instrument, Face Amount Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] Entity Filer Category Debt Instrument [Axis] Entity Current Reporting Status Debt Instrument, Name [Domain] Segments [Axis] Segments [Domain] Variable Rate [Domain] Effect of potentially dilutive common shares (in shares) Property and Equipment [Member] Represents property and equipment. nwpx_MaximumSeniorLeverageRatioRequirement Maximum Senior Leverage Ratio Requirement The maximum senior leverage ratio requirement. Foreign Exchange Forward 1 [Member] Represents one forward exchange forward contract us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) Variable Rate [Axis] us-gaap_RepaymentsOfLinesOfCredit Repayments on line of credit us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding Diluted (in shares) Diluted weighted-average common shares outstanding (in shares) Share-based compensation expense us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables Trade and other receivables Statement of Comprehensive Income [Abstract] Entity Tax Identification Number Entity Central Index Key Entity Registrant Name us-gaap_ProceedsFromLinesOfCredit Borrowings on line of credit Entity [Domain] Legal Entity [Axis] Statement [Table] Entity Address, Address Line One Statement of Financial Position [Abstract] nwpx_MaximumSeniorLeverageRatio Maximum Senior Leverage Ratio The maximum senior leverage ratio. Diluted (in dollars per share) Diluted (in dollars per share) Basic (in shares) ecd_NonRule10b51ArrTrmntdFlag Non-Rule 10b5-1 Arrangement Terminated [Flag] us-gaap_AmortizationOfIntangibleAssets Amortization of intangible assets Entity Address, City or Town ecd_Rule10b51ArrTrmntdFlag Rule 10b5-1 Arrangement Terminated [Flag] us-gaap_EffectiveIncomeTaxRateContinuingOperations Effective Income Tax Rate Reconciliation, Percent ecd_Rule10b51ArrAdoptedFlag Rule 10b5-1 Arrangement Adopted [Flag] Entity Address, Postal Zip Code Basic (in dollars per share) Basic (in dollars per share) Entity Address, State or Province ecd_NonRule10b51ArrAdoptedFlag Non-Rule 10b5-1 Arrangement Adopted [Flag] Allowance for doubtful accounts Material Terms of Trading Arrangement [Text Block] Statement of Cash Flows [Abstract] Entity Common Stock, Shares Outstanding Statement of Stockholders' Equity [Abstract] us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent Net current period other comprehensive income (loss) Income Statement [Abstract] Long-Term Debt [Text Block] us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet Line of Credit Facility, Increase (Decrease), Net Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax Local Phone Number us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity Line of Credit Facility, Remaining Borrowing Capacity us-gaap_TableTextBlock Notes Tables us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity Line of Credit Facility, Maximum Borrowing Capacity Accounting Standards Update and Change in Accounting Principle [Text Block] us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage Line of Credit Facility, Unused Capacity, Commitment Fee Percentage Issuance of common stock under stock compensation plans, net of tax withholdings (in shares) Selling, general, and administrative expense us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation Issuance of common stock under stock compensation plans, net of tax withholdings us-gaap_PaymentsForProceedsFromOtherInvestingActivities Other investing activities Cash flows from financing activities: Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Other long-term liabilities Line of Credit Facility, Lender [Domain] Raw materials Supplies Lender Name [Axis] us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and stockholders’ equity Finished goods Wells Fargo Bank, N.A. [Member] Related to the lender Wells Fargo Bank, N.A. Work-in-process Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block] Tabular disclosure of the change in restricted stock units (RSUs) and performance share awards (PSAs). us-gaap_IncreaseDecreaseInContractWithCustomerAsset Contract assets, net Retained earnings Accumulated other comprehensive loss Balances Balances Debt Disclosure [Text Block] Derivative Instruments, Gain (Loss) [Table Text Block] Interest expense Interest expense Lower Willamette Group [Member] Refers to information regarding the Lower Willamette Group. Foreign Exchange Forward [Member] us-gaap_StockholdersEquity Total stockholders’ equity Balances Balances us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Derivative Instruments and Hedging Activities Disclosure [Text Block] us-gaap_OtherNoncashIncomeExpense Other, net Inventory Disclosure [Text Block] Subsequent Event [Member] Operating lease liabilities Class of Stock [Axis] us-gaap_OtherPaymentsToAcquireBusinesses Payment of working capital adjustment in acquisition of business Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Subsequent Event Type [Axis] Current portion of operating lease liabilities Subsequent Event Type [Domain] nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization The minimum amount of consolidated earnings before interest, taxes, depreciation, and amortization pursuant to the debt agreement. Interest Rate Swap [Member] Reclassification, Type [Domain] Reclassification, Type [Axis] Subsequent Events [Text Block] Unrealized gain (loss) on derivatives designated as cash flow hedges Operating Segments [Member] us-gaap_DerivativeFixedInterestRate Derivative, Fixed Interest Rate us-gaap_OperatingLeaseRightOfUseAsset Operating lease right-of-use assets us-gaap_FinanceLeasePrincipalPayments Payments on finance lease obligations Deferred income taxes us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths Cash Flow Hedge Gain (Loss) to be Reclassified within 12 Months EX-101.PRE 10 nwpx-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Document And Entity Information - shares
9 Months Ended
Sep. 30, 2023
Oct. 25, 2023
Document Information [Line Items]    
Entity Central Index Key 0001001385  
Entity Registrant Name Northwest Pipe Co.  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q3  
Document Fiscal Year Focus 2023  
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 0-27140  
Entity Incorporation, State or Country Code OR  
Entity Tax Identification Number 93-0557988  
Entity Address, Address Line One 201 NE Park Plaza Drive, Suite 100  
Entity Address, City or Town Vancouver  
Entity Address, State or Province WA  
Entity Address, Postal Zip Code 98684  
City Area Code 360  
Local Phone Number 397‑6250  
Title of 12(b) Security Common Stock, par value $0.01 per share  
Trading Symbol NWPX  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   10,014,196
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Net sales $ 118,722 $ 122,984 $ 334,191 $ 350,837
Cost of sales 99,428 97,866 275,839 286,853
Gross profit 19,294 25,118 58,352 63,984
Selling, general, and administrative expense 10,237 10,654 33,119 30,149
Operating income 9,057 14,464 25,233 33,835
Other income (expense) (61) 11 (224) 56
Interest expense (1,162) (964) (3,722) (2,393)
Income before income taxes 7,834 13,511 21,287 31,498
Income tax expense 2,016 3,555 5,659 8,310
Net income $ 5,818 $ 9,956 $ 15,628 $ 23,188
us-gaap_EarningsPerShareAbstract        
Basic (in dollars per share) $ 0.58 $ 1 $ 1.57 $ 2.34
Diluted (in dollars per share) $ 0.58 $ 0.99 $ 1.55 $ 2.32
Shares used in per share calculations:        
Basic (in shares) 10,014 9,927 9,985 9,909
Diluted (in shares) 10,107 10,010 10,088 9,988
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Net income $ 5,818 $ 9,956 $ 15,628 $ 23,188
Other comprehensive income (loss), net of tax:        
Net current period other comprehensive income (loss) (27) 608 (162) 482
Comprehensive income 5,791 10,564 15,466 23,670
Foreign Exchange Forward [Member]        
Other comprehensive income (loss), net of tax:        
Unrealized gain (loss) on derivatives designated as cash flow hedges 3 158 (98) (245)
Interest Rate Swap [Member]        
Other comprehensive income (loss), net of tax:        
Unrealized gain (loss) on derivatives designated as cash flow hedges (59) 428 (152) 661
Pension Plan [Member]        
Other comprehensive income (loss), net of tax:        
Pension liability adjustment $ 29 $ 22 $ 88 $ 66
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Current Period Unaudited) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 4,058 $ 3,681
Trade and other receivables, less allowance for doubtful accounts of $284 and $369 66,997 71,563
Contract assets 105,420 121,778
Inventories 83,093 71,029
Prepaid expenses and other 6,638 10,689
Total current assets 266,206 278,740
Property and equipment, less accumulated depreciation and amortization of $124,175 and $117,856 139,812 133,166
Operating lease right-of-use assets 89,605 93,124
Goodwill 55,504 55,504
Intangible assets, net 32,117 35,264
Other assets 5,844 5,542
Total assets 589,088 601,340
Current liabilities:    
Current debt 10,756 10,756
Accounts payable 31,156 26,968
Accrued liabilities 23,786 30,957
Contract liabilities 17,264 17,456
Current portion of operating lease liabilities 4,899 4,702
Total current liabilities 87,861 90,839
Borrowings on line of credit 58,076 83,696
Operating lease liabilities 86,529 89,472
Deferred income taxes 11,639 11,402
Other long-term liabilities 9,845 7,657
Total liabilities 253,950 283,066
Commitments and contingencies (Note 8)
Stockholders’ equity:    
Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding 0 0
Common stock, $.01 par value, 15,000,000 shares authorized, 10,014,196 and 9,927,360 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively 100 99
Additional paid-in-capital 129,308 127,911
Retained earnings 206,681 191,053
Accumulated other comprehensive loss (951) (789)
Total stockholders’ equity 335,138 318,274
Total liabilities and stockholders’ equity $ 589,088 $ 601,340
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Allowance for doubtful accounts $ 284 $ 369
Accumulated depreciation and amortization $ 124,175 $ 117,856
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
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.01 $ 0.01
Common stock, shares authorized (in shares) 15,000,000 15,000,000
Common stock, shares issued (in shares) 10,014,196 9,927,360
Common stock, shares outstanding (in shares) 10,014,196 9,927,360
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Pension Plan [Member]
Common Stock [Member]
Pension Plan [Member]
Additional Paid-in Capital [Member]
Pension Plan [Member]
Retained Earnings [Member]
Pension Plan [Member]
AOCI Attributable to Parent [Member]
Pension Plan [Member]
Foreign Exchange Forward [Member]
Common Stock [Member]
Foreign Exchange Forward [Member]
Additional Paid-in Capital [Member]
Foreign Exchange Forward [Member]
Retained Earnings [Member]
Foreign Exchange Forward [Member]
AOCI Attributable to Parent [Member]
Foreign Exchange Forward [Member]
Interest Rate Swap [Member]
Common Stock [Member]
Interest Rate Swap [Member]
Additional Paid-in Capital [Member]
Interest Rate Swap [Member]
Retained Earnings [Member]
Interest Rate Swap [Member]
AOCI Attributable to Parent [Member]
Interest Rate Swap [Member]
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balances (in shares) at Dec. 31, 2021                               9,870,567        
Balances at Dec. 31, 2021                               $ 99 $ 125,062 $ 159,904 $ (1,682) $ 283,383
Net income                               0 0 23,188 0 23,188
Pension liability adjustment $ 0 $ 0 $ 0 $ 66 $ 66                              
Unrealized gain (loss) on derivatives designated as cash flow hedges           $ 0 $ 0 $ 0 $ (245) $ (245) $ 0 $ 0 $ 0 $ 661 $ 661          
Share-based compensation expense                               $ 0 2,477 0 0 2,477
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               56,793        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 0 (853) 0 0 (853)
Balances (in shares) at Sep. 30, 2022                               9,927,360        
Balances at Sep. 30, 2022                               $ 99 126,686 183,092 (1,200) 308,677
Balances (in shares) at Jun. 30, 2022                               9,927,360        
Balances at Jun. 30, 2022                               $ 99 125,517 173,136 (1,808) 296,944
Net income                               0 0 9,956 0 9,956
Pension liability adjustment 0 0 0 22 22                              
Unrealized gain (loss) on derivatives designated as cash flow hedges           0 0 0 158 158 0 0 0 428 428          
Share-based compensation expense                               $ 0 1,169 0 0 1,169
Balances (in shares) at Sep. 30, 2022                               9,927,360        
Balances at Sep. 30, 2022                               $ 99 126,686 183,092 (1,200) 308,677
Balances (in shares) at Dec. 31, 2022                               9,927,360        
Balances at Dec. 31, 2022                               $ 99 127,911 191,053 (789) 318,274
Net income                               0 0 15,628 0 15,628
Pension liability adjustment 0 0 0 88 88                              
Unrealized gain (loss) on derivatives designated as cash flow hedges           0 0 0 (98) (98) 0 0 0 (152) (152)          
Share-based compensation expense                               $ 0 3,050 0 0 3,050
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               86,836        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 1 (1,653) 0 0 (1,652)
Balances (in shares) at Sep. 30, 2023                               10,014,196        
Balances at Sep. 30, 2023                               $ 100 129,308 206,681 (951) 335,138
Balances (in shares) at Jun. 30, 2023                               10,014,196        
Balances at Jun. 30, 2023                               $ 100 128,562 200,863 (924) 328,601
Net income                               0 0 5,818 0 5,818
Pension liability adjustment $ 0 $ 0 $ 0 $ 29 $ 29                              
Unrealized gain (loss) on derivatives designated as cash flow hedges           $ 0 $ 0 $ 0 $ 3 $ 3 $ 0 $ 0 $ 0 $ (59) $ (59)          
Share-based compensation expense                               $ 0 746 0 0 746
Balances (in shares) at Sep. 30, 2023                               10,014,196        
Balances at Sep. 30, 2023                               $ 100 $ 129,308 $ 206,681 $ (951) $ 335,138
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Pension Plan [Member]        
Pension liability adjustment, tax expense/benefit $ 0 $ 0 $ 0 $ 0
Foreign Exchange Forward [Member]        
Unrealized gain (loss) on cash flow hedges, tax expense/benefit 1 142 (34) (83)
Interest Rate Swap [Member]        
Unrealized gain (loss) on cash flow hedges, tax expense/benefit $ (19) $ 141 $ (53) $ 218
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Cash flows from operating activities:    
Net income $ 15,628 $ 23,188
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and finance lease amortization 8,644 9,321
Amortization of intangible assets 3,147 3,369
Deferred income taxes 226 (3)
Share-based compensation expense 3,050 2,477
Other, net 1,298 (305)
Trade and other receivables 4,401 (21,588)
Contract assets, net 16,165 3,531
Inventories (12,064) (11,927)
Prepaid expenses and other assets 7,417 8,789
Accounts payable 4,974 8,350
Accrued and other liabilities (8,477) 315
Net cash provided by operating activities 44,409 25,517
Cash flows from investing activities:    
Purchases of property and equipment (13,244) (11,792)
Payment of working capital adjustment in acquisition of business (2,731) 0
Other investing activities 63 (288)
Net cash used in investing activities (15,912) (12,080)
Cash flows from financing activities:    
Borrowings on line of credit 113,047 121,103
Repayments on line of credit (138,667) (136,047)
Borrowings on other debt 0 3,525
Payments on finance lease obligations (548) (409)
Tax withholdings related to net share settlements of equity awards (1,652) (853)
Other financing activities (300) (47)
Net cash used in financing activities (28,120) (12,728)
Change in cash and cash equivalents 377 709
Cash and cash equivalents, beginning of period 3,681 2,997
Cash and cash equivalents, end of period 4,058 3,706
Noncash investing and financing activities:    
Accrued property and equipment purchases 528 614
Accrued consideration in acquisition of business 0 1,820
Right-of-use assets obtained in exchange for operating lease liabilities 952 26
Right-of-use assets obtained in exchange for finance lease liabilities $ 3,243 $ 894
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Note 1 - Organization and Basis of Presentation
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]

NORTHWEST PIPE COMPANY AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

 

 

1.

Organization and Basis of Presentation

 

Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer of water-related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources. See Note 13, “Segment Information” for detailed descriptions of these segments.

 

In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures stormwater and wastewater technology products; high-quality precast and reinforced concrete products; pump lift stations; steel casing pipe, bar-wrapped concrete cylinder pipe, and one of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.

 

The Condensed Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.

 

The accompanying unaudited interim Condensed Consolidated Financial Statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial information. The financial information as of December 31, 2022 is derived from the audited Consolidated Financial Statements presented in the Company’s Annual Report on Form 10‑K for the year ended December 31, 2022 (“2022 Form 10‑K”). Certain information and footnote disclosures normally included in consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and the accounting standards for interim financial statements. In the opinion of management, the accompanying Condensed Consolidated Financial Statements include all adjustments necessary (which are of a normal and recurring nature) for the fair statement of the results of the interim periods presented. The Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto together with management’s discussion and analysis of financial condition and results of operations contained in the Company’s 2022 Form 10‑K.

 

Operating results for the three and nine months ended September 30, 2023 are not necessarily indicative of the results that may be expected for the entire fiscal year ending December 31, 2023.

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Note 2 - Inventories
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Inventory Disclosure [Text Block]

2.

Inventories

 

Inventories consist of the following (in thousands):

 

  

September 30, 2023

  

December 31, 2022

 
         

Raw materials

 $59,408  $47,978 

Work-in-process

  9,180   5,114 

Finished goods

  12,205   15,773 

Supplies

  2,300   2,164 

Total inventories

 $83,093  $71,029 

 

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Note 3 - Current Debt
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Long-Term Debt [Text Block]

3.

Current Debt

 

The Interim Funding Agreement dated August 2, 2022 with Wells Fargo Equipment Finance, Inc. (“WFEF”), as amended January 23, 2023, March 15, 2023, July 21, 2023, and November 2, 2023 (together, the “IFA”), provides for aggregate interim funding advances up to $10.8 million of equipment purchased for a new reinforced concrete pipe mill, to be converted into a term loan upon final delivery and acceptance of the financed equipment. The IFA bore interest at the term Secured Overnight Finance Rate (“SOFR”) plus 1.75% through January 31, 2023 and the SOFR Average plus 1.75% from February 1, 2023 through November 1, 2023. Effective November 2, 2023, the IFA bears interest at the SOFR Average plus 2.00%. The IFA requires monthly payments of accrued interest and grants a security interest in the equipment to WFEF. Effective November 2, 2023, the IFA requires the Company to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (“EBITDA”) (as defined in the IFA) of at least $35 million for the four consecutive fiscal quarters most recently ended. As of September 30, 2023 and December 31, 2022, the outstanding balance of the IFA was $10.8 million, which is classified as a current liability since there is not a firm commitment for long-term debt financing.

 

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Note 4 - Credit Agreement
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Debt Disclosure [Text Block]

4.

Credit Agreement

 

The Credit Agreement dated June 30, 2021 with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated October 22, 2021, the Second Amendment to Credit Agreement dated April 29, 2022, and the Third Amendment to Credit Agreement dated June 29, 2023 (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”), with an option for the Company to increase that amount by $50 million, subject to provisions of the Amended Credit Agreement. The Amended Credit Agreement will expire, and all obligations outstanding will mature, on June 29, 2028. The Company may prepay outstanding amounts at its discretion without penalty at any time, subject to applicable notice requirements.

 

The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio no greater than 3.00 to 1.00 (subject to certain exceptions) and a minimum consolidated EBITDA (as defined in the Amended Credit Agreement) of at least $35 million for the four consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will not sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of September 30, 2023.

 

The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.

 

Line of Credit (Revolving and Swingline Loans)

 

As of September 30, 2023 under the Amended Credit Agreement, the Company had $58.1 million of outstanding revolving loan borrowings, $1.1 million of outstanding letters of credit, and additional borrowing capacity of approximately $66 million. As of December 31, 2022 under the Amended Credit Agreement, the Company had $83.7 million of outstanding revolving loan borrowings and $1.1 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) Adjusted Term SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin; or (iii) Adjusted Daily Simple SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.35%, depending on the Company’s Consolidated Senior Leverage Ratio (as defined in the Amended Credit Agreement) and the interest rate option chosen. Interest on outstanding revolving loans is payable monthly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of September 30, 2023 and December 31, 2022, the weighted-average interest rate for outstanding borrowings was 7.40% and 6.07%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable monthly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Note 5 - Fair Value Measurements
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

5.

Fair Value Measurements

 

Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date.

 

The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels. These levels are: Level 1 (inputs are quoted prices in active markets for identical assets or liabilities); Level 2 (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level 3 (inputs are unobservable, with little or no market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.

 

The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):

 

  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of September 30, 2023

                

Financial assets:

                

Deferred compensation plan

 $3,605  $3,082  $523  $- 

Foreign currency forward contracts

  18   -   18   - 

Interest rate swaps

  657   -   657   - 

Total financial assets

 $4,280  $3,082  $1,198  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1

)

 $-  $(1

)

 $- 
                 

As of December 31, 2022

                

Financial assets:

                

Deferred compensation plan

 $3,587  $3,090  $497  $- 

Foreign currency forward contracts

  728   -   728   - 

Interest rate swaps

  862   -   862   - 

Total financial assets

 $5,177  $3,090  $2,087  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(80

)

 $-  $(80

)

 $- 

 

The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level 1 within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level 2 within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Condensed Consolidated Balance Sheets.

 

The foreign currency forward contracts and interest rate swaps are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level 2 within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. The foreign currency forward contracts and interest rate swaps are presented at their gross fair values. Foreign currency forward contract and interest rate swap assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Condensed Consolidated Balance Sheets.

 

The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, current debt, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Note 6 - Derivative Instruments and Hedging Activities
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Derivative Instruments and Hedging Activities Disclosure [Text Block]

6.

Derivative Instruments and Hedging Activities

 

In the normal course of business, the Company is exposed to interest rate and foreign currency exchange rate fluctuations. Consistent with the Company’s strategy for financial risk management, the Company has established a program that utilizes foreign currency forward contracts and interest rate swaps to offset the risks associated with the effects of these exposures.

 

For each derivative entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all derivatives to specific firm commitments or forecasted transactions and designating the derivatives as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the derivatives that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized gain (loss) on cash flow hedges on the Condensed Consolidated Statements of Comprehensive Income. If it is determined that a derivative is not highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that derivative prospectively.

 

As of September 30, 2023, the total notional amount of the foreign currency forward contracts was $6.9 million (CAD$9.3 million) and $1.1 million (EUR€1.1 million), which included $5.5 million (CAD$7.5 million) and $1.1 million (EUR€1.1 million) of foreign currency forward contracts not designated as cash flow hedges. As of December 31, 2022, the total notional amount of the foreign currency forward contracts was $17.1 million (CAD$23.2 million) and $1.1 million (EUR€1.1 million), which included $0.3 million (CAD$0.4 million) of foreign currency forward contracts not designated as cash flow hedges. As of September 30, 2023, the Company’s foreign currency forward contracts mature at various dates through April 2025 and are subject to an enforceable master netting arrangement.

 

The Company has entered into interest rate swaps which effectively convert a portion of its variable-rate debt to fixed-rate debt, and are designated as cash flow hedges. The Company receives floating interest payments monthly based on SOFR and pays a fixed rate of 1.941% to the counterparty on the total notional amount of $11.7 million and $26.7 million as of September 30, 2023 and December 31, 2022, respectively, which amortizes ratably on a monthly basis to zero by the April 2024 maturity date.

 

On August 9, 2022, the Company entered into an interest rate swap transaction which began April 3, 2023. The Company receives floating interest payments monthly based on the SOFR Average 30 day and pays a fixed rate of 2.96% to the counterparty on the total notional amount of $13.8 million as of September 30, 2023, which amortizes ratably on a monthly basis to zero by the April 2028 maturity date.

 

The following table summarizes the gains (losses) recognized on derivatives in the Condensed Consolidated Financial Statements (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Foreign currency forward contracts:

                

Net sales

 $77  $599  $(601

)

 $841 

Property and equipment

  (22

)

  32   (109

)

  (95

)

                 

Interest rate swaps:

                

Interest expense

  201   4   553   (78

)

Total

 $256  $635  $(157

)

 $668 

 

As of September 30, 2023, unrealized pretax gains on outstanding cash flow hedges in Accumulated other comprehensive loss was $0.7 million, of which approximately $0 and $0.4 million are expected to be reclassified to Net sales and Interest expense, respectively, within the next twelve months as a result of underlying hedged transactions also being recorded in these line items. See Note 11, “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract and interest rate swap gains and losses.

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Note 7 - Share-based Compensation
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Share-Based Payment Arrangement [Text Block]

7.

Share-based Compensation

 

The Company has one active stock incentive plan for employees and directors, the 2022 Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, restricted stock units (“RSUs”), and performance share awards (“PSAs”). In addition, the Company has one inactive stock incentive plan, the 2007 Stock Incentive Plan, under which previously granted awards remain outstanding.

 

The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of RSUs and PSAs using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not met.

 

The following table summarizes share-based compensation expense recorded (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Cost of sales

 $275  $474  $816  $822 

Selling, general, and administrative expense

  471   695   2,234   1,655 

Total

 $746  $1,169  $3,050  $2,477 

 

Restricted Stock Units and Performance Share Awards

 

The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares at specified times. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.

 

The following table summarizes the Company’s RSU and PSA activity:

 

  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2022

  200,924  $30.80 

RSUs and PSAs granted

  134,498   28.41 

Unvested RSUs and PSAs canceled

  (13,589

)

  30.82 

RSUs and PSAs vested (2)

  (95,442

)

  30.12 

Unvested RSUs and PSAs as of September 30, 2023

  226,391   29.66 

 

(1)

The number of PSAs disclosed in this table are at the target level of 100%.

 

 

(2)

For the PSAs vested on March 31, 2023, the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of 100%, as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the 2020-2022 performance period, 126% for the 2021-2022 performance period, and 132% for the 2022 performance period.

 

The unvested balance of RSUs and PSAs as of September 30, 2023 includes approximately 170,000 PSAs at the target level of 100%. The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.

 

Based on the estimated level of achievement of the performance targets associated with the PSAs as of September 30, 2023, unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $4.4 million, which is expected to be recognized over a weighted-average period of 1.7 years.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Note 8 - Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Commitments and Contingencies Disclosure [Text Block]

8.

Commitments and Contingencies

 

Portland Harbor Superfund Site

 

In December 2000, a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does not border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in December 2000, the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in February 2016, and the feasibility study in June 2016, which identified multiple remedial alternatives. In January 2017, the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion at net present value and 13 years to complete. The EPA has not yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and no further adjustment to the Condensed Consolidated Financial Statements has been recorded as of the date of this filing.

 

The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. No liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have not yet been determined.

 

Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section 107. The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, three federal agencies, and one state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In June 2014, the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has not assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.

 

In January 2017, the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in 2009, filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The case has been stayed until January 2025, and the Company does not have sufficient information at this time to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.

 

The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide no assurance that those policies will cover all of the costs which the Company may incur.

 

All Sites

 

The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations thereunder which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does not believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.

 

Other Contingencies and Legal Proceedings

 

From time to time, the Company is party to a variety of legal actions, including claims, suits, complaints, and investigations arising out of the ordinary course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does not cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is not presently a party to legal actions, the outcomes of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.

 

Commitments

 

As of September 30, 2023, the Company’s commitments include approximately $1.1 million remaining relating to its investment in the primary component of the new reinforced concrete pipe mill for which the Company has not yet received the equipment.

 

Guarantees

 

The Company has entered into certain letters of credit that total $1.1 million as of September 30, 2023. The letters of credit relate to workers’ compensation insurance.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Note 9 - Revenue
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

9.

Revenue

 

The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct. The Company generally does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.

 

SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.

 

Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $(0.8) million for the three and nine months ended September 30, 2023 and $0.2 million and $(0.2) million for the three and nine months ended September 30, 2022, respectively.

 

Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do not contain significant financing.

 

Disaggregation of Revenue

 

The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Over time (Engineered Steel Pressure Pipe)

 $80,493  $83,663  $221,294  $235,446 

Point in time (Precast Infrastructure and Engineered Systems)

  38,229   39,321   112,897   115,391 

Net sales

 $118,722  $122,984  $334,191  $350,837 

 

Contract Assets and Liabilities

 

Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing.

 

Contract liabilities represent advance billings on contracts, typically for steel. The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $13.5 million and $15.0 million during the three and nine months ended September 30, 2023, respectively and $2.8 million and $2.6 million during the three and nine months ended September 30, 2022, respectively.

 

Backlog

 

Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of September 30, 2023, backlog was $253 million. The Company expects to recognize approximately 27% of the remaining performance obligations in 2023, 44% in 2024, and the balance thereafter.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Note 10 - Income Taxes
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

10.

Income Taxes

 

The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is no longer subject to United States Federal, state, or foreign income tax examinations for years before 2019.

 

The Company recorded income tax expense at an estimated effective income tax rate of 25.7% and 26.6% for the three and nine months ended September 30, 2023, respectively and 26.3% and 26.4% for the three and nine months ended September 30, 2022, respectively. The Company’s estimated effective income tax rates for the three and nine months ended September 30, 2023 and 2022 were primarily impacted by non-deductible permanent differences.

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Note 11 - Accumulated Other Comprehensive Loss
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Comprehensive Income (Loss) Note [Text Block]

11.

Accumulated Other Comprehensive Loss

 

The following tables summarize changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:

 

  

Pension Liability Adjustment

  

Unrealized Gain (Loss) on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2022

 $(1,532

)

 $94  $649  $(789

)

                 

Other comprehensive income (loss) before reclassifications

  78   (115

)

  266   229 

Amounts reclassified from Accumulated other comprehensive loss

  10   17   (418

)

  (391

)

Net current period other comprehensive income (loss)

  88   (98

)

  (152

)

  (162

)

                 

Balances, September 30, 2023

 $(1,444

)

 $(4

)

 $497  $(951

)

 

  

Pension Liability Adjustment

  

Unrealized Loss on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2021

 $(1,487

)

 $(195

)

 $-  $(1,682

)

                 

Other comprehensive income (loss) before reclassifications

  61   (383

)

  602   280 

Amounts reclassified from Accumulated other comprehensive loss

  5   138   59   202 

Net current period other comprehensive income (loss)

  66   (245

)

  661   482 
                 

Balances, September 30, 2022

 $(1,421

)

 $(440

)

 $661  $(1,200

)

 

The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Condensed Consolidated Statements of Operations (in thousands):

 

  

Amount reclassified from

Accumulated Other Comprehensive Loss

 

Affected line item in

the Condensed

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

Consolidated Statements of

  

2023

  

2022

  

2023

  

2022

 

Operations

                  

Pension liability adjustment:

                 

Net periodic pension cost:

                 

Service cost

 $(4

)

 $(2

)

 $(10

)

 $(5

)

Cost of sales

   (4

)

  (2

)

  (10

)

  (5

)

Net of tax

                  

Unrealized gain (loss) on foreign currency forward contracts:

                 

Gain (loss) on cash flow hedges

  10   35   87   (56

)

Net sales

Loss on cash flow hedges

  (22

)

  -   (109

)

  (127

)

Property and equipment

Associated income tax benefit

  3   22   5   45 

Income tax expense

   (9

)

  57   (17

)

  (138

)

Net of tax

                  

Unrealized gain (loss) on interest rate swaps:

                 

Gain (loss) on cash flow hedges

  201   4   553   (78

)

Interest expense

Associated income tax (expense) benefit

  (49

)

  (1

)

  (135

)

  19 

Income tax expense

   152   3   418   (59

)

Net of tax

                  

Total reclassifications for the period

 $139  $58  $391  $(202

)

 

 

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Note 12 - Net Income Per Share
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Earnings Per Share [Text Block]

12.

Net Income per Share

 

Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all dilutive potential shares of common stock, including RSUs and PSAs, assumed to be outstanding during the period using the treasury stock method. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.

 

Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net income

 $5,818  $9,956  $15,628  $23,188 
                 

Basic weighted-average common shares outstanding

  10,014   9,927   9,985   9,909 

Effect of potentially dilutive common shares (1)

  93   83   103   79 

Diluted weighted-average common shares outstanding

  10,107   10,010   10,088   9,988 
                 

Net income per common share:

                

Basic

 $0.58  $1.00  $1.57  $2.34 

Diluted

 $0.58  $0.99  $1.55  $2.32 

 

 

(1)

There were no antidilutive shares for the three and nine months ended September 30, 2023 or 2022.

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Note 13 - Segment Information
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

13.

Segment Information

 

The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does not allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.

 

The Company’s Engineered Steel Pressure Pipe segment (SPP) manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, seismic resiliency, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto and Tracy, California; Parkersburg, West Virginia; Saginaw, Texas; St. Louis, Missouri; and San Luis Río Colorado, Mexico.

 

The Company’s Precast Infrastructure and Engineered Systems segment (Precast) manufactures stormwater and wastewater technology products, high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, and catch basins, pump lift stations, oil water separators, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Dallas, Houston, and San Antonio, Texas; and Orem, Salt Lake City, and St. George, Utah.

 

The following table disaggregates revenue and gross profit based on the Company’s reportable segments (in thousands):

 

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 

Net sales:

                

Engineered Steel Pressure Pipe

 $80,493  $83,663  $221,294  $235,446 

Precast Infrastructure and Engineered Systems

  38,229   39,321   112,897   115,391 

Total

 $118,722  $122,984  $334,191  $350,837 
                 

Gross profit:

                

Engineered Steel Pressure Pipe

 $10,911  $14,196  $31,264  $32,490 

Precast Infrastructure and Engineered Systems

  8,383   10,922   27,088   31,494 

Total

 $19,294  $25,118  $58,352  $63,984 

 

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Note 14 - Recent Accounting and Reporting Developments
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Accounting Standards Update and Change in Accounting Principle [Text Block]

14.

Recent Accounting and Reporting Developments

 

There have been no developments to recently issued accounting standards, including the expected dates of adoption and estimated effects on the Company’s Condensed Consolidated Financial Statements and disclosures in Notes to Condensed Consolidated Financial Statements, from those disclosed in the Company’s 2022 Form 10‑K, except for the following.

 

Accounting Changes

 

In October 2021, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2021‑08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU 2021‑08”) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic 606, “Revenue from Contracts with Customers,” as if it had originated the contracts. The Company adopted ASU 2021‑08 on January 1, 2023 and the impact was not material to the Company’s financial position, results of operations, or cash flows.

 

Recent Accounting Standards

 

In March 2023, the FASB issued ASU No. 2023‑01 “Leases (Topic 842): Common Control Arrangements” (“ASU 2023‑01”) which requires leasehold improvements associated with common control leases be (1) amortized by the lessee over the useful life of the leasehold improvements to the common control group as long as the lessee controls the use of the underlying asset through a lease and (2) accounted for as a transfer between entities under common control through an adjustment to equity if, and when, the lessee no longer controls the use of the underlying asset. ASU 2023‑01 is effective for the Company beginning January 1, 2024, including interim periods in 2024, with early adoption permitted. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

 

In October 2023, the FASB issued ASU No. 2023‑06, “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU 2023‑06”) which incorporates certain SEC disclosure requirements into the Accounting Standards Codification. The effective date for each amendment in ASU 2023‑06 will be the effective date of the removal of the disclosure requirement from Regulation S‑X or Regulation S‑K, with early adoption prohibited. The amendments should be applied prospectively. The Company does not expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Note 15 - Subsequent Event
9 Months Ended
Sep. 30, 2023
Notes to Financial Statements  
Subsequent Events [Text Block]

15.

Subsequent Event

 

Share Repurchase Program

 

On November 2, 2023, the Company announced its authorization of a share repurchase program of up to $30 million of its outstanding common stock. The program does not commit to any particular timing or quantity of purchases, and the program may be suspended or discontinued at any time. Under the program, shares may be purchased in open market, including through Rule 10b5‑1 trading plans, or in privately negotiated transactions. Any repurchases will be subject to the Company’s liquidity, including availability of borrowings and covenant compliance under the Amended Credit Agreement, and other capital allocation priorities of the business.

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Insider Trading Arr Line Items    
Material Terms of Trading Arrangement [Text Block]  

Item 5. Other Information

 

On October 30, 2023, we provided written notice to Jefferies terminating the Open Market Sale Agreement in accordance with the terms. This termination will become effective on November 13, 2023.

 

Neither the Company or any of the Company’s directors or officers adopted, modified, or terminated a Rule 10b5‑1 trading arrangement or a non-Rule 10b5‑1 trading arrangement during the quarter ended September 30, 2023, as such terms are defined under Item 408(a) of Regulation S‑K.

Rule 10b5-1 Arrangement Adopted [Flag] false  
Non-Rule 10b5-1 Arrangement Adopted [Flag] false  
Rule 10b5-1 Arrangement Terminated [Flag] false  
Non-Rule 10b5-1 Arrangement Terminated [Flag] false  
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Note 2 - Inventories (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Schedule Of Inventory Current And Non Current [Table Text Block]
  

September 30, 2023

  

December 31, 2022

 
         

Raw materials

 $59,408  $47,978 

Work-in-process

  9,180   5,114 

Finished goods

  12,205   15,773 

Supplies

  2,300   2,164 

Total inventories

 $83,093  $71,029 
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Note 5 - Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]
  

Total

  

Level 1

  

Level 2

  

Level 3

 

As of September 30, 2023

                

Financial assets:

                

Deferred compensation plan

 $3,605  $3,082  $523  $- 

Foreign currency forward contracts

  18   -   18   - 

Interest rate swaps

  657   -   657   - 

Total financial assets

 $4,280  $3,082  $1,198  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(1

)

 $-  $(1

)

 $- 
                 

As of December 31, 2022

                

Financial assets:

                

Deferred compensation plan

 $3,587  $3,090  $497  $- 

Foreign currency forward contracts

  728   -   728   - 

Interest rate swaps

  862   -   862   - 

Total financial assets

 $5,177  $3,090  $2,087  $- 
                 

Financial liabilities:

                

Foreign currency forward contracts

 $(80

)

 $-  $(80

)

 $- 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Note 6 - Derivative Instruments and Hedging Activities (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Derivative Instruments, Gain (Loss) [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Foreign currency forward contracts:

                

Net sales

 $77  $599  $(601

)

 $841 

Property and equipment

  (22

)

  32   (109

)

  (95

)

                 

Interest rate swaps:

                

Interest expense

  201   4   553   (78

)

Total

 $256  $635  $(157

)

 $668 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Note 7 - Share-based Compensation (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Cost of sales

 $275  $474  $816  $822 

Selling, general, and administrative expense

  471   695   2,234   1,655 

Total

 $746  $1,169  $3,050  $2,477 
Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block]
  

Number of RSUs and PSAs (1)

  

Weighted-Average Grant Date Fair Value

 
         

Unvested RSUs and PSAs as of December 31, 2022

  200,924  $30.80 

RSUs and PSAs granted

  134,498   28.41 

Unvested RSUs and PSAs canceled

  (13,589

)

  30.82 

RSUs and PSAs vested (2)

  (95,442

)

  30.12 

Unvested RSUs and PSAs as of September 30, 2023

  226,391   29.66 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Note 9 - Revenue (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Over time (Engineered Steel Pressure Pipe)

 $80,493  $83,663  $221,294  $235,446 

Point in time (Precast Infrastructure and Engineered Systems)

  38,229   39,321   112,897   115,391 

Net sales

 $118,722  $122,984  $334,191  $350,837 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Note 11 - Accumulated Other Comprehensive Loss (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block]
  

Pension Liability Adjustment

  

Unrealized Gain (Loss) on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2022

 $(1,532

)

 $94  $649  $(789

)

                 

Other comprehensive income (loss) before reclassifications

  78   (115

)

  266   229 

Amounts reclassified from Accumulated other comprehensive loss

  10   17   (418

)

  (391

)

Net current period other comprehensive income (loss)

  88   (98

)

  (152

)

  (162

)

                 

Balances, September 30, 2023

 $(1,444

)

 $(4

)

 $497  $(951

)

  

Pension Liability Adjustment

  

Unrealized Loss on Foreign Currency Forward Contracts Designated as Cash Flow Hedges

  

Unrealized Gain on Interest Rate Swaps Designated as Cash Flow Hedges

  

Total

 
                 

Balances, December 31, 2021

 $(1,487

)

 $(195

)

 $-  $(1,682

)

                 

Other comprehensive income (loss) before reclassifications

  61   (383

)

  602   280 

Amounts reclassified from Accumulated other comprehensive loss

  5   138   59   202 

Net current period other comprehensive income (loss)

  66   (245

)

  661   482 
                 

Balances, September 30, 2022

 $(1,421

)

 $(440

)

 $661  $(1,200

)

Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]
  

Amount reclassified from

Accumulated Other Comprehensive Loss

 

Affected line item in

the Condensed

  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 

Consolidated Statements of

  

2023

  

2022

  

2023

  

2022

 

Operations

                  

Pension liability adjustment:

                 

Net periodic pension cost:

                 

Service cost

 $(4

)

 $(2

)

 $(10

)

 $(5

)

Cost of sales

   (4

)

  (2

)

  (10

)

  (5

)

Net of tax

                  

Unrealized gain (loss) on foreign currency forward contracts:

                 

Gain (loss) on cash flow hedges

  10   35   87   (56

)

Net sales

Loss on cash flow hedges

  (22

)

  -   (109

)

  (127

)

Property and equipment

Associated income tax benefit

  3   22   5   45 

Income tax expense

   (9

)

  57   (17

)

  (138

)

Net of tax

                  

Unrealized gain (loss) on interest rate swaps:

                 

Gain (loss) on cash flow hedges

  201   4   553   (78

)

Interest expense

Associated income tax (expense) benefit

  (49

)

  (1

)

  (135

)

  19 

Income tax expense

   152   3   418   (59

)

Net of tax

                  

Total reclassifications for the period

 $139  $58  $391  $(202

)

 
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Note 12 - Net Income Per Share (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 
                 

Net income

 $5,818  $9,956  $15,628  $23,188 
                 

Basic weighted-average common shares outstanding

  10,014   9,927   9,985   9,909 

Effect of potentially dilutive common shares (1)

  93   83   103   79 

Diluted weighted-average common shares outstanding

  10,107   10,010   10,088   9,988 
                 

Net income per common share:

                

Basic

 $0.58  $1.00  $1.57  $2.34 

Diluted

 $0.58  $0.99  $1.55  $2.32 
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Note 13 - Segment Information (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

Three Months Ended September 30,

  

Nine Months Ended September 30,

 
  

2023

  

2022

  

2023

  

2022

 

Net sales:

                

Engineered Steel Pressure Pipe

 $80,493  $83,663  $221,294  $235,446 

Precast Infrastructure and Engineered Systems

  38,229   39,321   112,897   115,391 

Total

 $118,722  $122,984  $334,191  $350,837 
                 

Gross profit:

                

Engineered Steel Pressure Pipe

 $10,911  $14,196  $31,264  $32,490 

Precast Infrastructure and Engineered Systems

  8,383   10,922   27,088   31,494 

Total

 $19,294  $25,118  $58,352  $63,984 
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Note 1 - Organization and Basis of Presentation (Details Textual)
9 Months Ended
Sep. 30, 2023
Number of Operating Segments 2
Number of Manufacturing Facilities 13
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Note 2 - Inventories - Components of Inventories (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Raw materials $ 59,408 $ 47,978
Work-in-process 9,180 5,114
Finished goods 12,205 15,773
Supplies 2,300 2,164
Total inventories $ 83,093 $ 71,029
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Note 3 - Current Debt (Details Textual) - Interim Funding AgreementIFA [Member]
$ in Millions
Nov. 02, 2023
USD ($)
Aug. 31, 2022
USD ($)
Sep. 30, 2023
USD ($)
Dec. 31, 2022
USD ($)
Debt Instrument, Face Amount   $ 10.8    
Short-Term Debt     $ 10.8 $ 10.8
Subsequent Event [Member]        
Maximum Senior Leverage Ratio 3      
Debt Instrument, Covenant, Minimum EBITDA $ 35.0      
Secured Overnight Financing Rate (SOFR) [Member]        
Debt Instrument, Basis Spread on Variable Rate   1.75%    
Secured Overnight Financing Rate (SOFR) [Member] | Subsequent Event [Member]        
Debt Instrument, Basis Spread on Variable Rate 2.00%      
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Note 4 - Credit Agreement (Details Textual)
$ in Millions
9 Months Ended
Oct. 22, 2021
USD ($)
Sep. 30, 2023
USD ($)
Dec. 31, 2022
USD ($)
Letters of Credit Outstanding, Amount   $ 1.1  
Wells Fargo Bank, N.A. [Member]      
Line of Credit Facility, Maximum Borrowing Capacity $ 125.0    
Line of Credit Facility, Increase (Decrease), Net   50.0  
Maximum Senior Leverage Ratio Requirement 3    
Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization $ 35.0    
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member]      
Long-Term Line of Credit   58.1 $ 83.7
Letters of Credit Outstanding, Amount   1.1 $ 1.1
Line of Credit Facility, Remaining Borrowing Capacity   $ 66.0  
Debt, Weighted Average Interest Rate   7.40% 6.07%
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) [Member] | Minimum [Member]      
Debt Instrument, Basis Spread on Variable Rate   1.75%  
Line of Credit Facility, Unused Capacity, Commitment Fee Percentage   0.30%  
Wells Fargo Bank, N.A. [Member] | Revolving Credit Facility [Member] | Secured Overnight Financing Rate (SOFR) [Member] | Maximum [Member]      
Debt Instrument, Basis Spread on Variable Rate   2.35%  
Line of Credit Facility, Unused Capacity, Commitment Fee Percentage   0.40%  
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Total financial assets $ 4,280 $ 5,177
Fair Value, Inputs, Level 1 [Member]    
Total financial assets 3,082 3,090
Fair Value, Inputs, Level 2 [Member]    
Total financial assets 1,198 2,087
Fair Value, Inputs, Level 3 [Member]    
Total financial assets 0 0
Deferred Compensation Plan [Member]    
Deferred compensation plan 3,605 3,587
Deferred Compensation Plan [Member] | Fair Value, Inputs, Level 1 [Member]    
Deferred compensation plan 3,082 3,090
Deferred Compensation Plan [Member] | Fair Value, Inputs, Level 2 [Member]    
Deferred compensation plan 523 497
Deferred Compensation Plan [Member] | Fair Value, Inputs, Level 3 [Member]    
Deferred compensation plan 0 0
Foreign Exchange Forward [Member]    
Derivative assets 18 728
Foreign currency forward contracts (1) (80)
Foreign Exchange Forward [Member] | Fair Value, Inputs, Level 1 [Member]    
Derivative assets 0 0
Foreign currency forward contracts 0 0
Foreign Exchange Forward [Member] | Fair Value, Inputs, Level 2 [Member]    
Derivative assets 18 728
Foreign currency forward contracts (1) (80)
Foreign Exchange Forward [Member] | Fair Value, Inputs, Level 3 [Member]    
Derivative assets 0 0
Foreign currency forward contracts 0 0
Interest Rate Swap [Member]    
Derivative assets 657 862
Interest Rate Swap [Member] | Fair Value, Inputs, Level 1 [Member]    
Derivative assets 0 0
Interest Rate Swap [Member] | Fair Value, Inputs, Level 2 [Member]    
Derivative assets 657 862
Interest Rate Swap [Member] | Fair Value, Inputs, Level 3 [Member]    
Derivative assets $ 0 $ 0
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Note 6 - Derivative Instruments and Hedging Activities (Details Textual)
$ in Thousands, € in Millions, $ in Millions
9 Months Ended
Sep. 30, 2023
USD ($)
Sep. 30, 2023
CAD ($)
Sep. 30, 2023
EUR (€)
Apr. 03, 2023
Dec. 31, 2022
USD ($)
Dec. 31, 2022
CAD ($)
Dec. 31, 2022
EUR (€)
Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax $ 700            
Reclassified to Net Sales [Member]              
Cash Flow Hedge Gain (Loss) to be Reclassified within 12 Months 0            
Reclassified to Interest Expense [Member]              
Cash Flow Hedge Gain (Loss) to be Reclassified within 12 Months 400            
The 1.941% Interest Rate Swap [Member] | Cash Flow Hedging [Member]              
Derivative, Notional Amount $ 11,700       $ 26,700    
Derivative, Fixed Interest Rate 1.941% 1.941% 1.941%        
The 2.96% Interest Rate Swap [Member] | Cash Flow Hedging [Member]              
Derivative, Notional Amount $ 13,800            
Derivative, Fixed Interest Rate       2.96%      
Designated as Hedging Instrument [Member] | Foreign Exchange Forward [Member]              
Derivative, Notional Amount 6,900 $ 9.3     17,100 $ 23.2  
Designated as Hedging Instrument [Member] | Foreign Exchange Forward 1 [Member]              
Derivative, Notional Amount 1,100   € 1.1   1,100   € 1.1
Not Designated as Hedging Instrument [Member] | Foreign Exchange Forward [Member]              
Derivative, Notional Amount 5,500 $ 7.5     $ 300 $ 0.4  
Not Designated as Hedging Instrument [Member] | Foreign Exchange Forward 1 [Member]              
Derivative, Notional Amount $ 1,100   € 1.1        
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details) - Not Designated as Hedging Instrument [Member] - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Gains (losses) recognized on derivatives $ 256 $ 635 $ (157) $ 668
Foreign Exchange Forward [Member] | Sales [Member]        
Gains (losses) recognized on derivatives 77 599 (601) 841
Foreign Exchange Forward [Member] | Property and Equipment [Member]        
Gains (losses) recognized on derivatives (22) 32 (109) (95)
Interest Rate Swap [Member] | Interest Expense [Member]        
Gains (losses) recognized on derivatives $ 201 $ 4 $ 553 $ (78)
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Note 7 - Share-based Compensation (Details Textual)
$ in Millions
9 Months Ended 12 Months Ended
Sep. 30, 2023
USD ($)
shares
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Number Of Active Stock Incentive Plans 1      
Number Of Inactive Stock Incentive Plans 1      
Performance Shares [Member]        
Performance Share Award Target Level, Percentage 100.00%      
Performance Awards Issued Multiplier   132.00% 126.00% 159.00%
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares) | shares 170,000      
Performance Shares [Member] | Minimum [Member]        
Performance Awards Issued Multiplier 0.00%      
Performance Shares [Member] | Maximum [Member]        
Performance Awards Issued Multiplier 200.00%      
Restricted Stock Units and Performance Stock Awards [Member]        
Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount | $ $ 4.4      
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 1 year 8 months 12 days      
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Share-based compensation expense $ 746 $ 1,169 $ 3,050 $ 2,477
Cost of Sales [Member]        
Share-based compensation expense 275 474 816 822
Selling, General and Administrative Expenses [Member]        
Share-based compensation expense $ 471 $ 695 $ 2,234 $ 1,655
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Note 7 - Share-based Compensation - RSU and PSA Activity (Details) - Restricted Stock Units and Performance Stock Awards [Member]
9 Months Ended
Sep. 30, 2023
$ / shares
shares
Unvested RSUs and PSAs (in shares) | shares 200,924 [1]
Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) | $ / shares $ 30.8
RSUs and PSAs granted (in shares) | shares 134,498 [1]
RSUs and PSAs granted (in dollars per share) | $ / shares $ 28.41
Unvested RSUs and PSAs canceled (in shares) | shares (13,589) [1]
Unvested RSUs and PSAs canceled, weighted average grant date fair value (in dollars per share) | $ / shares $ 30.82
RSUs and PSAs vested (in shares) | shares (95,442) [1],[2]
RSUs and PSAs vested, weighted average grant date fair value (in dollars per share) | $ / shares $ 30.12 [2]
Unvested RSUs and PSAs (in shares) | shares 226,391 [1]
Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share) | $ / shares $ 29.66
[1] The number of PSAs disclosed in this table are at the target level of 100%.
[2] For the PSAs vested on March 31, 2023, the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of 100%, as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the 2020-2022 performance period, 126% for the 2021-2022 performance period, and 132% for the 2022 performance period.
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Note 8 - Commitments and Contingencies (Details Textual)
$ in Millions
1 Months Ended
Jan. 31, 2017
USD ($)
Sep. 30, 2023
USD ($)
Jun. 30, 2014
USD ($)
Other Commitment, Amount Paid for Equipment Purchased Yet Not Received   $ 1.1  
Letters of Credit Outstanding, Amount   $ 1.1  
Portland Harbor Natural Resources Trustee Council [Member]      
Loss Contingency, Accrual, Current     $ 0.4
Portland Harbor Superfund Site [Member]      
Number Of Potentially Responsible Parties 150    
Estimated Cost of EPA Selected Remedy $ 1,000.0    
Estimated Time to Complete Selected EPA Remedy (Year) 13 years    
Lower Willamette Group [Member]      
Number Of Potentially Responsible Parties 14    
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Note 9 - Revenue 1 (Details Textual) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price $ (0.8) $ 0.2 $ (0.8) $ (0.2)
Contract with Customer, Liability, Revenue Recognized 13.5 $ 2.8 15.0 $ 2.6
Revenue, Remaining Performance Obligation, Amount $ 253.0   $ 253.0  
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Note 9 - Revenue 2 (Details Textual)
Sep. 30, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Revenue, Remaining Performance Obligation, Percentage 27.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 3 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Remaining Performance Obligation, Percentage 44.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 1 year
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Note 9 - Revenue - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Net sales $ 118,722 $ 122,984 $ 334,191 $ 350,837
Transferred over Time [Member]        
Net sales 80,493 83,663 221,294 235,446
Transferred at Point in Time [Member]        
Net sales $ 38,229 $ 39,321 $ 112,897 $ 115,391
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Note 10 - Income Taxes (Details Textual)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Open Tax Year     2019 2020 2021 2022 2023  
Effective Income Tax Rate Reconciliation, Percent 25.70% 26.30% 26.60% 26.40%
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Balances     $ (789)  
Net current period other comprehensive income (loss) $ (27) $ 608 (162) $ 482
Balances (951)   (951)  
Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]        
Balances     (1,532) (1,487)
Other comprehensive income (loss) before reclassifications     78 61
Amounts reclassified from Accumulated other comprehensive loss     10 5
Net current period other comprehensive income (loss)     88 66
Balances (1,444) (1,421) (1,444) (1,421)
Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Foreign Exchange Forward [Member]        
Balances     94 (195)
Other comprehensive income (loss) before reclassifications     (115) (383)
Amounts reclassified from Accumulated other comprehensive loss     17 138
Net current period other comprehensive income (loss)     (98) (245)
Balances (4) (440) (4) (440)
Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Interest Rate Swap [Member]        
Balances     649 0
Other comprehensive income (loss) before reclassifications     266 602
Amounts reclassified from Accumulated other comprehensive loss     (418) 59
Net current period other comprehensive income (loss)     (152) 661
Balances 497 661 497 661
AOCI Attributable to Parent [Member]        
Balances     (789) (1,682)
Other comprehensive income (loss) before reclassifications     229 280
Amounts reclassified from Accumulated other comprehensive loss     (391) 202
Net current period other comprehensive income (loss)     (162) 482
Balances $ (951) $ (1,200) $ (951) $ (1,200)
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Cost of sales $ 99,428 $ 97,866 $ 275,839 $ 286,853
Net sales 118,722 122,984 334,191 350,837
Tax (expense) benefit (2,016) (3,555) (5,659) (8,310)
Interest expense 1,162 964 3,722 2,393
Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]        
Total reclassifications for the period     (10) (5)
Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Foreign Exchange Forward [Member]        
Total reclassifications for the period     (17) (138)
Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Interest Rate Swap [Member]        
Total reclassifications for the period     418 (59)
Reclassification out of Accumulated Other Comprehensive Income [Member]        
Total reclassifications for the period 139 58 391 (202)
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]        
Cost of sales (4) (2) (10) (5)
Total reclassifications for the period (4) (2) (10) (5)
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Foreign Exchange Forward [Member]        
Total reclassifications for the period (9) 57 (17) (138)
Net sales 10 35 87 (56)
Property and equipment (22) 0 (109) (127)
Tax (expense) benefit 3 22 5 45
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | Interest Rate Swap [Member]        
Total reclassifications for the period 152 3 418 (59)
Tax (expense) benefit (49) (1) (135) 19
Interest expense $ 201 $ 4 $ 553 $ (78)
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Note 12 - Net Income Per Share (Details Textual) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares) 0 0 0 0
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Net income $ 5,818 $ 9,956 $ 15,628 $ 23,188
Basic (in shares) 10,014 9,927 9,985 9,909
Effect of potentially dilutive common shares (in shares) [1] 93 83 103 79
Diluted weighted-average common shares outstanding (in shares) 10,107 10,010 10,088 9,988
Basic (in dollars per share) $ 0.58 $ 1 $ 1.57 $ 2.34
Diluted (in dollars per share) $ 0.58 $ 0.99 $ 1.55 $ 2.32
[1] There were no antidilutive shares for the three and nine months ended September 30, 2023 or 2022.
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Net sales $ 118,722 $ 122,984 $ 334,191 $ 350,837
Gross profit 19,294 25,118 58,352 63,984
Operating Segments [Member] | Engineered Steel Pressure Pipe [Member]        
Net sales 80,493 83,663 221,294 235,446
Gross profit 10,911 14,196 31,264 32,490
Operating Segments [Member] | Precast Infrastructure and Engineered Systems [Member]        
Net sales 38,229 39,321 112,897 115,391
Gross profit $ 8,383 $ 10,922 $ 27,088 $ 31,494
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Note 15 - Subsequent Event (Details Textual)
$ in Millions
Nov. 02, 2023
USD ($)
Subsequent Event [Member]  
Stock Repurchase Program, Authorized Amount $ 30
XML 64 nwpx20230930_10q_htm.xml IDEA: XBRL DOCUMENT 0001001385 2023-01-01 2023-09-30 0001001385 2023-10-25 0001001385 2023-07-01 2023-09-30 0001001385 2022-07-01 2022-09-30 0001001385 2022-01-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2023-07-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2022-07-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2023-01-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember 2022-01-01 2022-09-30 0001001385 2023-09-30 0001001385 2022-12-31 0001001385 us-gaap:CommonStockMember 2023-06-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001001385 us-gaap:RetainedEarningsMember 2023-06-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001001385 2023-06-30 0001001385 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001001385 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001001385 us-gaap:CommonStockMember 2023-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001001385 us-gaap:RetainedEarningsMember 2023-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001001385 us-gaap:CommonStockMember 2022-06-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001001385 us-gaap:RetainedEarningsMember 2022-06-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001001385 2022-06-30 0001001385 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001001385 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001001385 us-gaap:CommonStockMember 2022-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001001385 us-gaap:RetainedEarningsMember 2022-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001001385 2022-09-30 0001001385 us-gaap:CommonStockMember 2022-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001001385 us-gaap:RetainedEarningsMember 2022-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001001385 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001001385 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001001385 us-gaap:CommonStockMember 2021-12-31 0001001385 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001001385 us-gaap:RetainedEarningsMember 2021-12-31 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001001385 2021-12-31 0001001385 us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001001385 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001001385 us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001001385 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001001385 us-gaap:PensionPlansDefinedBenefitMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001001385 nwpx:InterimFundingAgreementifaMember 2022-08-31 0001001385 nwpx:InterimFundingAgreementifaMember nwpx:SecuredOvernightFinancingRateSOFRMember 2022-08-31 2022-08-31 0001001385 nwpx:InterimFundingAgreementifaMember us-gaap:SubsequentEventMember nwpx:SecuredOvernightFinancingRateSOFRMember 2023-11-02 2023-11-02 0001001385 nwpx:InterimFundingAgreementifaMember us-gaap:SubsequentEventMember 2023-11-02 0001001385 nwpx:InterimFundingAgreementifaMember 2023-09-30 0001001385 nwpx:InterimFundingAgreementifaMember 2022-12-31 0001001385 nwpx:WellsFargoBankNAMember 2021-10-22 0001001385 nwpx:WellsFargoBankNAMember 2023-01-01 2023-09-30 0001001385 nwpx:WellsFargoBankNAMember 2021-10-22 2021-10-22 0001001385 us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember 2023-09-30 0001001385 us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember 2022-12-31 0001001385 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember nwpx:SecuredOvernightFinancingRateSOFRMember 2023-01-01 2023-09-30 0001001385 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember nwpx:WellsFargoBankNAMember nwpx:SecuredOvernightFinancingRateSOFRMember 2023-01-01 2023-09-30 0001001385 nwpx:DeferredCompensationPlanMember 2023-09-30 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel1Member 2023-09-30 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel2Member 2023-09-30 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel3Member 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel1Member 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel2Member 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel3Member 2023-09-30 0001001385 us-gaap:InterestRateSwapMember 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2023-09-30 0001001385 us-gaap:FairValueInputsLevel1Member 2023-09-30 0001001385 us-gaap:FairValueInputsLevel2Member 2023-09-30 0001001385 us-gaap:FairValueInputsLevel3Member 2023-09-30 0001001385 nwpx:DeferredCompensationPlanMember 2022-12-31 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001001385 nwpx:DeferredCompensationPlanMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001001385 us-gaap:InterestRateSwapMember 2022-12-31 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001001385 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001001385 us-gaap:FairValueInputsLevel1Member 2022-12-31 0001001385 us-gaap:FairValueInputsLevel2Member 2022-12-31 0001001385 us-gaap:FairValueInputsLevel3Member 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-09-30 0001001385 nwpx:ForeignExchangeForward1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2023-09-30 0001001385 nwpx:ForeignExchangeForward1Member us-gaap:NondesignatedMember 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001001385 nwpx:ForeignExchangeForward1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2022-12-31 0001001385 nwpx:The1941InterestRateSwapMember us-gaap:CashFlowHedgingMember 2023-09-30 0001001385 nwpx:The1941InterestRateSwapMember us-gaap:CashFlowHedgingMember 2022-12-31 0001001385 nwpx:The296InterestRateSwapMember us-gaap:CashFlowHedgingMember 2023-04-03 0001001385 nwpx:The296InterestRateSwapMember us-gaap:CashFlowHedgingMember 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember us-gaap:SalesMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember us-gaap:SalesMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember us-gaap:SalesMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember us-gaap:SalesMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember nwpx:PropertyAndEquipmentMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember nwpx:PropertyAndEquipmentMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember nwpx:PropertyAndEquipmentMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember nwpx:PropertyAndEquipmentMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember us-gaap:InterestExpenseMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember us-gaap:InterestExpenseMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember us-gaap:InterestExpenseMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember us-gaap:InterestExpenseMember 2022-01-01 2022-09-30 0001001385 us-gaap:NondesignatedMember 2023-07-01 2023-09-30 0001001385 us-gaap:NondesignatedMember 2022-07-01 2022-09-30 0001001385 us-gaap:NondesignatedMember 2023-01-01 2023-09-30 0001001385 us-gaap:NondesignatedMember 2022-01-01 2022-09-30 0001001385 nwpx:ReclassifiedToNetSalesMember 2023-01-01 2023-09-30 0001001385 nwpx:ReclassifiedToInterestExpenseMember 2023-01-01 2023-09-30 0001001385 us-gaap:CostOfSalesMember 2023-07-01 2023-09-30 0001001385 us-gaap:CostOfSalesMember 2022-07-01 2022-09-30 0001001385 us-gaap:CostOfSalesMember 2023-01-01 2023-09-30 0001001385 us-gaap:CostOfSalesMember 2022-01-01 2022-09-30 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-07-01 2023-09-30 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-07-01 2022-09-30 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-09-30 0001001385 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-09-30 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2022-12-31 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2023-01-01 2023-09-30 0001001385 nwpx:RestrictedStockUnitsAndPerformanceStockAwardsMember 2023-09-30 0001001385 us-gaap:PerformanceSharesMember 2023-09-30 0001001385 us-gaap:PerformanceSharesMember 2020-01-01 2020-12-31 0001001385 us-gaap:PerformanceSharesMember 2021-01-01 2021-12-31 0001001385 us-gaap:PerformanceSharesMember 2022-01-01 2022-12-31 0001001385 srt:MinimumMember us-gaap:PerformanceSharesMember 2023-01-01 2023-09-30 0001001385 srt:MaximumMember us-gaap:PerformanceSharesMember 2023-01-01 2023-09-30 0001001385 nwpx:LowerWillametteGroupMember 2017-01-31 0001001385 nwpx:PortlandHarborSuperfundSiteMember 2017-01-01 2017-01-31 0001001385 nwpx:PortlandHarborSuperfundSiteMember 2017-01-31 0001001385 nwpx:PortlandHarborNaturalreSourcesTrusteeCouncilMember 2014-06-30 0001001385 us-gaap:TransferredOverTimeMember 2023-07-01 2023-09-30 0001001385 us-gaap:TransferredOverTimeMember 2022-07-01 2022-09-30 0001001385 us-gaap:TransferredOverTimeMember 2023-01-01 2023-09-30 0001001385 us-gaap:TransferredOverTimeMember 2022-01-01 2022-09-30 0001001385 us-gaap:TransferredAtPointInTimeMember 2023-07-01 2023-09-30 0001001385 us-gaap:TransferredAtPointInTimeMember 2022-07-01 2022-09-30 0001001385 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-09-30 0001001385 us-gaap:TransferredAtPointInTimeMember 2022-01-01 2022-09-30 0001001385 2023-10-01 2023-09-30 0001001385 2024-01-01 2023-09-30 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2022-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-12-31 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-12-31 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-09-30 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-09-30 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2021-12-31 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-12-31 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2021-12-31 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-01 2022-09-30 0001001385 us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2023-07-01 2023-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2022-07-01 2022-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2023-01-01 2023-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember 2022-01-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-07-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-07-01 2022-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-09-30 0001001385 us-gaap:ForeignExchangeForwardMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-07-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-07-01 2022-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-09-30 0001001385 us-gaap:InterestRateSwapMember us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-01-01 2022-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001001385 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2023-07-01 2023-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2022-07-01 2022-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2023-01-01 2023-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:EngineeredSteelPressurePipeMember 2022-01-01 2022-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2023-07-01 2023-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2022-07-01 2022-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2023-01-01 2023-09-30 0001001385 us-gaap:OperatingSegmentsMember nwpx:PrecastInfrastructureAndEngineeredSystemsMember 2022-01-01 2022-09-30 0001001385 us-gaap:SubsequentEventMember 2023-11-02 shares iso4217:USD iso4217:USD shares pure iso4217:CAD iso4217:EUR utr:Y thunderdome:item 0001001385 Northwest Pipe Co. false --12-31 Q3 2023 284000 369000 124175000 117856000 0.01 0.01 10000000 10000000 0 0 0 0 0.01 0.01 15000000 15000000 10014196 10014196 9927360 9927360 0 1000 -19000 0 142000 141000 0 -34000 -53000 0 -83000 218000 10800000 9300000 1100000 7500000 1100000 23200000 1100000 400000 1 1 -800000 P0Y3M P1Y 2019 2020 2021 2022 2023 0 0 0 false false false false 10-Q true 2023-09-30 false 0-27140 OR 93-0557988 201 NE Park Plaza Drive, Suite 100 Vancouver WA 98684 360 397‑6250 Common Stock, par value $0.01 per share NWPX NASDAQ Yes Yes Accelerated Filer false false false 10014196 118722000 122984000 334191000 350837000 99428000 97866000 275839000 286853000 19294000 25118000 58352000 63984000 10237000 10654000 33119000 30149000 9057000 14464000 25233000 33835000 -61000 11000 -224000 56000 1162000 964000 3722000 2393000 7834000 13511000 21287000 31498000 2016000 3555000 5659000 8310000 5818000 9956000 15628000 23188000 0.58 1 1.57 2.34 0.58 0.99 1.55 2.32 10014000 9927000 9985000 9909000 10107000 10010000 10088000 9988000 5818000 9956000 15628000 23188000 -29000 -22000 -88000 -66000 3000 158000 -98000 -245000 -59000 428000 -152000 661000 -27000 608000 -162000 482000 5791000 10564000 15466000 23670000 4058000 3681000 66997000 71563000 105420000 121778000 83093000 71029000 6638000 10689000 266206000 278740000 139812000 133166000 89605000 93124000 55504000 55504000 32117000 35264000 5844000 5542000 589088000 601340000 10756000 10756000 31156000 26968000 23786000 30957000 17264000 17456000 4899000 4702000 87861000 90839000 58076000 83696000 86529000 89472000 11639000 11402000 9845000 7657000 253950000 283066000 0 0 100000 99000 129308000 127911000 206681000 191053000 -951000 -789000 335138000 318274000 589088000 601340000 10014196 100000 128562000 200863000 -924000 328601000 0 0 5818000 0 5818000 -0 -0 -0 -29000 -29000 0 0 0 3000 3000 0 0 0 -59000 -59000 0 746000 0 0 746000 10014196 100000 129308000 206681000 -951000 335138000 9927360 99000 125517000 173136000 -1808000 296944000 0 0 9956000 0 9956000 -0 -0 -0 -22000 -22000 0 0 0 158000 158000 0 0 0 428000 428000 0 1169000 0 0 1169000 9927360 99000 126686000 183092000 -1200000 308677000 9927360 99000 127911000 191053000 -789000 318274000 0 0 15628000 0 15628000 -0 -0 -0 -88000 -88000 0 0 0 -98000 -98000 0 0 0 -152000 -152000 86836 -1000 1653000 -0 -0 1652000 0 3050000 0 0 3050000 10014196 100000 129308000 206681000 -951000 335138000 9870567 99000 125062000 159904000 -1682000 283383000 0 0 23188000 0 23188000 -0 -0 -0 -66000 -66000 0 0 0 -245000 -245000 0 0 0 661000 661000 56793 -0 853000 -0 -0 853000 0 2477000 0 0 2477000 9927360 99000 126686000 183092000 -1200000 308677000 15628000 23188000 8644000 9321000 3147000 3369000 226000 -3000 3050000 2477000 -1298000 305000 -4401000 21588000 -16165000 -3531000 12064000 11927000 -7417000 -8789000 4974000 8350000 -8477000 315000 44409000 25517000 13244000 11792000 2731000 -0 -63000 288000 -15912000 -12080000 113047000 121103000 138667000 136047000 0 3525000 548000 409000 1652000 853000 -300000 -47000 -28120000 -12728000 377000 709000 3681000 2997000 4058000 3706000 528000 614000 0 1820000 952000 26000 3243000 894000 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a href="#" id="notes" title="notes"></a>NORTHWEST PIPE COMPANY AND SUBSIDIARIES</b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</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;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">1.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Organization and Basis of Presentation</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">Northwest Pipe Company (collectively with its subsidiaries, the “Company”) is a leading manufacturer of water-related infrastructure products, and operates in two segments, Engineered Steel Pressure Pipe (“SPP”) and Precast Infrastructure and Engineered Systems (“Precast”). This segment presentation is consistent with how the Company’s chief operating decision maker, its Chief Executive Officer, evaluates performance of the Company and makes decisions regarding the allocation of resources. See Note <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">13,</em> “Segment Information” for detailed descriptions of these segments.</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;text-align:justify;margin:0pt;">In addition to being the largest manufacturer of engineered steel water pipeline systems in North America, the Company manufactures stormwater and wastewater technology products; high-quality precast and reinforced concrete products; pump lift stations; steel casing pipe, bar-wrapped concrete cylinder pipe, and <em style="font: inherit;">one</em> of the largest offerings of pipeline system joints, fittings, and specialized components. Strategically positioned to meet growing water and wastewater infrastructure needs, the Company provides solution-based products for a wide range of markets under the ParkUSA, Geneva Pipe and Precast, Permalok®, and Northwest Pipe Company lines. The Company is headquartered in Vancouver, Washington, and has 13 manufacturing facilities across North America.</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;text-align:justify;margin:0pt;">The Condensed Consolidated Financial Statements are expressed in United States Dollars and include the accounts of the Company and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated.</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;text-align:justify;margin:0pt;">The accompanying unaudited interim Condensed Consolidated Financial Statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) for interim financial information. The financial information as of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022</em> is derived from the audited Consolidated Financial Statements presented in the Company’s Annual Report on Form <em style="font: inherit;">10‑K</em> for the year ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022</em> (<em style="font: inherit;">“2022</em> Form <em style="font: inherit;">10‑K”</em>). Certain information and footnote disclosures normally included in consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and the accounting standards for interim financial statements. In the opinion of management, the accompanying Condensed Consolidated Financial Statements include all adjustments necessary (which are of a normal and recurring nature) for the fair statement of the results of the interim periods presented. The Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements and Notes thereto together with management’s discussion and analysis of financial condition and results of operations contained in the Company’s <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10‑K.</em></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;text-align:justify;margin:0pt;">Operating results for 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;">2023</em> are <em style="font: inherit;">not</em> necessarily indicative of the results that <em style="font: inherit;"> may </em>be expected for the entire fiscal year ending <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023.</em></p> 2 13 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">2.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Inventories</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">Inventories consist of the following (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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%;"> </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: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>September 30, 2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </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: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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%;"> </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: 13%;"> </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: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Raw materials</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,408</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;">47,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Work-in-process</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;">9,180</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;">5,114</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Finished goods</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;">12,205</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;">15,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Supplies</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: 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; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; 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; 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; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,164</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt 0pt 0pt 9pt;">Total inventories</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: 3px double rgb(0, 0, 0);">$</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: 3px double rgb(0, 0, 0);">83,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; 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; border-bottom: 3px double rgb(0, 0, 0);">$</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: 3px double rgb(0, 0, 0);">71,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 0pt; margin-right: 0pt;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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%;"> </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: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>September 30, 2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </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: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><b>December 31, 2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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%;"> </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: 13%;"> </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: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Raw materials</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59,408</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;">47,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Work-in-process</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;">9,180</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;">5,114</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Finished goods</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;">12,205</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;">15,773</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt;">Supplies</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: 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; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,300</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; 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; 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; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,164</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><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: 0pt 0pt 0pt 9pt;">Total inventories</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: 3px double rgb(0, 0, 0);">$</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: 3px double rgb(0, 0, 0);">83,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; 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; border-bottom: 3px double rgb(0, 0, 0);">$</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: 3px double rgb(0, 0, 0);">71,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 59408000 47978000 9180000 5114000 12205000 15773000 2300000 2164000 83093000 71029000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><tbody><tr style="vertical-align: top; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="width: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; text-align: justify; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">3.</em> </b></p> </td><td style="width: auto; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Current Debt</b></td></tr> </tbody></table> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"> </p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;">The Interim Funding Agreement dated <em style="font: inherit;"> August </em><em style="font: inherit;">2,</em> <em style="font: inherit;">2022</em> with Wells Fargo Equipment Finance, Inc. (“WFEF”), as amended <em style="font: inherit;"> January </em><em style="font: inherit;">23,</em> <em style="font: inherit;">2023,</em> <em style="font: inherit;"> March </em><em style="font: inherit;">15,</em> <em style="font: inherit;">2023,</em> <em style="font: inherit;"> July </em><em style="font: inherit;">21,</em> <em style="font: inherit;">2023,</em> and <em style="font: inherit;"> November </em><em style="font: inherit;">2,</em> <em style="font: inherit;">2023</em> (together, the “IFA”), provides for aggregate interim funding advances up to $10.8 million of equipment purchased for a new reinforced concrete pipe mill, to be converted into a term loan upon final delivery and acceptance of the financed equipment. The IFA bore interest at the term Secured Overnight Finance Rate (“SOFR”) plus 1.75% through <em style="font: inherit;"> January </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023</em> and the SOFR Average plus 1.75% from <em style="font: inherit;"> February </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2023</em> through <em style="font: inherit;"> November </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2023.</em> Effective <em style="font: inherit;"> November </em><em style="font: inherit;">2,</em> <em style="font: inherit;">2023,</em> the IFA bears interest at the SOFR Average plus 2.00%. The IFA requires monthly payments of accrued interest and grants a security interest in the equipment to WFEF. Effective <em style="font: inherit;"> November </em><em style="font: inherit;">2,</em> <em style="font: inherit;">2023,</em> the IFA requires the Company to maintain a consolidated senior leverage ratio <em style="font: inherit;">no</em> greater than 3.00 to <em style="font: inherit;">1.00</em> (subject to certain exceptions) and a minimum consolidated earnings before interest, taxes, depreciation, and amortization (“EBITDA”) (as defined in the IFA) of at least $35 million for the <em style="font: inherit;">four</em> consecutive fiscal quarters most recently ended. As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023</em> and <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> the outstanding balance of the IFA was $10.8 million, which is classified as a current liability since there is <em style="font: inherit;">not</em> a firm commitment for long-term debt financing.</p> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:justify;"> </p> 10800000 0.0175 0.0175 0.02 3 35000000 10800000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">4.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Credit Agreement</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The Credit Agreement dated <em style="font: inherit;"> June </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2021</em> with Wells Fargo Bank, National Association (“Wells Fargo”), as administrative agent, and the lenders from time to time party thereto, including the initial sole lender, Wells Fargo (the “Lenders”), as amended by the Incremental Amendment dated <em style="font: inherit;"> October </em><em style="font: inherit;">22,</em> <em style="font: inherit;">2021,</em> the Second Amendment to Credit Agreement dated <em style="font: inherit;"> April </em><em style="font: inherit;">29,</em> <em style="font: inherit;">2022,</em> and the Third Amendment to Credit Agreement dated <em style="font: inherit;"> June </em><em style="font: inherit;">29,</em> <em style="font: inherit;">2023</em> (together, the “Amended Credit Agreement”), provides for a revolving loan, swingline loan, and letters of credit in the aggregate amount of up to $125 million (“Revolver Commitment”), with an option for the Company to increase that amount by $50 million, subject to provisions of the Amended Credit Agreement. The Amended Credit Agreement will expire, and all obligations outstanding will mature, on <em style="font: inherit;"> June </em><em style="font: inherit;">29,</em> <em style="font: inherit;">2028.</em> The Company <em style="font: inherit;"> may </em>prepay outstanding amounts at its discretion without penalty at any time, subject to applicable notice requirements.</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;text-align:justify;margin:0pt;">The Amended Credit Agreement contains customary representations and warranties, as well as customary affirmative and negative covenants, events of default, and indemnification provisions in favor of the Lenders. The negative covenants include restrictions regarding the incurrence of liens and indebtedness, annual capital expenditures, certain investments, acquisitions, and dispositions, and other matters, all subject to certain exceptions. The Amended Credit Agreement requires the Company to regularly provide financial information to Wells Fargo and to maintain a consolidated senior leverage ratio <em style="font: inherit;">no</em> greater than 3.00 to <em style="font: inherit;">1.00</em> (subject to certain exceptions) and a minimum consolidated EBITDA (as defined in the Amended Credit Agreement) of at least $35 million for the <em style="font: inherit;">four</em> consecutive fiscal quarters most recently ended. Pursuant to the Amended Credit Agreement, the Company has also agreed that it will <em style="font: inherit;">not</em> sell, assign, or otherwise dispose or encumber, any of its owned real property. The occurrence of an event of default could result in the acceleration of the obligations under the Amended Credit Agreement. The Company was in compliance with its financial covenants as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023.</em></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;text-align:justify;margin:0pt;">The Company’s obligations under the Amended Credit Agreement are secured by a senior security interest in substantially all of the Company’s and its subsidiaries’ assets.</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;text-align:justify;margin:0pt;"><b><i>Line of Credit (Revolving and Swingline Loans)</i></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;text-align:justify;margin:0pt;">As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023</em> under the Amended Credit Agreement, the Company had $58.1 million of outstanding revolving loan borrowings, $1.1 million of outstanding letters of credit, and additional borrowing capacity of approximately $66 million. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022</em> under the Amended Credit Agreement, the Company had $83.7 million of outstanding revolving loan borrowings and $1.1 million of outstanding letters of credit. Revolving loans under the Amended Credit Agreement bear interest at rates related to, at the Company’s option and subject to the provisions of the Amended Credit Agreement, either: (i) Base Rate (as defined in the Amended Credit Agreement) plus the Applicable Margin; (ii) Adjusted Term SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin; or (iii) Adjusted Daily Simple SOFR (as defined in the Amended Credit Agreement) plus the Applicable Margin. The “Applicable Margin” is 1.75% to 2.35%, depending on the Company’s Consolidated Senior Leverage Ratio (as defined in the Amended Credit Agreement) and the interest rate option chosen. Interest on outstanding revolving loans is payable monthly. Swingline loans under the Amended Credit Agreement bear interest at the Base Rate plus the Applicable Margin. As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023</em> and <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> the weighted-average interest rate for outstanding borrowings was 7.40% and 6.07%, respectively. The Amended Credit Agreement requires the payment of a commitment fee of between 0.30% and 0.40%, based on the amount by which the Revolver Commitment exceeds the average daily balance of outstanding borrowings (as defined in the Amended Credit Agreement). Such fee is payable monthly in arrears. The Company is also obligated to pay additional fees customary for credit facilities of this size and type.</p> 125000000 50000000 3 35000000 58100000 1100000 66000000 83700000 1100000 0.0175 0.0235 0.074 0.0607 0.003 0.004 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">5.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Fair Value Measurements</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement 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;text-align:justify;margin:0pt;">The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into <em style="font: inherit;">three</em> broad levels. These levels are: Level <em style="font: inherit;">1</em> (inputs are quoted prices in active markets for identical assets or liabilities); Level <em style="font: inherit;">2</em> (inputs are other than quoted prices that are observable, either directly or indirectly through corroboration with observable market data); and Level <em style="font: inherit;">3</em> (inputs are unobservable, with little or <em style="font: inherit;">no</em> market data that exists, such as internal financial forecasts). The Company is required to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>As of September 30, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Deferred compensation plan</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,605</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,082</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">523</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Interest rate swaps</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total financial 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; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,280</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,082</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,198</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>As of December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Deferred compensation plan</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,587</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,090</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">728</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">728</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Interest rate swaps</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total financial 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; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,177</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,090</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,087</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level <em style="font: inherit;">1</em> within the fair value hierarchy, as well as guaranteed investment contracts, valued at principal plus interest credited at contract rates, classified as Level <em style="font: inherit;">2</em> within the fair value hierarchy. Deferred compensation plan assets are included within Other assets in the Condensed Consolidated Balance Sheets.</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;text-align:justify;margin:0pt;">The foreign currency forward contracts and interest rate swaps are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level <em style="font: inherit;">2</em> within the fair value hierarchy. Derivative valuations incorporate credit risk adjustments that are necessary to reflect the probability of default by the counterparty or the Company. The foreign currency forward contracts and interest rate swaps are presented at their gross fair values. Foreign currency forward contract and interest rate swap assets are included within Prepaid expenses and other and foreign currency forward contract liabilities are included within Accrued liabilities in the Condensed Consolidated Balance Sheets.</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 net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, current debt, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments.</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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 1</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 2</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Level 3</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>As of September 30, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Deferred compensation plan</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,605</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,082</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">523</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">18</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Interest rate swaps</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">657</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total financial 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; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">4,280</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,082</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,198</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>As of December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"><b> </b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Deferred compensation plan</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,587</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,090</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">497</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">728</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">728</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Interest rate swaps</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">862</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total financial 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; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,177</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,090</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,087</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Financial liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Foreign currency forward contracts</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 3605000 3082000 523000 0 18000 0 18000 0 657000 0 657000 0 4280000 3082000 1198000 0 1000 -0 1000 -0 3587000 3090000 497000 0 728000 0 728000 0 862000 0 862000 0 5177000 3090000 2087000 0 80000 -0 80000 -0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><em style="font: inherit;">6.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Derivative Instruments and Hedging Activities</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">In the normal course of business, the Company is exposed to interest rate and foreign currency exchange rate fluctuations. Consistent with the Company’s strategy for financial risk management, the Company has established a program that utilizes foreign currency forward contracts and interest rate swaps to offset the risks associated with the effects of these exposures.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">For each derivative entered into in which the Company seeks to obtain cash flow hedge accounting treatment, the Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking the hedge transaction, the nature of the risk being hedged, how the hedging instrument’s effectiveness in offsetting the hedged risk will be assessed prospectively and retrospectively, and a description of the method of measuring ineffectiveness. This process includes linking all derivatives to specific firm commitments or forecasted transactions and designating the derivatives as cash flow hedges. The Company also formally assesses, both at the hedge’s inception and on an ongoing basis, whether the derivatives that are used in hedging transactions are highly effective in offsetting changes in cash flows of hedged items. The effective portion of these hedged items is reflected in Unrealized gain (loss) on cash flow hedges on the Condensed Consolidated Statements of Comprehensive Income. If it is determined that a derivative is <em style="font: inherit;">not</em> highly effective, or that it has ceased to be a highly effective hedge, the Company is required to discontinue hedge accounting with respect to that derivative prospectively.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> the total notional amount of the foreign currency forward contracts was $6.9 million (<span style="-sec-ix-hidden:c103930720">CAD$9.3</span> million) and $1.1 million (<span style="-sec-ix-hidden:c103930722">EUR€1.1</span> million), which included $5.5 million (<span style="-sec-ix-hidden:c103930724">CAD$7.5</span> million) and $1.1 million (<span style="-sec-ix-hidden:c103930726">EUR€1.1</span> million) of foreign currency forward contracts <em style="font: inherit;">not</em> designated as cash flow hedges. As of <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> the total notional amount of the foreign currency forward contracts was $17.1 million (<span style="-sec-ix-hidden:c103930731">CAD$23.2</span> million) and $1.1 million (<span style="-sec-ix-hidden:c103930733">EUR€1.1</span> million), which included $0.3 million (<span style="-sec-ix-hidden:c103930735">CAD$0.4</span> million) of foreign currency forward contracts <em style="font: inherit;">not</em> designated as cash flow hedges. As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> the Company’s foreign currency forward contracts mature at various dates through <em style="font: inherit;"> April 2025 </em>and are subject to an enforceable master netting arrangement.</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;text-align:justify;margin:0pt;">The Company has entered into interest rate swaps which effectively convert a portion of its variable-rate debt to fixed-rate debt, and are designated as cash flow hedges. The Company receives floating interest payments monthly based on SOFR and pays a fixed rate of 1.941% to the counterparty on the total notional amount of $11.7 million and $26.7 million as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023</em> and <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2022,</em> respectively, which amortizes ratably on a monthly basis to <em style="font: inherit;">zero</em> by the <em style="font: inherit;"> April 2024 </em>maturity 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;text-align:justify;margin:0pt;">On <em style="font: inherit;"> August </em><em style="font: inherit;">9,</em> <em style="font: inherit;">2022,</em> the Company entered into an interest rate swap transaction which began <em style="font: inherit;"> April </em><em style="font: inherit;">3,</em> <em style="font: inherit;">2023.</em> The Company receives floating interest payments monthly based on the SOFR Average <em style="font: inherit;">30</em> day and pays a fixed rate of 2.96% to the counterparty on the total notional amount of $13.8 million as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> which amortizes ratably on a monthly basis to <em style="font: inherit;">zero</em> by the <em style="font: inherit;"> April 2028 </em>maturity 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;text-align:justify;margin:0pt;">The following table summarizes the gains (losses) recognized on derivatives in the Condensed Consolidated Financial Statements (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Foreign currency forward contracts:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net sales</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">77</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">599</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(601</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">841</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property and equipment</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(109</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swaps:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Interest expense</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">201</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">553</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">256</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">635</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(157</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">668</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> unrealized pretax gains on outstanding cash flow hedges in Accumulated other comprehensive loss was $0.7 million, of which approximately $0 and $0.4 million are expected to be reclassified to Net sales and Interest expense, respectively, within the next <em style="font: inherit;">twelve</em> months as a result of underlying hedged transactions also being recorded in these line items. See Note <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">11,</em> “Accumulated Other Comprehensive Loss” for additional quantitative information regarding foreign currency forward contract and interest rate swap gains and losses.</p> 6900000 1100000 5500000 1100000 17100000 1100000 300000 0.01941 11700000 26700000 0.0296 13800000 <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Foreign currency forward contracts:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net sales</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">77</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">599</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(601</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">841</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Property and equipment</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(109</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(95</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swaps:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Interest expense</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">201</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">553</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">256</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">635</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(157</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">668</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 77000 599000 -601000 841000 -22000 32000 -109000 -95000 201000 4000 553000 -78000 256000 635000 -157000 668000 700000 0 400000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">7.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Share-based Compensation</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The Company has one active stock incentive plan for employees and directors, the <em style="font: inherit;">2022</em> Stock Incentive Plan, which provides for awards of stock options to purchase shares of common stock, stock appreciation rights, restricted and unrestricted shares of common stock, restricted stock units (“RSUs”), and performance share awards (“PSAs”). In addition, the Company has <span style="-sec-ix-hidden:c103930767">one</span> inactive stock incentive plan, the <em style="font: inherit;">2007</em> Stock Incentive Plan, under which previously granted awards remain outstanding.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. The Company estimates the fair value of RSUs and PSAs using the value of the Company’s stock on the date of grant. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately <em style="font: inherit;">not</em> met.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The following table summarizes share-based compensation expense recorded (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of sales</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">275</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">474</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">816</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">822</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Selling, general, and administrative expense</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">471</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,234</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,655</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">746</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,169</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,050</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,477</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <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;"><b><i>Restricted Stock Units and Performance Share Awards</i></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;text-align:justify;margin:0pt;">The Company’s stock incentive plan provides for equity instruments, such as RSUs and PSAs, which grant the right to receive a specified number of shares at specified times. RSUs and PSAs are service-based awards that vest according to the terms of the grant. PSAs have performance-based payout conditions.</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;text-align:justify;margin:0pt;">The following table summarizes the Company’s RSU and PSA activity:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number of RSUs a</b></b><b><b>nd PSAs <span style="font-size:8pt;">(1)</span></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted-</b></b><b><b>Average Grant D</b></b><b style="font-size: 10pt;"><b>ate Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested RSUs and PSAs as of December 31, 2022</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">200,924</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">RSUs and PSAs granted</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">134,498</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28.41</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Unvested RSUs and PSAs canceled</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(13,589</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">RSUs and PSAs vested <span style="font-size:8pt;">(2)</span></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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(95,442</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.12</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested RSUs and PSAs as of September 30, 2023</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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">226,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29.66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">The number of PSAs disclosed in this table are at the target level of 100%.</p> </td></tr> <tr style="vertical-align: top;"><td style="width: 18pt;"> </td><td style="width: auto;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt;"> </p> </td></tr> <tr style="vertical-align: top;"><td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">2</em>)</p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">For the PSAs vested on <em style="font: inherit;"> March </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023,</em> the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of <em style="font: inherit;">100%,</em> as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the <em style="font: inherit;">2020</em>-<em style="font: inherit;">2022</em> performance period, 126% for the <em style="font: inherit;">2021</em>-<em style="font: inherit;">2022</em> performance period, and 132% for the <em style="font: inherit;">2022</em> performance period.</p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The unvested balance of RSUs and PSAs as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023</em> includes approximately 170,000 PSAs at the target level of <span style="-sec-ix-hidden:c103930787">100%.</span> The vesting of these awards is subject to the achievement of specified performance-based conditions, and the actual number of common shares that will ultimately be issued will be determined by multiplying this number of PSAs by a payout percentage ranging from 0% to 200%.</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;text-align:justify;margin:0pt;">Based on the estimated level of achievement of the performance targets associated with the PSAs as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> unrecognized compensation expense related to the unvested portion of the Company’s RSUs and PSAs was $4.4 million, which is expected to be recognized over a weighted-average period of 1.7 years.</p> 1 <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of sales</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">275</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">474</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">816</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">822</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Selling, general, and administrative expense</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">471</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">695</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,234</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,655</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">746</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,169</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,050</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,477</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 275000 474000 816000 822000 471000 695000 2234000 1655000 746000 1169000 3050000 2477000 <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Number of RSUs a</b></b><b><b>nd PSAs <span style="font-size:8pt;">(1)</span></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Weighted-</b></b><b><b>Average Grant D</b></b><b style="font-size: 10pt;"><b>ate Fair Value</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 68%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested RSUs and PSAs as of December 31, 2022</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">200,924</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.80</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">RSUs and PSAs granted</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">134,498</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">28.41</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Unvested RSUs and PSAs canceled</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(13,589</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.82</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">RSUs and PSAs vested <span style="font-size:8pt;">(2)</span></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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(95,442</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30.12</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested RSUs and PSAs as of September 30, 2023</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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">226,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">29.66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 200924 30.8 134498 28.41 13589 30.82 95442 30.12 226391 29.66 1 1.59 1.26 1.32 170000 0 2 4400000 P1Y8M12D <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">8.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Commitments and Contingencies</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;"><b><i>Portland Harbor Superfund Site</i></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;text-align:justify;margin:0pt;">In <em style="font: inherit;"> December 2000, </em>a section of the lower Willamette River known as the Portland Harbor Superfund Site was included on the National Priorities List at the request of the United States Environmental Protection Agency (“EPA”). While the Company’s Portland, Oregon manufacturing facility does <em style="font: inherit;">not</em> border the Willamette River, an outfall from the facility’s stormwater system drains into a neighboring property’s privately owned stormwater system and slip. Also in <em style="font: inherit;"> December 2000, </em>the Company was notified by the EPA and the Oregon Department of Environmental Quality (“ODEQ”) of potential liability under the Comprehensive Environmental Response, Compensation, and Liability Act (“CERCLA”). A remedial investigation and feasibility study of the Portland Harbor Superfund Site was directed by a group of 14 potentially responsible parties known as the Lower Willamette Group under agreement with the EPA. The EPA finalized the remedial investigation report in <em style="font: inherit;"> February 2016, </em>and the feasibility study in <em style="font: inherit;"> June 2016, </em>which identified multiple remedial alternatives. In <em style="font: inherit;"> January 2017, </em>the EPA issued its Record of Decision selecting the remedy for cleanup at the Portland Harbor Superfund Site, which it believes will cost approximately $1 billion at net present value and 13 years to complete. The EPA has <em style="font: inherit;">not</em> yet determined who is responsible for the costs of cleanup or how the cleanup costs will be allocated among the more than 150 potentially responsible parties. Because of the large number of potentially responsible parties and the variability in the range of remediation alternatives, the Company is unable to estimate an amount or an amount within a range of costs for its obligation with respect to the Portland Harbor Superfund Site matters, and <em style="font: inherit;">no</em> further adjustment to the Condensed Consolidated Financial Statements has been recorded as of the date of this filing.</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;text-align:justify;margin:0pt;">The ODEQ is separately providing oversight of voluntary investigations and source control activities by the Company involving the Company’s site, which are focused on controlling any current “uplands” releases of contaminants into the Willamette River. <em style="font: inherit;">No</em> liabilities have been established in connection with these investigations because the extent of contamination and the Company’s responsibility for the contamination have <em style="font: inherit;">not</em> yet been determined.</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;text-align:justify;margin:0pt;">Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section <em style="font: inherit;">107.</em> The Trustees for the Portland Harbor Superfund Site consist of representatives from several Northwest Indian Tribes, <em style="font: inherit;">three</em> federal agencies, and <em style="font: inherit;">one</em> state agency. The Trustees act independently of the EPA and the ODEQ. The Trustees have encouraged potentially responsible parties to voluntarily participate in the funding of their injury assessments and several of those parties have agreed to do so. In <em style="font: inherit;"> June 2014, </em>the Company agreed to participate in the injury assessment process, which included funding $0.4 million of the assessment. The Company has <em style="font: inherit;">not</em> assumed any additional payment obligations or liabilities with the participation with the NRDA, nor does the Company expect to incur significant future costs in the resolution of the NRDA.</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;text-align:justify;margin:0pt;">In <em style="font: inherit;"> January 2017, </em>the Confederated Tribes and Bands of the Yakama Nation, a Trustee until they withdrew from the council in <em style="font: inherit;">2009,</em> filed a complaint against the potentially responsible parties including the Company to recover costs related to their own injury assessment and compensation for natural resources damages. The case has been stayed until <em style="font: inherit;"> January 2025, </em>and the Company does <em style="font: inherit;">not</em> have sufficient information at this time to determine the likelihood of a loss in this matter or the amount of damages that could be allocated to the Company.</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;text-align:justify;margin:0pt;">The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for the remediation assessed. However, the Company can provide <em style="font: inherit;">no</em> assurance that those policies will cover all of the costs which the Company <em style="font: inherit;"> may </em>incur.</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;text-align:justify;margin:0pt;"><b><i>All Sites</i></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;text-align:justify;margin:0pt;">The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations thereunder which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does <em style="font: inherit;">not</em> believe that future compliance with such laws and regulations will have a material adverse effect on its financial position, results of operations, or cash flows.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><i>Other Contingencies and Legal Proceedings</i></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;text-align:justify;margin:0pt;">From time to time, the Company is party to a variety of legal actions, including claims, suits, complaints, and investigations arising out of the ordinary course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does <em style="font: inherit;">not</em> cover legal, defense, and indemnification costs associated with a loss contingency, the Company records accruals when such losses are considered probable and reasonably estimable. The Company believes that it is <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">not</em> presently a party to legal actions, the outcomes of which would have a material adverse effect on its business, financial condition, results of operations, or cash flows.</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;text-align:justify;margin:0pt;"><b><i>Commitments</i></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;text-align:justify;margin:0pt;">As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> the Company’s commitments include approximately $1.1 million remaining relating to its investment in the primary component of the new reinforced concrete pipe mill for which the Company has <em style="font: inherit;">not</em> yet received the equipment.</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;text-align:justify;margin:0pt;"><b><i>Guarantees</i></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;text-align:justify;margin:0pt;">The Company has entered into certain letters of credit that total $1.1 million as of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023.</em> The letters of credit relate to workers’ compensation insurance.</p> 14 1000000000 P13Y 150 400000 1100000 1100000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">9.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Revenue</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is <em style="font: inherit;">not</em> separately identifiable from other promises in the contract and, therefore, is <em style="font: inherit;">not</em> distinct. The Company generally does <em style="font: inherit;">not</em> recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable.</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;text-align:justify;margin:0pt;">SPP revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have <em style="font: inherit;">no</em> alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements <em style="font: inherit;"> may </em>result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated.</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;text-align:justify;margin:0pt;">Revisions in contract estimates resulted in an increase (decrease) in SPP net sales of $(0.8) million for 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;">2023</em> and $0.2 million and $(0.2) million for 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.</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;text-align:justify;margin:0pt;">Precast revenue for water infrastructure concrete pipe and precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that <em style="font: inherit;"> may </em>affect the total transaction price, including contractual discounts, returns, and credits, is included in net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management’s judgment. The Company’s contracts do <em style="font: inherit;">not</em> contain significant financing.</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;"><b><i>Disaggregation of Revenue</i></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;text-align:justify;margin:0pt;">The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Over time (Engineered Steel Pressure Pipe)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">80,493</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,663</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">221,294</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">235,446</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Point in time (Precast Infrastructure and Engineered Systems)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">112,897</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">115,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net sales</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">118,722</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">122,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">334,191</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,837</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;"><b><i>Contract Assets and Liabilities</i></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;text-align:justify;margin:0pt;">Contract assets primarily represent revenue earned over time but <em style="font: inherit;">not</em> yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within <em style="font: inherit;">30</em> days of invoicing.</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;text-align:justify;margin:0pt;">Contract liabilities represent advance billings on contracts, typically for steel. The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $13.5 million and $15.0 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;">2023,</em> respectively and $2.8 million and $2.6 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.</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;text-align:justify;margin:0pt;"><b><i>Backlog</i></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;text-align:justify;margin:0pt;">Backlog represents the balance of remaining performance obligations under signed contracts for SPP water infrastructure steel pipe products for which revenue is recognized over time. As of <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> backlog was $253 million. The Company expects to recognize approximately 27% of the remaining performance obligations in <span style="-sec-ix-hidden:c103930859">2023,</span> 44% in <span style="-sec-ix-hidden:c103930861">2024,</span> and the balance thereafter.</p> -800000 200000 -200000 <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Over time (Engineered Steel Pressure Pipe)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">80,493</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,663</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">221,294</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">235,446</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Point in time (Precast Infrastructure and Engineered Systems)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">112,897</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">115,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net sales</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">118,722</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">122,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">334,191</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,837</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 80493000 83663000 221294000 235446000 38229000 39321000 112897000 115391000 118722000 122984000 334191000 350837000 13500000 15000000 2800000 2600000 253000000 0.27 0.44 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">10.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Income Taxes</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is <em style="font: inherit;">no</em> longer subject to United States Federal, state, or foreign income tax examinations for years before <span style="-sec-ix-hidden:c103930864">2019.</span></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;text-align:justify;margin:0pt;">The Company recorded income tax expense at an estimated effective income tax rate of 25.7% and 26.6% for 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;">2023,</em> respectively and 26.3% and 26.4% for 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. The Company’s estimated effective income tax rates for 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;">2023</em> and <em style="font: inherit;">2022</em> were primarily impacted by non-deductible permanent differences.</p> 0.257 0.266 0.263 0.264 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">11.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Accumulated Other Comprehensive Loss</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The following tables summarize changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Pension Liability A</b></b><b><b>djustment</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain (</b></b><b><b>Loss) on Foreign C</b></b><b><b>urrency F</b></b><b style="font-size: 10pt;"><b>orward C</b></b><b style="font-size: 10pt;"><b>ontracts D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain o</b></b><b style="font-size: 10pt;"><b>n Interest Rate S</b></b><b style="font-size: 10pt;"><b>waps D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, December 31, 2022</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,532</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">94</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">649</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(789</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Other comprehensive income (loss) before reclassifications</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">266</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive 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: 13%; 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(418</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(162</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, September 30, 2023</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,444</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(951</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Pension Liability A</b></b><b style="font-size: 10pt;"><b>djustment</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Loss o</b></b><b style="font-size: 10pt;"><b>n Foreign C</b></b><b style="font-size: 10pt;"><b>urrency F</b></b><b style="font-size: 10pt;"><b>orward C</b></b><b style="font-size: 10pt;"><b>ontracts D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain o</b></b><b style="font-size: 10pt;"><b>n Interest Rate S</b></b><b style="font-size: 10pt;"><b>waps D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, December 31, 2021</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,487</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Other comprehensive income (loss) before reclassifications</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">61</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(383</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">602</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">280</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">138</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">202</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">482</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, September 30, 2022</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,421</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(440</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,200</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Condensed Consolidated Statements of Operations (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount reclassified from</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated Other Comprehensive Loss</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Affected line item in</b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>the Condensed </b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended September 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Nine Months Ended September 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Consolidated Statements of</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Operations</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Pension liability adjustment:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net periodic pension cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Service cost</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: 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);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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);">(2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Cost of sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Unrealized gain (loss) on foreign currency forward contracts:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Gain (loss) on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">87</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(56</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Loss on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(109</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(127</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 9pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;"><em style="font: inherit;">Property and equipment</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Associated income tax benefit</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);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 9pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">(9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">(17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(138</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Unrealized gain (loss) on interest rate swaps:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Gain (loss) on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">201</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">553</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Interest expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Associated income tax (expense) benefit</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);">(49</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(135</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">19</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">418</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">(59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Total reclassifications for the 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);">139</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">(202</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"><em style="font: inherit;"> </em></td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Pension Liability A</b></b><b><b>djustment</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain (</b></b><b><b>Loss) on Foreign C</b></b><b><b>urrency F</b></b><b style="font-size: 10pt;"><b>orward C</b></b><b style="font-size: 10pt;"><b>ontracts D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain o</b></b><b style="font-size: 10pt;"><b>n Interest Rate S</b></b><b style="font-size: 10pt;"><b>waps D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, December 31, 2022</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,532</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">94</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">649</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(789</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Other comprehensive income (loss) before reclassifications</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">78</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(115</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">266</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive 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: 13%; 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(418</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">88</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(98</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(162</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, September 30, 2023</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,444</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">497</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(951</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Pension Liability A</b></b><b style="font-size: 10pt;"><b>djustment</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Loss o</b></b><b style="font-size: 10pt;"><b>n Foreign C</b></b><b style="font-size: 10pt;"><b>urrency F</b></b><b style="font-size: 10pt;"><b>orward C</b></b><b style="font-size: 10pt;"><b>ontracts D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Unrealized Gain o</b></b><b style="font-size: 10pt;"><b>n Interest Rate S</b></b><b style="font-size: 10pt;"><b>waps D</b></b><b style="font-size: 10pt;"><b>esignated as C</b></b><b style="font-size: 10pt;"><b>ash Flow H</b></b><b style="font-size: 10pt;"><b>edges</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, December 31, 2021</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,487</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(195</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; 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: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,682</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Other comprehensive income (loss) before reclassifications</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">61</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(383</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">602</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">280</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">138</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">202</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">66</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(245</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">482</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances, September 30, 2022</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,421</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(440</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">661</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(1,200</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td></tr> </tbody></table> -1532000 94000 649000 -789000 78000 -115000 266000 229000 -10000 -17000 418000 391000 88000 -98000 -152000 -162000 -1444000 -4000 497000 -951000 -1487000 -195000 0 -1682000 61000 -383000 602000 280000 -5000 -138000 -59000 -202000 66000 -245000 661000 482000 -1421000 -440000 661000 -1200000 <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td colspan="14" style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 37%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount reclassified from</b></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Accumulated Other Comprehensive Loss</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Affected line item in</b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>the Condensed </b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended September 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 13%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Nine Months Ended September 30,</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Consolidated Statements of</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="text-align: center; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>Operations</b></p> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Pension liability adjustment:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net periodic pension cost:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Service cost</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: 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);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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);">(2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Cost of sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">(4</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(2</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Unrealized gain (loss) on foreign currency forward contracts:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Gain (loss) on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">10</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">35</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">87</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(56</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net sales</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Loss on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">-</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(109</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(127</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 9pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;"><em style="font: inherit;">Property and equipment</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Associated income tax benefit</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);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">22</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">5</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">45</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 9pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 9pt;text-indent:-9pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">(9</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">(17</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(138</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Unrealized gain (loss) on interest rate swaps:</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 9%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 1%;"> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Gain (loss) on cash flow hedges</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">201</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">4</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">553</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: 9%; text-align: right; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;">(78</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Interest expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Associated income tax (expense) benefit</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);">(49</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(1</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">(135</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</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);">19</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"><em style="font: inherit;">Income tax expense</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> </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);">152</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">3</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">418</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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);">(59</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; width: 18%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><em style="font: inherit;">Net of tax</em></p> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 34%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 9%;"> </td><td style="width: 1%;"> </td><td style="width: 18%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: Times New Roman; font-size: 10pt; width: 34%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Total reclassifications for the 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);">139</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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);">(202</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">)</p> </td><td style="font-family: Times New Roman; font-size: 10pt; width: 18%;"><em style="font: inherit;"> </em></td></tr> </tbody></table> -4000 -2000 -10000 -5000 -4000 -2000 -10000 -5000 10000 35000 87000 -56000 -22000 0 -109000 -127000 -3000 -22000 -5000 -45000 -9000 57000 -17000 -138000 201000 4000 553000 -78000 49000 1000 135000 -19000 152000 3000 418000 -59000 139000 58000 391000 -202000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">12.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Net Income per Share</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">Basic net income per share is computed by dividing the net income by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by giving effect to all dilutive potential shares of common stock, including RSUs and PSAs, assumed to be outstanding during the period using the treasury stock method. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive.</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;text-align:justify;margin:0pt;">Net income per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,818</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,956</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,628</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Basic weighted-average common shares outstanding</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,014</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,927</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,985</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,909</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Effect of potentially dilutive common shares <span style="font-size:8pt;">(1)</span></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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">83</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">103</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Diluted weighted-average common shares outstanding</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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,107</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,010</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,088</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,988</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income per common share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</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: 13%; 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.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</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: 13%; 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.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; 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.99</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.32</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 9pt;"> </td><td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;text-align:justify;margin:0pt;">There were no antidilutive shares for 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;">2023</em> or <em style="font: inherit;">2022.</em></p> </td></tr> </tbody></table> <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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Nine Months Ended September 30,</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,818</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,956</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">15,628</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,188</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Basic weighted-average common shares outstanding</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,014</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,927</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,985</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%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,909</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Effect of potentially dilutive common shares <span style="font-size:8pt;">(1)</span></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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">93</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">83</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">103</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">79</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Diluted weighted-average common shares outstanding</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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,107</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,010</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,088</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">9,988</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income per common share:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Basic</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: 13%; 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.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.00</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.57</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.34</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Diluted</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: 13%; 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.58</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; 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.99</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1.55</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2.32</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 5818000 9956000 15628000 23188000 10014000 9927000 9985000 9909000 93000 83000 103000 79000 10107000 10010000 10088000 9988000 0.58 1 1.57 2.34 0.58 0.99 1.55 2.32 0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">13.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Segment Information</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">The operating segments reported below are based on the nature of the products sold and the manufacturing process used by the Company and are the segments of the Company for which separate financial information is available and for which operating results are regularly evaluated by the Company’s chief operating decision maker, its Chief Executive Officer, to make decisions about resources to be allocated to the segment and assess its performance. Management evaluates segment performance based on gross profit. The Company does <em style="font: inherit;">not</em> allocate selling, general, and administrative expenses, interest, other non-operating income or expense items, or taxes to segments.</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;text-align:justify;margin:0pt;">The Company’s Engineered Steel Pressure Pipe segment (SPP) manufactures large-diameter, high-pressure steel pipeline systems for use in water infrastructure applications, which are primarily related to drinking water systems. These products are also used for hydroelectric power systems, wastewater systems, seismic resiliency, and other applications. In addition, SPP makes products for industrial plant piping systems and certain structural applications. SPP has manufacturing facilities located in Portland, Oregon; Adelanto and Tracy, California; Parkersburg, West Virginia; Saginaw, Texas; St. Louis, Missouri; and San Luis Río Colorado, Mexico.</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;text-align:justify;margin:0pt;">The Company’s Precast Infrastructure and Engineered Systems segment (Precast) manufactures stormwater and wastewater technology products, high-quality precast and reinforced concrete products, including manholes, box culverts, vaults, and catch basins, pump lift stations, oil water separators, biofiltration, and other environmental and engineered solutions. Precast has manufacturing facilities located in Dallas, Houston, and San Antonio, Texas; and Orem, Salt Lake City, and St. George, Utah.</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 following table disaggregates revenue and gross profit based on the Company’s reportable segments (in thousands):</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended September 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Nine Months Ended September 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Engineered Steel Pressure Pipe</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">80,493</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,663</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">221,294</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">235,446</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Precast Infrastructure and Engineered Systems</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">112,897</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">115,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">118,722</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">122,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">334,191</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,837</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Engineered Steel Pressure Pipe</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,911</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,196</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,264</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32,490</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Precast Infrastructure and Engineered Systems</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,383</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; 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,922</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27,088</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31,494</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,294</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,118</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">58,352</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </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 class="finHeading" style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three Months Ended September 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 17%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Nine Months Ended September 30,</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom;"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </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); width: 1%;"> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Engineered Steel Pressure Pipe</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">80,493</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">83,663</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">221,294</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">235,446</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Precast Infrastructure and Engineered Systems</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">38,229</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">39,321</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">112,897</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">115,391</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">118,722</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">122,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">334,191</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">350,837</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="width: 36%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 1%;"> </td><td style="width: 13%;"> </td><td style="width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit:</p> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 13%;"> </td><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Engineered Steel Pressure Pipe</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: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">10,911</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,196</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,264</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">32,490</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Precast Infrastructure and Engineered Systems</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,383</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; 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,922</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27,088</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">31,494</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 36%;"> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Total</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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,294</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">25,118</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">58,352</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; 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: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">63,984</td><td style="width: 1%; font-family: Times New Roman; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 80493000 83663000 221294000 235446000 38229000 39321000 112897000 115391000 118722000 122984000 334191000 350837000 10911000 14196000 31264000 32490000 8383000 10922000 27088000 31494000 19294000 25118000 58352000 63984000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">14.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Recent Accounting and Reporting Developments</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;">There have been <em style="font: inherit;">no</em> developments to recently issued accounting standards, including the expected dates of adoption and estimated effects on the Company’s Condensed Consolidated Financial Statements and disclosures in Notes to Condensed Consolidated Financial Statements, from those disclosed in the Company’s <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10‑K,</em> except for the following.</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;"><b><i>Accounting Changes</i></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;text-align:justify;margin:0pt;">In <em style="font: inherit;"> October 2021, </em>the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) <em style="font: inherit;">No.</em> <em style="font: inherit;">2021‑08,</em> “Business Combinations (Topic <em style="font: inherit;">805</em>): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” (“ASU <em style="font: inherit;">2021‑08”</em>) which requires an entity to recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Accounting Standards Codification Topic <em style="font: inherit;">606,</em> “Revenue from Contracts with Customers,” as if it had originated the contracts. The Company adopted ASU <em style="font: inherit;">2021‑08</em> on <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2023</em> and the impact was <em style="font: inherit;">not</em> material to the Company’s financial position, results of operations, or cash flows.</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;text-align:justify;margin:0pt;"><b><i>Recent Accounting Standards</i></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;text-align:justify;margin:0pt;">In <em style="font: inherit;"> March 2023, </em>the FASB issued ASU <em style="font: inherit;">No.</em> <em style="font: inherit;">2023‑01</em> “Leases (Topic <em style="font: inherit;">842</em>): Common Control Arrangements” (“ASU <em style="font: inherit;">2023‑01”</em>) which requires leasehold improvements associated with common control leases be (<em style="font: inherit;">1</em>) amortized by the lessee over the useful life of the leasehold improvements to the common control group as long as the lessee controls the use of the underlying asset through a lease and (<em style="font: inherit;">2</em>) accounted for as a transfer between entities under common control through an adjustment to equity if, and when, the lessee <em style="font: inherit;">no</em> longer controls the use of the underlying asset. ASU <em style="font: inherit;">2023‑01</em> is effective for the Company beginning <em style="font: inherit;"> January </em><em style="font: inherit;">1,</em> <em style="font: inherit;">2024,</em> including interim periods in <em style="font: inherit;">2024,</em> with early adoption permitted. The Company does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</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;text-align:justify;margin:0pt;">In <em style="font: inherit;"> October 2023, </em>the FASB issued ASU <em style="font: inherit;">No.</em> <em style="font: inherit;">2023‑06,</em> “Disclosure Improvements: Codification Amendments in Response to the SEC’s Disclosure Update and Simplification Initiative” (“ASU <em style="font: inherit;">2023‑06”</em>) which incorporates certain SEC disclosure requirements into the Accounting Standards Codification. The effective date for each amendment in ASU <em style="font: inherit;">2023‑06</em> will be the effective date of the removal of the disclosure requirement from Regulation S‑X or Regulation S‑K, with early adoption prohibited. The amendments should be applied prospectively. The Company does <em style="font: inherit;">not</em> expect a material impact to its financial position, results of operations, or cash flows from adoption of this guidance.</p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b><em style="font: inherit;">15.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Subsequent Event</b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt;"><b><i>Share Repurchase Program</i></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;text-align:justify;margin:0pt;">On <em style="font: inherit;"> November </em><em style="font: inherit;">2,</em> <em style="font: inherit;">2023,</em> the Company announced its authorization of a share repurchase program of up to $30 million of its outstanding common stock. The program does <em style="font: inherit;">not</em> commit to any particular timing or quantity of purchases, and the program <em style="font: inherit;"> may </em>be suspended or discontinued at any time. Under the program, shares <em style="font: inherit;"> may </em>be purchased in open market, including through Rule <em style="font: inherit;">10b5‑1</em> trading plans, or in privately negotiated transactions. Any repurchases will be subject to the Company’s liquidity, including availability of borrowings and covenant compliance under the Amended Credit Agreement, and other capital allocation priorities of the business.</p> 30000000 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><span style="text-decoration: underline; "><a href="#" id="oi" title="oi"></a>Item</span></b><span style="text-decoration: underline; "> </span><b><span style="text-decoration: underline; "><em style="font: inherit;">5.</em> Other Information</span></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; text-align: justify;">On <em style="font: inherit;"> October </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> we provided written notice to Jefferies terminating the Open Market Sale Agreement in accordance with the terms. This termination will become effective on <em style="font: inherit;"> November </em><em style="font: inherit;">13,</em> <em style="font: inherit;">2023.</em></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><span style="-sec-ix-hidden:c103931087"><span style="-sec-ix-hidden:c103931088"><span style="-sec-ix-hidden:c103931089"><span style="-sec-ix-hidden:c103931090">Neither</span></span></span></span> the Company or any of the Company’s directors or officers adopted, modified, or terminated a Rule <em style="font: inherit;">10b5‑1</em> trading arrangement or a non-Rule <em style="font: inherit;">10b5‑1</em> trading arrangement during the quarter ended <em style="font: inherit;"> September </em><em style="font: inherit;">30,</em> <em style="font: inherit;">2023,</em> as such terms are defined under Item <em style="font: inherit;">408</em>(a) of Regulation S‑K.</p> The number of PSAs disclosed in this table are at the target level of 100%. For the PSAs vested on March 31, 2023, the actual number of common shares that were issued was determined by multiplying the PSAs at the target level of 100%, as disclosed in this table, by a payout percentage based on the performance-based conditions achieved. The payout percentage was 159% for the 2020-2022 performance period, 126% for the 2021-2022 performance period, and 132% for the 2022 performance period. There were no antidilutive shares for the three and nine months ended September 30, 2023 or 2022. EXCEL 65 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( .N 8U<'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 " #K@&-7:YH.,^X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)O)VE%(71[43PI""XHWD(RNQML_I",M/OVIG6WB^@#>,S,+]]\ M ]/I*'5(^)Q"Q$06\]7D!I^ECAMV((H2(.L#.I7KDO"EN0O)*2K/M(>H](?: M(S2GQ95FWLCZ3 M\AK+KVPE'2-NV'GR:WMWOWU@?<.;MA*BXNVVX9+?2G[]/KO^\+L(NV#LSOYC MX[-@W\&ON^B_ %!+ P04 " #K@&-7F5R<(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 .N 8U?GUXYSZ 4 ,? 8 >&PO=V]R:W-H965T&UL MM9GQ;^(V%,?_%8M-ITTJ)7& PAU%HK3=JMVU7.GN=IOV@YL8B)K$F>U N[]^ MSPDDM#(/%AW2Z9J$O&_\]7NQ/XX'*R&?U()S39[C*%'GC876Z?M62_D+'C-U M*E*>P"\S(6.FX53.6RJ5G 5Y4!RUJ.-T6S$+D\9PD%^;R.% 9#H*$SZ11&5Q MS.3+!8_$ZKSA-C87[L/Y0IL+K>$@97,^Y?KW="+AK%6J!&',$Q6*A$@^.V^, MW/=CCYJ _(XO(5^IK6-BK#P*\61.;H+SAF-:Q"/N:R/!X,^2CWD4&25HQS]K MT4;Y3!.X?;Q1O\[-@YE'IOA81%_#0"_.&[T&"?B,99&^%ZM?^=I0Q^CY(E+Y M_V15W-MN-XB?*2WB=3"T( Z3XB][7G?$=H"S(X"N ^B; '?7$[QU@)<;+5J6 MV[IDF@T'4JR(-'>#FCG(^R:/!C=A8M(XU1)^#2%.#R^%GT%6-!DE ;E*=*A? MR$U2E(?IYB91"R:Y&K0T/,W$M/RU\D6A3'B% M6 !Z_C6]#*LJET MT]0+B@I.>7I*/.>$4(=ZEO:,\? [7Y\2VK&%OVJ.5_:@'=2<;GDC>&[']RN\\'F]SN)O7+?+MVW M,?7ANE3&T &21= ' 7\FO_$7FVE M:S.)!M8TV2M-]M!FE:/0VN6$RU $Y!HN6\=L7.VS=5Q%8VKZZY?^^O_+7Y[% MG>YPK5WS!AI5TY_K5!.PJU@QT5I M8JM*82)480X[2#YQL9W3!1Y7UV3%-.Y!4',=1IS<9O$CEU9S>WBF2<_PGCZG?W5LO'P!JW MXAH7!Y.UY0?V3&X"*-]P%OH%J2/YQ27[7M/I=,[ZO9[5[S&(QZV0Q\4I9>UW M% 2@KDXV!R1?EMPE]KSBDM1QR>T5F3#Y1"81^Y>12PDK;RB<+-2\:#L O+4S MCD%&;H5&+DXS;SMC;,Z@T!_$*K%V!"[WA<&+DRVM13/&8^M:K2C)Q='FK=7R MI9Y(L0P3WYYX7//KR&KT&+1$*UJB..V\-3H12@,6_AFF.\>M/8K]7K?7MGY. M. 9 T0J@* X]>;6.)&>[C>$"7M?Z4N)1=6U5T$1QTODH\F7*0B38'+M'Q.N? MO?NA1YW^AR[MV%T> Y=HA4L4)YR'4 -#B!EQZ4^//Y,I]S,)^;1:Q97&(HYA MNIIJX3^=D!16/TL699S\Z)S"P)QR67R@L_;!,6B*5C1%<1 "4@S"9$ZF+_&C MB*S6<8';KY,_K+Z.@5&TPBB*@\XFF>3JV5^P9,YW?A;:(W0[FEZ.K&LW/+"N MPXJ:Z$'4M/F 4G!^GDJ85NPK[SV*WZQ?D,=X5%V?%2W1@VCI)H'U:;&?8-9O M;&/@X1H M14+T(!*:QBR*R$6FX&=EKUA<9^<:%8^KZ<^K ,@["("N8B[GYI7\!13T A@A M3EEB3>H>P9U&\;BZ1BO^\7!\V21RP2&1F#U<9K>]8W"05W&0AR/,9HQ]-;U/ M\[TV_@?4$L#!!0 ( .N 8U=RB>L; M.@4 -05 8 >&PO=V]R:W-H965T&ULK5A1<^,F$/XK MC'O3R;&$ M_.W"M[OL+EP_BBV M4[D7C&:U4%E,41!$TY+FU61^77^[$_-K?E!%7K$[ >2A+*GXYY85_.EF B"O6%/_W"6D+$Z%OS0M:_X*G%!A.P/DC% MRU98KZ#,J^9)GUM#] 2T'K\ :@60+1 .".!6 +]VAK 5"%\[ VD%:NK3AGMM MN"55='XM^!,0!JVUF9?:^K6TME=>F4!9*:'_S;6Y72W#V[CV0.RJ8!'D%?M_Q M@Z15)L_!NY/Q]53IY9I)I^MV:;?-TM# TC#XS"NUDR#52\P\\LMQ^61$?JK- MU-D*O=CJ%HTJ7+'])<#!.4 !PI[U+%XOCGQT_M_LZ7^>_<08N L<7.L+!_3] MJI.8I 7S.K81C6I1DZH>YQ#&,S/O8]]>'AA"21R>PI8N#.,0)O 4EGI@)(CQ MK(.=\ P[GN$HSP67RNR!0:Z-..E-FR0ABBVJ'M0LCB*+J8M",Q+CQ&+J@<51 M3+"?*>F8DE&F/PLN)=@+OLF5CRAQ9H4)2BQG+5P4(MKY%E$7I6D2*SY2%Q7A M?GB>Z1 ?:\-UG19X;( M-8/>D#/+##Y41.S(=E$80VB[VX,*8)CXS3#KS# ;-4.;TZNMSM)K7GJISMR@ M#8C-U 7!,(QLIBX*$82QQ=1%8:SCPL\T[IC&XTS5CHF6)3AK/?O>QS=VIK^( MK"RS<#'0@BP]:A"R#)*Z(!+Y>28=SV24YZ=*,5V%U5CP)N[2((SLO.Q!)8Y' M/2#LI/C4@T(X&?&"Z568OOE7TV9^B6V7]5ZZ)MMQG"":H7[-9_$=K%9>%!)0NS:ZT%!$MF%//7 $(;Q MD%^/[11L^A,\0/0@+[:4[O]*J:AT5I9W3*Q,5_WAP12EM; MKMG-1!\B)1./;#+_\0<8!3_YNM ME?D:G.GS M3,:+@@K=)NF24I]ZO(6D53?K!4EP29RX#-V(LX/2500O[1*<>E#H$@_T2?#8 M#\+QAG"9%P=S&/P.WN15O'VH)+&INRA-G=C4792FC@:H'WM$&(WNQE5SH#V8 M@[%FW[$&:UJL#T5S&+[RFF"T^_SN/?F6VI9OJBU]*VVG+CKVKW"\@3WNR>;V MP1^0GNXTT,VS'9&>3C=!,SLB?:C8B4@?*ACHUN&QB87C76Q_,XX1]O2G 0SL MIMT+"WKENF7LA<5.371AVC!V29SV;JE*)K;U]: $:WZH5'/OT'WMKB _U!=O MUO=;>+6 GN]+JFBN$)N!XOOZCNR! M*\7+^G7':,:$ >C_-YRKEX&9H+O(G?\+4$L#!!0 ( .N 8U<26M-A> 0 M ,@6 8 >&PO=V]R:W-H965T&ULQ5C=B"YDFSG^M??@@DVH'!)JTQ?#!*[ MO_W46KO3/>-?1$J(1(]%3L7,2*7<7)JFB%-28''!-H3"EQ7C!9:PY&M3;#C! M2<54Y*9C68%9X(P:\VFU=\OG4[:5>4;)+4=B6Q28?[TB.=O/#-MXVKC+UJDL M-\SY=(/79$GD_>:6P\IL4)*L(%1DC").5C/CHWT9V7[)4%'\EI&].'E'I2D/ MC'TI%]?)S+!*C4A.8EE"8'CLR(+D>8D$>OQ=@QJ-S)+Q]/T)_5-E/!CS@ 59 ML/SW+)'IS!@;*"$KO,WE'=O_3&J#*@5CEHOJ%^UK6LM \59(5M3,H$&1T<,3 M/]:..&$ '#6#4S,X70;O&0:W9G!?*L&K&;R72O!KALIT\V![Y;@02SR?B4*_G"8?S+ ;X)O&@P;O,U2NK J_*K('WJ#B M+0O4;NZ/[?'4W)VZJT\TF?A!FRCL$]E^X'2@HCZ5X]KC(U7+1*\QT:O8W&=, M_$6FA*.XE?%9G?$Y$^+L Z+@!3@5$C]>JMS@#;FP+/R78H-C,C- @B!\1XSY MCS_8@?63*KMT@H4ZP2)-8*T@^4V0_._F8;SE' H4VA">L02Q[\5-%:J#%/\D M@\Z=42=A^S2!U"S@&.^E2.&XPLM;6CQMK1H+5P,X#_?8JBQSC%=$T0;.PQ M3] ?-Z1X(/Q/E>F#D*\]C3K!0IU@D2:P5ES&35S&;UPRQSJ#I!,LU D6:0)K M!6G2!&DR>'CN*?01>?8/7.[6T#_4D4%P5T^@@.YP>5\7\"[@A%570"Q0C$6* M5M!+H)0D:Z*\SDUZ)]WMU)4^A>UW"VB?YGS2_;M7T#B>KRXIMG6\_UJ#?KFF MDH"W);H#J]%RCS>#Y608[;6IJA4MU(H6Z4)KQ^6D+['?N*C4 G2%2B=:J!4M MTH76#I5S#)7SOY266FSKQ/N33G51$'G=3B%4(=E^]X*FH H"^YD" MZ;:>JMSFF Z7ED&<5^>K3K10*UJD"ZT=D6.'9[]UBV=K[?&THH5:T2)=:.U0 M'?L\>[C1>SH\>88?LCR37Q%._MH*68ZFE('Q^S.!7L50T#C=@M&G&7?O(PJ: MDS[H8+!Y,IDK"%]7(U&H?FQ+Y6'LTNPV8]>/U;"QLW]E7RYLQ7Y8CFFK2> 1 M_C#CO<%\G5&!GJR*J MN78O%U>B5GE6\GN)JKHHF'SYP'/Q=#W!D]V%S]GC6ND+L\75ACWR!ZZ^;NXE MG,WV6M*LX&65B1))OKJ>W.#+6^KK!8W$/QE_J@Z.D39E*<0W??(QO9YX&A'/ M>:*T"@;_MOR6Y[G6!#B^=THG^V?JA8?'.^V_-\:#,4M6\5N1_YNE:GT]B28H MY2M6Y^JS>/J3=P8U !.15\TO>NIDO0E*ZDJ)HEL,"(JL;/^SY\X1!POP?&0! MZ1:0GUU NP6T,;1%UIAUQQ1;7$GQA*26!FWZH/%-LQJLR4K]&A^4A+L9K%.+ M6U&F\%)XBN"H$GF6,@4G'UC.RH2C!ZVX0F]O:REYJ= ]EYE(T=>2U6D&@N_0 M.?KZ<(?>GKU#9R@KT9>UJ"M6IM753 $\_9!9TD'YT$(A(U >^.8"46^*B$>H M9?FM>_D=3V Y;I:3X^4S<,K>,V3O&=+HHV.>Z4QF504NN+39TRJ8VQ7H#7A9 M;5C"KR>PPRHNMWRR>/,;#KSW-NM^D;(C6^G>5NK2OKAEU1K!6T.)/N#?ZVS+ M^A9;54&C2F>)[6+N^='5;'MHC2E$@PCOA8Y0SO0-3J#67 MD$42#D"7.:^F"'XJQ')(2TW@0H)#J:B7:E7GD"L248,U2*S0&8GFC8XS&L0V M\UH,_@'R((CC<&"?*15B/Z!V _V]@;[[-8A224AL7R>\DW M+$L1?][H;%;U46(#&EI>,1U&L"F$O2 :P1GM<4;N$!:*Y9#7#U.+#6%D/)P$ M ?&" 4:+6!B%<\\.,MZ#C$\X$ZH$J5X:)^IDL '>5KLMEB1U4><-2Z0<A+TG!9_ GL!=/D(-D)-@*0F_W.Q.J_A9/PM=5J/(CX./'^ VB(64_#,".H# MZL9.U'\(D3YE>6Z%AHUG^K[OS8?03HD=0^NY$SOI"C*%8N5C!JFY<]\4E5Q9 M@1(# 240*4.@%C&?!&- >^+#;N;[U#")XQ53TT'1W'"C10JR\@BXGN_P"<)K MLH4#G,E"?A1[T3"56>0"#].Q/(%[OL+^3]5(><:669XI( 9KH82=O/?:2NE7 M:3LVNB=![&;!G=$I7]HCVF0X[(7^,'>?%#N&US,A=E/AS:[8V; 771M9(9KD M1C$V(9IB)(B#D2H"]R2(W2P($&4-_'$0-E:4%GJC862@-,6@[/##$90]"V(W M#>ZKL5,P+:P4'J:F#J9-;#[VODG/7<3-7;MPW&CJ;6E7#.CLA '$Y*=Y%,<# M_#:IT!O)<:0G,>(FL>.*Z!12DZXB" @\A&J*05:D([4;.>@(W:SV04A8 WZ% M3J)$^J[V=B(Y],)6N"9I^9$7#@/8(A9!6:$[%=LK 60= MOOQ_12[W81TY.9GWUS.D7:3NV MO6=8^$;Q8@FY:C=3;03O>-)=[4:E M4P2J-KP9I^GQSGE6GB=L MDT%2L^(T:1^3F'K&;-(F%\9X9#Q)^_J NNN#SUPQN)0BSF2IRP0K2I/M"231 M:%C$6.1PC#U_9,9(#V:][K+@YF""TPY2@6]A?Z_UQYDME FBL@,WB?\\]@W8 M%JEP;&Q&^^J _DPK7(TF2RM@LP*@U,?&I,\FAR,2C@P7:%\J4'>I8-!OLP-? M:81O3-*M/;Y%SMKCSPZ^%>D/=7\Q^9B5%92(*UCH782@1[;?OMH3)3;-YZ.E M4$H4S>&:,P"O!>#^2@ _=R?ZB]3^"^3B/U!+ P04 " #K@&-73HKCV"T# M #B"@ & 'AL+W=OI[&F&S_9[]BS4/9E98D;E@OVBBTZDSP$,A M"8*6$HPF6$/G'C/,8X*6)K%"G7DA)>$:+8BD(D%/'!<)A< NZBRPF4F)IC%F MJHL^HZ?E ^I\ZJ)/B'+T(Q6%PCQ1$U<#K[FK&U=L]R5;<(1M2?(>"KT;%'A! MV"*?GY8_D!CDOI4'NW(75JE>JJ!>JL#FZQ_)=\>@YNVJP.Y!B2A6>ETP*,18 M%%RW^BL31C:AV5 OLV#4G[@O31.',6$TKF-V2,.:-#Q-&L=%5C#[)!,"VSNF MN-PT/$$X$U+3-SO0QAP>\/A!WQ\.]K!;POSA:!"UD_=K\OY)\@5L8@*EEB"H M_/CY!N58HA?,"H(Z4$R)8 Q+A7(";Z(4"J_;YJ"\Q;"!YO4\?X__3- ._:"F M'UQ';QD5PH5.A:1O,&%Q0CVKJT4GJN<@RV(__4>2C M2XK\3- .^KA&'U^!?G6%CP\+=]!:X1<$[O#[WK]/GG>]@\L*O,J\M^_\OC^. M]O!;(L?C8!A&Q_ ;7VS_>OPKRKU*?XF'P\AV#V[C &).?]^QW%"N$"-K4'J] M(:20Y8&J[&B1VS/)2F@XX=AF"H=0(DT S*^%T.\=<\RIC[6SOU!+ P04 M" #K@&-73!KA*B8/ TW@ & 'AL+W=O,VT@" ;U5CN@N)*%O":'9BXV]4!F5S38&#Y++ M-?OK5U#86!](B'JG]Z8,U,DG)9(X24(>].%EL_TC?4B23/CVN%JG'Z\>LNSI MUYN;].XA>8S37S9/R3K_GR^;[6.W]S?ITS:)%_M&CZL;J==3;A[CY?KJ M]L/^,7][^V'SG*V6Z\3?"NGSXV.\_>?OR6KS\O%*O'I]8+:\?\AV#]S/6;^&LD#W<-]A%_7R8OZ;O;PNY4 M/F\V?^SN&(N/5[W=$26KY"[;$7'^YVOR*5FM=E)^'/\XH%=O?>X:OK_]JFO[ MD\]/YG.<)I\VJ_]<+K*'CU>C*V&1?(F?5]EL\S)-#B[<')E\?K<(OE\59.]O(ZX&)YQ ># M4TU>AUPLC[ERLLGKH(N543_U0A1?AUTLC_O)%XKX.O!B>>3E4R\5\77HQ?+8 M2\-335X'7RR/OGRJB?0Z^E)Y]'=/?WV3U]&7OJ><[SEBGV F<1;??MAN7H3M M+C[W=C?V66K?/L\KR_4NH8;9-O_?9=XNN_VT62_R])@LA/Q6NEDM%W&6WPFS M_$^>-[-4V'S)[VWN_GC8K!;)-OUW0?W'\S+[I_!3M(Z?%\L\^F?A6HC"B?#3 M7WX6_B(LU\+\8?.%X?O]^/-*)X_$/N=I?Q6OAOYSD M\7.R_>_\V!X?\P?WQ_'V: W^Z1+\MT5^%OG#\4KPX^7B.C^!3_'3,LOO-W0U MN:2K69+E)4*VR4]KFP]E M4U_:!7W5,'HSDT^!^02W%M1O=P_Q^CX1\@=>XNVB^T!/?[2CRP;=^-%N.[T MS!\^R#-8/]EM#VLVDL;K^PF$[#0D ML3F)11!6F$;DMVE$/F\:.6?J:*2Z3ATD-B$QE<0T$M-);$IB!HF9)&:1F$UB M#HFY).:1F$]BP7=,>3]UC$NS1C5$E 8]12J&A35A@_&XUR^&S:MAUZ(R*F%1 M-4H:R?)(?@LK).?^6W+N-R9G-\F$Y?IN\YC49>/&MEVS,8E-2$PE,8W$=!*; MDIA!8B:)621FDYA#8BZ)>23FDUC0K[R1[Y62<6M$6(V09'$T*J7A5B=J/"6@0>-&?CU8_35,OZ\7.V^1(D7__.<9KLO6NIR\J R#Y0.\U-KQ*0U0JU& M*$HQ1&L/T1O/O&OZ(C&#Q$P2LTC,)C&'Q%P2\TC,)[& Q&8D%I+8G,0B""MD M8^4M&RN-V3A:;Y-XM?S?9"'R:PDAL0F(JB6DD MII/8E,0,$C-)S"(QF\0<$G-)S",QG\2"8=N$-AM6E^C]8>E+O[ :5&+FK1%1 M2T>%K#QZR\JCQJQLI.GS[JNRW?;*N^];8-+]%ICG=?[N\W"[D*Z?5O$Z_9NP M3K)=FRS^)KPLLX?=KLS]SI1W&S?J,GKCT73-Z"0V(3&5Q#02TTEL2F(&B9DD M9I&836(.B;DDYI&83V+!J))&!\IP+)>R.MEE2&)S$HL@K##WC-_FGO&?.O?4 MS3>-1]!UOB&Q"8FI)*:1F$YB4Q(S2,PD,8O$;!)S2,PE,8_$?!(+QJTKB'%E M1KH>#4H34E@-*J\@6B.BEHX*65SLO:7Q775@0QX_M6D[3)Y^$>3>?N>=5)>< MF]VNV1G5)JBFHIJ&:CJJ35'-0#43U2Q4LU'-0347U3Q4\U$M.&B%3=QC:2@K MY92-=ANBVAS5(DHK3B[OZH+%\R:7LR:41JOSA$)J$U1344U#-1W5IJAFH)J) M:A:JV:CFH)J+:AZJ^:@6'+3&K=V'F/>3CB@IRJBTM2VLBQO)O7%IV_:\)NY: ME'KEQ4!-F-P;*:>^41"E8\J^K(C3?%ZWI&^TBA/5)JBFHIJ&:CJJ35'-0#43 MU2Q4LU'-0347U3Q4\U$M$&N*.NO7 VA5)ZK-42VBM.+DW0E$;5,S*QQI0D2T"/7 -1_JI/632'J+6A$BEC[BT,V+TYO/OG-+06E!4 M,U'-0C4;U1Q4JOFH%HC5\L_JAH]J76;]!O":N-H-X#5UGG4;P*MA31O I6-!J'19 M0>C[2S'4IN]FMVOZ1K4)JJFHIJ&:CFI35#-0S40U"]5L5'-0S44U#]5\5 ND M^U.]N*=[-4[V++7\60OY%DM^JR\VV\-"6M"Q(%2WIXT;Y>B5JF8 MEX^EE%)S*677'>!2M4"HO .\/632'J+6A)0OG:2=$:,WGW_GI(86'J*:B6H6 MJMFHYJ":BVH>JOFH%J#:#-5"5)NC6D1IQ1Q]K)W,;S;EZ'_5#O#F;CN_ZR:U M":JIJ*:AFG[0FG: MX<8[2%F3(E>\";R'A*U]57,U<=2 M1:FY5/'/OI!0\^%TSO-H"2.JJ:BFH9J.:E-4,U#-1#4+U6Q4I(&95_C6F&=AJBVAS5(DHKSDC'"E*IN8+TS[B\4/,A=)Z%T(I35%-1 M34,U'=6FJ&:@FHEJ%JK9J.:@FHMJ'JKYJ!9(U8I3L3P#5:M KT6ESVQ+XXK:P>TZ!35YJ@645IQ=CD6G4J7%9W6SRAH MT2FJ35!-134-U714FZ*:@6HFJEFH9J.:@VHNJGFHYJ-:(%6+3L5R^>=,JJLZ M'2#*)W8SRL>B4_FRHM/W%XFH M3=_-;M?TC6H35%-134,U'=6FJ&:@FHEJ%JK9J.:@FHMJ'JKYJ!;(U:+3$PL" MM-\0U>:H%E%:<78Y5IW*YU>=ML\H:-4IJDU0344U#=5T5)NBFH%J)JI9J&:C MFH-J+JIYJ.:C6B!7JTZK"P*YKNQT-%!*NVG#FCBIUQLIY;+3FKCKL=0O+0AJ MHF1II/3$$PL"Z9BR?Z3LM+EQYQR-EIVBFHIJ&JKIJ#9%-0/53%2S4,U&-0?5 M7%3S4,U'M4!N+SMM#PEK0@8CL5QUV@Y%;5 Q*Q^+3F6VZ%2N7C"O7'3:'C)I M#U%K0J323R1H9\3HS>??.:6A1:>H9J*:A6HVJCFHYJ*:AVH^J@6H-D.U$-7F MJ!916C%''XM.\YM-.?I?573:W&WG]]RD-D$U%=4T5-,/6L-<.&T/,=I#S)J0 MTA+1:@^QVSMRVD/<]A"O)N1Z4)K=_7." G2\9J@6HMH; M-I.=4QI:;HIJ*JIIJ*:CVA35#%0S4;O9K=SND:K1E%-134-U714FZ*: M@6HFJEFH9J.:@VHNJGFHYJ-:(-=<=O7$7@^TU*:H9J&:BFH5J-JHYJ.:BFH=J/JH%;OFKC:S=\U<36;OVNB:C=_WZ0/29)-XBR^_? 4WR=.O+U?KE-AE7S) M&_9^&>;3Y79Y__!V)]L\?;P2KX3/FRS;/.YO/B3Q(MGN O+__[+99*]W;G+_ M9;/]8]_'[?\!4$L#!!0 ( .N 8U>(MA"L=0, $P- 8 >&PO=V]R M:W-H965T&ULO5??0 M&4_0>*>-S"IE]"!CHGS30Y6'(P7$:5?P*P6_J1"^H1!4"L&Y M%L)*(3S7PK!2*$)WR]B+Q"VHH;.)DGNBK#2BV4&1_4(;\\6$Y_68_^M?639 0U?8("+WP#;UF=&$M.!?G]'K(UJ#_:BMP)8P_#6YW3 M&*8.GG8:U#,XL^^_&XR\']LRW"?8HD^PJ">PDUJ$=2W"LVK!&5TS;K"4($AWBE(HM$%S84Y5TPD[J,ZKJ, M.NOR*+!YX>POO%*VV+20"RXU7@_(TICJE&RP32$I)%O09S.T-#@\XLZ@P= 6 MB=!OYIT,[03[5H;V M";;H$RSJ">RD(N.Z(N/_FZ'C5Z?;U>!#@Z.O909A@\>+%IQAT.#H:QE_,&YP MU#UJ#S-0VZ(OUR26.V'*J[Y>K5O_CT7'VUB_&]S.!RWK"_Q5*#O[?^#+_XQ[ MJK9,:,)A@Z:\ZQO<3:KLW) < #(? 8 >&PO=V]R:W-H965T M&ULK5EM;]LV$/XKA%<,&U#7(FG)=FOWU&R)5FD& ?(%ULOQ]/#X]T]=^3EHU3?]89S@YZV1:FO1AMC M=A>3BJ)WBK.\&K0M)B2*DLF6B7*TN*R>W:G% MI=R;0I3\3B&]WVZ9>K[AA7R\&N'1\<$7L=X8^V"RN-RQ-;_GYMON3L'=I-&2 MBRTOM9 E4GQU-;K&%[%U00X_CTH'37?M .[UT?MGZK)PV263/-;6?PM#[+1"&5[;>3V,!@0;$59_[.G@R$Z T"/?P Y#"#] M =.! ?0P@%83K9%5T_K(#%M<*OF(E)4&;?:BLDTU&F8C2KN,]T;!6P'CS.)6 MECDL"L\17&E9B)P9N+DW\ >K9322*W3+] 9]@A77Z*=O)=OG F1^1F/T[?XC M^NG=S^@=$B7ZNI%[S[#XA&[Q&)"/7@N3U_. G H8V5::6/#EG9&G!5&7"EY!9! M%"IF1+FNW5@8P?6%SVRUVJE?K0WQ"[UC&;\:00QKKA[X:/'C#SB)?O'-^8V4 MG5A@VEA@&M*^^ P92929W'+?-.NQ2376)IZ'!8X3DEY.'KKX72E"<=I*G0"+ M&V!Q<&FN\W\@RFI7-Q(R4R;+3!09785=TH^"'!2M'P^?QGCMUS& M-U)V8JVDL5827,:/')1F@M4IN,S12I2LS#@J..12Q+92&?%?]=IGAUIYW%G! M-)E.>\OL"LTIP?Y5GC6X9T';-FC3%ZR\XDJ!CQW]CSUQ+\+4^3@A20^@*S.F?GCS!MX\".]^PQ0? M6_+,$>"#BD+7AN5/]MH;X7/73%$<]:"Z0F0ZF_G!XJAEN"@(]T^SX>J]C6 O M,47.1S&9]U./1VH,$QB UB%?'(3V5;&<5W$D+4B;?;AX8."6?A+%#HKI-,)] MK*[4F.!X*%%BTJ(E0;10(1@%F>X0,L,F):Y)$YS$?9RN&(WI0*#CEFIQD,<6 MOY6?S@5'71V MT[:^Z048NZXYGSE&=:52VDD# MIP!;4L)A5@* :@_)J+5D(=A2%!4A>]&Z'#-.NZGF -<5HW@HZ%LJPF$N^GQN M*>%%[O+-%'+ O(_<%2-QC(>^U)=!;:3NU0LM_ M.$R =WN5;9B-72@E8!5A[58!O/0XE@M+?<:-&FO0Q(/,Y(9 M[9.21VP@[$G+GB3,GA6Q>UW0"]2EQ83V4?JH8]''[Y$B4#IFX)5/RNL:U+O?/B'?RIIWK6VD[M4)+V21,V3=2P1B8 M-01\B>Q;&Q495.C"&^C$Y6&,:>3T#CXY@G$T4)^3EK%)F+&_0(GQ?-B^.0NP MR\N0F=(D<1![!9/NU$XAMQQ.PAQ^:N.:Q7.^],-U>;G?2GA$:$P&N)NTW$W" MW'W7,>MIZRN7A5A7;9 _DEU"'L?3?IOAD^J2^RGJEK5)N)_\RI[0HS";C2SR MRL**%]4VWV%C0]N&#D'M:8IVT\]2F66U1Z;\6WK$TUE"E>_D)H]8&@^Y>,O! M),S!=?+WY2,O5@^ETLAQ&H_4D&?3EG5IF'6=['\N:.JCUA3R>@^V3PZ3&1G@ M+=H2+ T3[.V&E6MN(5?X;8%375C7>&"%]10O;I=%J5-;>X1F0YY.6Z:E+[2H M0SC?HR5?B[*T5K=%&U="YE[PGJXT2?OEC$>*S.=#KM+9)@[WK@'XW/8V0>!N MPSJ-XGZ&\4C1690, &\9DDZ#=<)G65:0.X5-LSEXSC9WD']?O<_]1MI.;=&2 M+WVQ7:ZZ47]C@';'YL%K")=?8VUT==_:>W^"+V_KXME53GR;_P10D;PU36X'* MZ,,,S*SJ ]KZQLA==<:YE,;(;76YX0R\V K ^Y64YGAC/] K:U[\#EB@*="&W^>Y"&47WH]+W,LA._:$@V= M+*TK1*"E6_5\Z5!D4:G0O6&__Z%7"&62\5G3 9?+DY8/@K\ MKG#M][Z!D2RL?>#%;7:>]#D@U"@#6Q#T]XB7J#4;HC!^-#:3UB4K[G]OK=]$ M[(1E(3Q>6OV'RD)^GGQ*(,.EJ'3X;M>_8H/G/=N35OOX"^M&MI^ K'RP1:-, M$13*U/_BJ>'A9Q2&C<(PQET[BE%>B2#&9\ZNP;$T6>./"#5J4W#*<%+2X.A4 MD5X83VU &, QW+F5,.IO47-E,K@07GFP2Y@Y]&A"/#GK!7+*JCW9.+BH'0S_ MP\%G^&9-R#U+B-^&+XJL$4RRZ,^AT8]H>C5^R-6@9&T=[H M%08\! LWR@@CE="0$EBDR@O^$-[:W,EA<]Q$7WPI))XG)1/G'C$9OWTS^- _ M?278DS;8D]>LC_>SU(%+:[S5*MLE;3]7G+M#F.!*>:FMKQS"GW-\"G"AK7SX MZQ#6UZ.9WLVO4YC?P>7=].IZFEY?\5=Z]_7V:C*GQE,!LXHOJ/#?Z(>D.M$W)0 MA-!7"Z\R)9Q"WX&0([Q]\VDX[)\V>G$U.'T'Y$F IF&FS(K:RE1+&A-$C., MUL28.W:HZ3\#999.^."J* "ELQE]DGD.FH:D$UQ'RD!86_"XBEQWJ.Q7Q!HZ MLI &1!UA1>XCD*,FL'0V:X-J$BG)&]P^]\I'^Q8WGI+J6RN-UM92%^8Y(6R" M@7*?4-J75#Z*#-!19"ZG6F2N]D@:?#PEN5SALH'(/&4H51S*A7A UXF,7T:9 MZR>4%2<#[I9+)?D0'X6N(C6D'R\1(Y'9W?,48;$QW]KV-/%7PL6\L*305*-M M61,06SF)O@LI(M1#;-0AMD!D5%LL1AV]P*VZ%F[%Q?,RQ;CCTL?LQ)Q#2:GA M8@??$*R:"H1)@4Y)T7D6_IY58CL0R-H,PUI3/K!>!I2YL=JN-FWUG$).U\;Q MCTIH%7B[SCHK.@J>^)(4&B5*.@RXIU9610E:+0/YB[307HV ##!JAM"A"\L= MKYTHRWTKQ?L(X6YSI7,G\GB$SJJ$XPU'!S=FJ*U MMVQC]=M8@5%TJ3HH"W+K;AL&^PU.&"_B.\%#+JA^%X@&J ;HRF4&NI$=UHG: M3'"U'6.$CNRJXG^1MW-"!);"U0P2&FX1+H78D4V0,9^.2%2E)LPK--2*6D<0 M6-8A1.S/,T"$-.7:#HC[;MJ%7R:3W; A?RV '76Q](I86#7T@T<-ZU"L/8=!G^_W/I[\=.&Q">2'8!/12GRZ(=NY0I=%;R\>0&6W('36_X3Y- MF8;:3?,R &.YW3?_"F#4/70/]_:>4,39*CX4N;R(_OHUU>ZV;]%)_03;B=A8@,Z7EN99LV ' M[0M]_ ]02P,$% @ ZX!C5Q6M(."K @ L 4 !D !X;"]W;W)K&UL?53;;MLP#/T5PBN#C:YK+$@/-NF)]Z% TW?HP M[$&QF42H+'F2W+1_/\IVO!1(\V)3%,_1H2ARME/ZR6P1+;R40IJYM[6VF@:! MR;=8,C-0%4K:62M=,DM+O0E,I9$5#:@401R&%T')N/2R6>.[T]E,U59PB7<: M3%V63+\N4*C=W(N\O>.>;[;6.8)L5K$-+M'^K.XTK8*>I> E2L.5!(WKN7<9 M31>IBV\"?G'Z$3A )SZQ@8_9[Q*PKAB$C&WX[3ZX]T MP$-[SW[=Y$ZYK)C!KTH\\L)NY][8@P+7K!;V7NV^8Y?/T/'E2ICF"[LV-DD] MR&MC5=F!24')9?MG+]T]' #&X3N N /$C>[VH$;E%;,LFVFU ^VBB%L]D-9A!C.X48^H[1*DJ)<5[V4MXI.$2ZP&D(0^Q&&S;>E2X_3N4Z9FHKE./>H%0SJ9_2RCQ^BB_#+";%I+S8]Q9[M M2_$*5]SD0IE:(_Q^P!<+"Z'RIS_'!)^D/"XX'AQ6_8V=*VH[8T&MP6X1UDI0 M]W*Y@4]#9S!<.*G MX9B,=.1/1F-XI,8]Y_*\TBI'8V#B1^,0AGX4I:Y@G)YW 1NE"@-1[,?A$**A M/QHEL*RK2CB]L9^$(7VCBQ0>E*7R\H-LSF"<^.$D(6,4^6$\@6-5"@ZZJ$2] M:6:%NXI:VK:A>F\_CB[;+OP?WLZR6Z8W7!H0N"9H.!@-/=#M?&@75E5-3ZZ4 MI0YOS"V-5-0N@/;7BAYLMW ']$,Z^P=02P,$% @ ZX!C5]_<_1F* @ MQ 4 !D !X;"]W;W)K&UL?53?3]LP$/Y73IFT M)VC2I##&VD@MK!H($*)L>YCVX";7Q"*V,_M"V7\_V_FQ(DI?$M_YOL_?^7PW MW2K]9$I$@A=123,+2J+Z/ Q-5J)@9J1JE'9GH[1@9$U=A*;6R'(/$E481]%I M*!B703KUOGN=3E5#%9=XK\$T0C#]=X&5VLZ"<= ['GA1DG.$Z;1F!:Z0OM?W MVEKAP))S@=)P)4'C9A;,Q^>+B8OW 3\X;LW.&EPF:Z6>G'&5SX+("<(*,W(, MS/Z>\0*KRA%9&7\ZSF XT@%WUSW[TN=NJ^LES*F?!60 Y;EA3T8/: M?L,NGQ/'EZG*^"]LV]@D"B!K#"G1@:T"P67[9R_=/>P SMX#Q!T@]KK;@[S* M2T8LG6JU!>VB+9M;^%0]VHKCTA5E1=KN:C%X5 M'!Y+A"M)J+F 92-S+@N8%QK]_4!N+RJ'>5/8]PBQKTD,UTPVMHTA3MHB'<$M MTUD)XY/>OFXJNSWNS3OUC&*-NF-(!H:D"X$EKK7W](X!TCE&;TC>TAZ!5# > M11%L5*/!/B1J]_O79#/..D]+&SL(P;["A3N=)5 7?GX8R%0CJ6VRP3N,J'G; MF?_#V_EF;Z?@TD"%&PN-1I]. M#MS&@-4K7OT[4BV_5^6=HQB]H%V/V-LF^X M,]P!P^!._P%02P,$% @ ZX!C5\OR-ZO_ P W@@ !D !X;"]W;W)K M&ULC59M;]LV$/XK!Q4H-B"S;-EMT]0VX"0KNB'= M@J1;/PS[0%,GFPM%JB1EQ_]^#RG939;$V!=+/-T]]]P;S].M=7=^S1SHOM;& MS[)U",U9GGNYYEKX@6W8X$ME72T"CFZ5^\:Q*)-1K?-B.'R;UT*9;#Y-LFLW MG]HV:&7XVI%OZUJXW3EKNYUEHVPON%&K=8B"?#YMQ(IO.?S17#N<\@-*J6HV M7EE#CJM9MAB=G4^B?E+X4_'6/WBG&,G2VKMX^*6<9<-(B#7+$!$$'AN^8*TC M$&A\ZS&S@\MH^/!]C_XQQ8Y8EL+SA=5?51G6L^PTHY(KT>IP8[>?N(_G3<23 M5OOT2]M.=SS,2+8^V+HW!H-:F>XI[OL\/# X?BB#F4V>W MY*(VT.)+"C59@YPRL2BWP>&K@EV8_V8#TX1^H@O'I0JT6#EF)#U,\P#XJ)3+ M'NJ\@RI>@'I/GZT):T\_FY++Q_8Y:!VX%7MNY\51P%MN!C0>GE Q+,9'\,:' M6,<);WPD5D_!TD=EA)%*:+H-(J1P_7/Q=G"3Y^'BN)SY1DB>99@'SV[#V?SU MJ]';X8\S/Z+?9;!+=E04G>"$%HU3FHKWZ0QITN^/XT>GTP&Z=9=\ M+> C?'4IT3;X/KP?;_C;L"XIY1"'F?7DS E;85SP@3%_H2$IRTF.3Z_&XFJ M4G%0,>;)P/"J.TB[850\P) WL=ADJ_WHGB15!6:U4962R2$USFZ43ZZ5H4IL MK(LV 6%PF6S?"["(0 M FZU<'K7I1+YJ Y#ITRW3&*BH?H5A?3T4;B530PABMLD\1"Q.;S5JNM+=(1" M)32JZ+ RR$40,I9&@^&0*MLZ' +AXL!4QY;=WQY=%#V_UZ].B]&[#^B"I5:K MOL/:6-44Q8NQ"HRA9Y0.'Y=HMSV=)%-AA\"05)0C]@R2ZD-L5V1XE]+<]\]_ M2:3"HV^B@2J5<&CP_B/:VS-V+EUAG*-]3^F'&]Y8O8GM%*UOMWB+$T]75AC_ M(RU2@S_- EVR["6C;G3_E]+)<]=9_F#GU.Q6:;-B&FUK0K=^#M+#\EYT.^N[ M>K?Y/Z/T7M?X \(N*N![97&S]X?H MX/"79OXO4$L#!!0 ( .N 8U=50K+(3P4 &D, 9 >&PO=V]R:W-H M965T/=)G&^MN_)HYT'U5 M&G_>6X=0GPX&/E]SI?RAK=G@R]*Z2@6\NM7 UXY5$8VJ#2FG3FY_% ML2]N?F:;4&K#7QSYIJJ4VUYP:3?GO5%O-_!5K]9!!@;SLUJM^)K#;_47A[=! MYZ70%1NOK2''R_/>A]'IQ9',CQ.^:][XO6>23!;6WLC+I^*\-Q1 7'(>Q(/" M[8X_*5-FCL^[E'>^&"KUA@(*FW27=VW/.P9S(;/&&2M019QIT 1 MY:4*:G[F[(:8BI1FN TT86Y3HX?-6P"_-?;6":T#NZ4MK1=U4V3)]9 M^<8QJ _^;! 01>8.\M;C1?*8/>/QA#Y;$]:>?C(%%X_M!T#70 M\C[?6Y9+[?/2RLIX^N,;WP>Z*&U^ M\^=3D%]V.CE\;KG3^%T.7[$A1J=5"ESIL^Z3-SBM6H<8RP**R/I J[I0) MT 3;>!2[NX$WZ$^)'N0D MUOHO3LQI4S>"=PI73)J2$#DR ,;0TJQ+K'X!S3N'P\G\3Z< M9;A/X.) A,TZ2+,AP<@FWTHE;< )G!B42HZL1S/,BY=/)C#Z*Y!#)9#?J-K3 M\62*+^F:4OD';0=TU,]FP[WHH_[H9);B=Y/WB#W]$5@']&9$;Z.3OCQ00_J-X@[.;*KV,O>!2I Y*Z0=?G25RPJQ'VY?PF MSEA87*HF-))F@X+OI]8HT-32$K<-MINB$R!14!\%*QY'VG$8Y25@Z*5.:KMK MEJSM]7]-7:#H)]9">A>RJ.^BD/G'V.X@&"*Q@DK>*UMPZ45<"^PUMC&"/'*Q MA-8@ABJW?J<*$&WK:AMCV87L>U&''I1650P\2,TW^5J2>HQOJQD["%(26 *_ MRTX^PTS&!/Y3S"1># +ERKFM@%>5 /:/EB\^\&V#]$O9WOII_>(W"T%T[?8E MR"5BGB)?9;H-@M>!'Z;1$X%\78BR**TLJ6&Z&@Y#0DM*Z= MO=>5)+XGGP5^4=ZQ7-ANPCL05)%1038!6..#ERW !]?$_?GPJ2/%8._X5[%; MQ4.NU#-R22?!;K0[1W](Q\>'Z>D0_EFY%<)1R4N8#@^GDQZY=+!-+\'6\3"Y ML %'T_BXQG\!=C(!WY<6Y=Z^2(#NW\7\;U!+ P04 " #K@&-7\.] 0VL& M !6#P &0 'AL+W=OKW;1<[5E ME06ELN@-^OU)KU2ZZEQ=A+5/]NK"-+[0%7^RY)JR5/;IA@NSO.PDG?7"9[W( MO2STKBYJM> []E_K3Q9OO=9*IDNNG#8569Y?=JZ3\YN1R >!/S0OW=8S220S M8^[EY4-VV>D+("XX]6)!X>^!WW)1B"' ^'=EL].Z%,7MY[7U=R%VQ#)3CM^: MXD^=^?RR<]JAC.>J*?QGLWS/JWC&8B\UA0N_M(RRTWZ'TL9Y4ZZ4@:#45?Q7 MCRL>MA1.OZ8NO&GK^ MZJ/Q3!/ZA6[9Z@=LH:L%70N#VFMV%ST/WV*AEZ[\ MW$0_@^_X.:/?3.5S1[]6&6>[^CU@;H$/UL!O!@<-WG'=I6'_A ;]P?" O6%+ MQ##8&QX@PI$W]$Y7JDJU*NC.*\^!AGWQ1G.C_>:DE\Y=K5*^[*!9'-L'[ER] M^BF9]-\< #MJP8X.6;_ZH631K79I85QCF?[ZPH^>;@J3WO^]+ZC#;B?='RL3 MB)#/F2KIGX)2TUC'9.8T:QQ,.W<2/K\U9:VJ)]*.^+$VCC/)@ZX\@SE/%ED( M#C""T&05VL):KM(G2*>YJA8<1>9%D_I&2;.[+HQB<#@/=.@HGV\[>O73Z2"9 MOG$$_%!34K-+HN(T6U-0NK2D@I3XW7 MA?Z&T%^ Q<)2V0PL5'";KDC;C=(M51V*T,SG#A-9' L:R#IG ,[#8QL.S^O M*$Z$"IY5BAQ67K+LL07XE_2$;:(HGB@SZ;HV"E#*14Q,KA'@C/V2N0I&Q99^ M5DG!&7"B^U B('R)J2W_&@+/L@.H_W 8[4%U)Z4-9HWUZC[@!<@8!"0JI\*F M$+%7RDMO1!JC_1F+3L1Q0CD(6.OOXFU+*>8"**2LA=R80;_C.HO&EQK1S%AR M"F&LHH)<'=7!G(1AV6^OG81%A62ZU.HZ[&#2HH$E0GL':B1!FS()^1?7>JY3=(4M4;)EJ7W,CW0*2AN5(;6XQ65, M'>RBZE4;][9=)/!9005HF^)1A3.;"EK1@PJ8&52\\ALB6]H1"TYN3!#(L;,#3\OIL_3&&122WH87FG*[ MC&.@&Q.UL5M9=+PC+),0AQ,YN41H7RMTF\R5C!;2E\<8Y^ZUQ/N<4%F+_8C: MKR0R&82FT%F8'9LM33P+[Y9S.6*%>8X\8$SA^0YD+4]3/"] M,IZN@R%LQC [ \OK'?F$WE[?'IUUA_3KU\](UW R>I-TD[ Z[8Z?K8JE6TY7 M)I)@8A!-#(;=P1X;_>XH:.WS?%U;7*>ZPN3>'8$O9V^D';,ZP=, M$1GTFYS)('I05F,;X%^">L8S+YTSUX^<;996G6NY[0S9,_ZO$=!?'(H4$K&7 M6JRU>HKY*^4\!7QR)@VE?_?[N\_!&T10N!%)C V(D^[9*/E9$$IYA#'.ME;6 M/ZU+QAN/S0^D(D8\J%)D1/4H2;I3'#Z+8MUH1X/)]LIW:F!?2K^Q-9L$C>CW MBJZ;!=?0::!O;@HP&GI8$K.Z:83M6 *4UG&Q=QC= M Y+-H@I-A2"V1X,^V$/[#HAT''1,XT"/>WT..)9YY\S[+(J/Z*M#WP.!0LC6 MT[O_/5.8EE_QOH^NP MDQ[#Q6L:#N@XZ9_AZ?ALC-\/+[OD?+.((X=0!'P)C6@\'M+Q]!1:7T(Q'=%@ M/,'O9#@6#,EX&C!,)J<'!@?.!@4&3)*<[#LI][;N.B7;1;C1N5C0\=K3KK:7 MQNMX5]J(QQOG;\HNI"(*GD.UWYV..]B@PRTNOGA3AYL3]A_D.5\RTU8K+O'-7.DELWBK%QVSTIQE9+0L.G$8]CM+ M)F1K?$G/[O7X4I6V$)+?:S#E->I43*QY-(()4'S^55K$EU<)VX]+?@N^,8TKL%Y,E/JV=W\D5VU0D>( M%SRU#H'AWYK?\*)P0$CC9X79JK=TALWK'?HM^8Z^S)CA-ZKX(3*;7[6&+,8@K M@YAX^XV(Y5=FV?A2JPUHMQK1W 6Y2M9(3DB7E*G5^%:@G1W?* M+CD,Y\KFPJQ8RJ]:6!>&ZS5OC3]]B/KAEQ-DDYIL<@I][/-R37FY9UO'$29: M,[D@OO#G(W^Q<%VH]/FO0]Q/HP_:1Q,/CSFG!TQN(6<&E.15$0'*,GT&(5-D MX.Y7!9. '0+X#=QEW&*&%'"A41P/V/O0R7,:SC1M377A+'B M6B@,7*G=_IMH*=MN'U-YD;8W'E$0PE56 5C MQ;8X=Q!-9L+A5KH[H++WN^\I 1V>L9DHG%PP[BS-!5_O\M;8=V\K(N6C8GR( M5AA-VF(O)&,2*O28/;- M^04":]13KFZH-&%8@N8\0#WKXFPP2 M_!U&??>+JZ8XWM&; !9<!161P''V&0.,@HB/HC_.\&82]TFP;)8 /6.U:I$[%4RK3)REL5>(-;5"9 MPL0K]O%HC;_IHE6M&=].WW6L %.$E8L:VFLK0571OH6YW&OW.>*D535&8&!0 MCV(ND+8L*=8NG(XDXMC&6U0)Q_ZVW[><+U7]5Z*H:M'F:+S&D&"9.$&0F!1Q ML%POS:[#584AO("[VF7O%^P<.XO.X0=] MO/'L,TRP@O!C%'ZC0'X%UX5N73O_3MWZ23I/D>J;X)"77S'27L-1L)-O&(QB M)]%NV!Z&;ZPH(H@5=9,@&0TA'K:3Z-@6J8M3X:HMZ@:]X0C."3-^LZRR/8O/ MX6S4"Y(D]@NC^#3W0P48]X/N*()XU.[WX0PB2L:K=,@Z$R8ME/%SU^;8A'R. MG%R85Z)E>H&GBP*;4^'LHC#\I8UX,75TMZ+)'!O,-Z91RE40NP$9T'58-X6H MOHJ)5;GS;<8**KYW<_>HFY[.=;/]OT[_FK0? ?Z3JQ)T7W)$=J<6-[1*:?VG??VT/AA-_'G@=;D_56$L%]@^T)$YFH;M M 9Y#M#^I^!NK5G0ZF"F+9PVZS/%PQ[5;@._G"K^6JQNW07U<'/\+4$L#!!0 M ( .N 8U&PO=V]R:W-H965T-23:92%[L793$WXB>-?LP>/M^X*I=05VZ"=)<_C\]:P__[R M4/:G#7]K7H2U9Q)/1LY]E9'/G*_8& $"C6\-9FMUI!BN M/R_1;Y/O\&6D E\Y\T67<7K>.FE1R6-5F_CH%G?<^',D>(4S(?U/B[SWZ+!% M11VBJQIC,*BTS7_5]T:'-8.3W@\,!HW!(/'.!R66URJJBS/O%N1E-]#D(;F: MK$%.6PG*4_3XJF$7+^Y=9#JAW^C*596.D#L&4K;$NXW:3M@6FL-9-^(LL>@6 M#>YEQAW\ /<=?0+ --"-+;G@IJLA)@5W^9KC#W7!2.^_#3!5\WD)Q!/9S;EV\ M^:G_MG>ZA^SABNSA/O2+O<&A:QT*XT+MF?YYYN^1+HTKOOZ[RXG]QYQT]JNN61KU'_>.V_ M;=,?M>7EH[++#\?9U#IZGC)]OK[YDW2@P#/E$2/S0C/OYKH$,W)S]D%JC]R8 MYL[4-@J(MG,.44^4%'_V);C:%TP%7/(HM-00=!2_1B\4<0Z4)+:#WFD]$_%" M>NN?HJ<91D,)0EPL526I".&U15[*T5^T,:KB"&T?T;Q\A^Y=$@9A66(O=)RF MS6O^ %!6;AZ&R?'8:-A.3]M!O%>Q]DC_1\X"!7KV:#PLGM>(NZ%?&O[-^M*! M7Q$0$ BN8@*.,F9Y< !I0JR$3!ON%*8NM^1LDQ)/- ("(W@L4'!;$@KM%E^W M>=&UJC G:!B@69 471&[?[P>KDC!?*>?6\F*LTJ.["$ZI_U6SN,D&(I(X$', M-B3\DD292 0"#E+ZZN;QZN.0GIH9T^\==X#EH9T#ZC*W#W,VHSPV4QP%\6X] M[0='>>/S6BY.E>0#BAM-"IHZHU,EBI,8/IB.DM A0F9L7&"Z43(HN;)ZK(N4 M_J]F.M*(C6;4!A('FW,=,?S3U:CV(?6_E80>KZ7.&"K)SF6'[MP" +Z]43.% MLBLPE&VE7F@(?)$Z;#B$^X34L'"!&PKYE7,V"VKKBKVK TVDKJVP@?HS"5/3 MD>")>!VD?%1,6>5(:4]FK!4[QY&OKQN-V,G4@C'UVKKU;0F.P M8UOHK'-D?3J))#"=6H1>;G>5*;;+29^B[P!F>YKJ A M%%(N8XXOR5H6@39E9>*T#46!H&S>[2?AH6<9N#F'G. MXJ:>!2DJ)WTST?;\K=8^3[TVH6.JD=%ABA#JD&NA1,U#4#PJ7V[J])I+R"LM M:2=RLI=A6F"+T2EI4X>2\.T,8].@<-IN"9<-;'EFZ6 D5?(Y.; YH&3S1Y[@ M_ ?O"F:1/M"M=Q5%W"5%=OF[F;I@+KWJ)242S977(BN*WR0D5?POF(51NI(\ MJ[7(EGS%!3@V=+=GC]Y2[V.[H:QAEOU;\T-%@C*I).IV>3K5!F='41WZW][GZ5G3^G;"^WVL?_M&O7SI#6L\2"Z&G<#G#*3 *L\MPD[RQ MTG7ZJ,$;68\IFR:43M/L$7O9X&(6[66/N.@I6'JMC#"Y$IIN@@@2U K^(7]; M<_.'S7&5//6UR.7E"&7@I;N5HZLG/\W.IL\> 3L?P,X?LW[5I8%*9[?T H%U MX"TX$2IZ$=D@'?W]0=X%NM8V__C/0_@?/V$Y[G--'RJ),[:U,/?@E&E*G-7 M)]HA/(Z4*9WPP37Q+?D@I:9:U9)J9PN\]0GM*I57)#"]D48ZH36;*B3'NZ4O M^5KFJE2YX#+T!"&!91^P-+ZAO//2.D\<3F4V?,"_J%NL;IA5M+ZGNEEKE7?0 MH!?(I 0 ;2H:?Y%.G+@)6$*Z 706Y=C+^SG3H8]ZC']TF--2 K@MR6%?2R> M_+1(9^?/_(#,MPE0&.1=$MI)B)XG01Z0->Q+%U72Y)(LP&ZB?Q$B6\?Q6^5C M9^!)^])!(>3(V#'\WJQ5U"+>ZZ?%AQTMW<>AV*V$!QNW7!PT"J\ M-6*M(\I2!>*<X(+ M' Y B7$^IH7!_YQ/EG1YX7&'GAY=#P=+TX@K5HS&1D*.QXJ M)W$T:H>@1Q"+-2+9B]*CLVE"JXZ(W\W@GIJ<1.9MS^&O2/M%9A&<")-S&X.! MSH$5/;%!K4D7%;&UC0EM<-'^M&Q#'6UX5: H8DD>I)[D7=VNLB '(>X[6OL.8KR5C@5,_^E>1S/.66JOU1>;$"_MEHX)8?R5%J- M>P.3-41#Q7YUS'F[$O+0Q::U,= >J'"4H-HJN W _':HR-[%M=0*EA#C@#&B M7\A:L<\5Q)L7&L'I2KKP)6P%D)*8L09,=JP$X9[!LTCTL'@:V:RHA \^JJ0H M2T2S530@-I"$G,I._8X98&4;CXW^Y"D"P#0[;*]?T.T=,_"1^4A6YN3!Z/OS 8&))/E)FK)BE6 B;D"'T_HB!;39+[,>) E9V<\2--9DB[G/,I.D_G\ MC%:'L:7CGOQO/J^1QZAESPN;^!A$J#&[ S MS(MVOG;0#ZF@@!RPH]GI>#J\*=IN\5U93+ZGB]&PO=V]R:W-H965T*C2'DH^"9D#;3'-+)A*0Y='H0]AJK ML2576@?R[[N2P8$9P@7KX^W3>]+N,EEI\V(+1()U52H[#0JB^C(,;5I@)6Q? MUZAX)]>F$L13LPQM;5!D/J@JPSB*QF$EI J2B5^[-\E$-U1*A?<&;%-5PKS- ML-2K:3 (M@L/0(:Y:$IZT*L?N/%SZOA275K_"ZL6.SP-(&TLZ6H3 MS HJJ=JO6&_N82?@//H@(-X$Q%YW>Y!7^4V02"9&K\ X-+.Y@;?JHUF<5.Y1 MYF1X5W(<)3\U(0PB^ *W*M45PJ-8HYV$Q-P.$:8;GEG+$W_ "IO%1PGG6/=A&/4@CN+A$;YA9W3H^89'C%H@#3=2"95*4<*< M!"$G&!WTV]*-#M.Y6KFTM4AQ&G Q6#2O&"2?/PW&T==V-$Q]N3]+>"; MM&FI;6,0?C_BFF!6ZO3ESR'%QSD'47_OC>&Q0+C652W4&^2RY!79;A,?:Y : MH]P2$..>E"3,VANS<(,9&K[ OXV1-I.^OGH.*J"4E4>JIEJ@ 9T#-PXN#;4' MMCT0*G,1E3O=.MI]0!^>)160[81T[1O&0A.W'S\LN-^C<0#>SS77TF;B#NC^ M09+_4$L#!!0 ( .N 8U>[ %5M904 & . 9 >&PO=V]R:W-H965T M,2A $^MJ6UYBP$F7MD";!$VZ/0Q[ MH"7*XDJ)+DG'Z7[]SB'E6^>ZP?JT%XFB> Z_<_L.>;Y2^I.I.;?PU,C67/1J M:Q?C?M\4-6^8.5,+WN*?2NF&6?S4\[Y9:,Y*)]3(?AR&@W[#1-N;G+NY.STY M5TLK1-!I?IK3>+?A-\)79&0-9,E/J$WV\+2]Z(0'BDA>6-#!\/?(K M+B4I0AB?.YV]S98DN#M>:[]VMJ,M,V;XE9*_B]+6%[U1#TI>L:6T']3J#>_L MR4A?H:1Q3UCYM>FP!\726-5TPHB@$:U_LZ?.#SL"H_ ; G$G$#O@G)W<*,LABN 4ID6Q;):265["K:VY MABO58*!KBL CAW?*F/.^Q3U)LE]T^B^]_O@;^G-XKUI;&_BU+7FY+]]'K!O M\1KP97Q4X3U?G$$2OH0XC),C^I*- Q*G+SGB -6P;5H65L()N'>HA,P\>Q! M>[VZ]+ ZJJ&Q6;""7_30=X;K1]Z;_/Q3- A_.0(VW8!-CVF?[$?D;5NHAD- MD3D!%\D_'OB3A4NIBD]_'@)_5/UA\%%T]JS<@(>:0Z4DEKEHYV#93*)C?;&+ MOSD4-6OG."-:0 V T!>J)2>#JO8V4&Z#8F\#21L$3E0M#6M+ ME2B )8\%W<(5++7F;?$%KD'I%=,E3F%&:Z03 Z^ &USE8#.#?YBIX1H] &^ MEV3MUULH:#%NEJ-[+7Q 0;B'%5L\1]6#LIB$$AWF*CT&:T^QPE./<[0''=LX*I#-\QI'F.9)M(9DQHA(%(^XT M,!RAZBA#)?%@ '&% M!=="'9;?ASQ"9+E3$F6Q>PWHM743$H;M_-2QAO=3FJ;.3X%_I?F0/O*,D#P[ M;5SB4TS_A_D2=7X8#;T?HCQS@U,_/QC%/Y8S@P@#.TI0R2",(1Z%/YHS&43) M"+*

*4S!P@NA0M/)(G73VE<=3E21JZ 8FZ/WCPP8D#M <+K1Y% MB3%@92G(&QB(DELFD+!F>#1ZGKT[%&EK9F'%]_R,HMBVB$NO%#;7UN $CHR2 MHG2*MWV,:/$6O=1%9I](QUU. M E_Y^X9DC_P_8I@K:1>O[6C'V'4MRTTMLTTICUT:^?01!0[\TD(9_'6/_4\4 MW'UM>2*(NVKQR1!0,EW1"D1B&+4\MS#P7$2+W)(;WYNP*>V6^-QU';EN.E5' M(L6:0ZJ.0HHU@XR[1K41*:CL*RK[VE<];IED@#4=9(-N7P_+4]4!B2 FK*>$ M-G>@8R*$.XT'?TW>:DO@GY=BX;AO:HS"0Q)%8=MGD0-:7@D+Z/T8RQ0K[.WV M)W\BOV(-DO8,@45#MTTR>JY?Q)H -1&@(?[[OB/B$"L>P M*4'W^V1C5)!ZMWC0%,PH/V0?]9\$J*,%6;YOFJ?B?U,DQM<52D=@+Y#@J%]G M(WQ03Z1T"RDZA\Z._9U3?\/UW-UMB#6PEOT%8#.[N3Y-_:UAN]S?O=XS/1>( M1_(*1<.S8=8#[>\S_L.JA;M#S)3%&XD;UG@%Y)H6X/]*X>FS^Z --I?*R3]0 M2P,$% @ ZX!C5Q")F)T]! *@H !D !X;"]W;W)K&ULE5;;;N,V$/V5@;HHLH!C2[*=V*EM(-G-HGG8((AWVX>B#[0T MMHA0I$I2V =7('IX*I5VRZCPOKH8C5Q6 M8"GUNY"J+(@]*I1JE<7PV*H74T6H1]N[L:F%JKZ3&.PNN M+DMAGZ]0F?TR2J+#QKW<%9XW1JM%)7:X1O^]NK.T&G4HN2Q1.VDT6-PNH\OD MXFK"\D'@-XE[UYL#>[(QYH$7-_DRBID0*LP\(P@:'O$3*L5 1..O%C/J3+)B M?WY _Q)\)U\VPN$GHWZ7N2^6T2R"'+>B5O[>['_%UI\IXV5&N?"%?2,[3B/( M:N=-V2H3@U+J9A1/[3WT%&;Q.PIIJY &WHVAP/*S\&*UL&8/EJ4)C2?!U:!- MY*3FH*R]I5-)>GYU:SQ"DL(IW%(&W.C,E AW:&%="(N+D2<;+#G*6KRK!B]] M!V\.7XWVA8-KG6/^6G]$W#J"Z8'@57H4<(W5$,;Q -(X'1_!&W<.CP/>^(C# M#KR!+U(+G4FA8.V%1THT[][RMX&;O W'-7/A*I'A,J*B<&@?,5K]_%-R%O]R MA.RD(SLYAKZZ%E9+O7,O$8$_ON&3ARMELH<_WZ)['#!)A_U 5QWLE7 R TU' M\N7(A2/I@':JVF,.FV?(Y:/,B13X OL*=,0[^U 'F)^*1[14UJ#K%#IAY;0_01$":? B?I0JF_PNW'7$C==QNJ>@YR$(I M(DP 5/I04>BUYXB_S63 ^*H.1.[7WQT0*;A;7[H!"$==BVP0Y :/,X;:'38\ MM4E7V^?6T1)]P1Y1,$,WU1F>#EBYM<.)2]O\HVK=SB,:-;J>. M&I4O0(2X*./XDNBR_^V.@Y?XQ-=,GFRM*8.I)H@B-&K2R'LQ9^Q>Q$5#4Y94 M=)Y:?JUR#HD@HX<;:U*\ERN;D-PG,+*]YF6IJ9;_7@!WPJ+^*HQ K4UZCE<&-S;;JE,CYUS M[^-/VIOU?/P T\$LF=$X'\RG9S0FT\%9RAOI>)#,9FUY'_7:O7([B0=Q,F&\ M])R_LRE_XSE<-[5%0>I"K9Y?DO4UXDGR$>9CF(T);PSG\ZZ8_Q^3)#YO",5A M('^8T>S',/#B?-S+31B:%$T@H M?%201)D^VKS*M -?*I.FX$.@-4?SG0 .W_HKC'K_[Q+M+KQ2N+-1_C2_\FZW M>PA=-O__%_'F%?55V)VD9J!P2ZKQ\'P:@6U>)LW"FRJ\!C;&T]LB3 MZS*%E M 3K?&@IKNV #W?-P]3=02P,$% @ ZX!C5TI*X1DF!@ YPT !D !X M;"]W;W)K&ULE5?O;]LV$/U7"'W?W2%$7.^MN M?4D4Q'VEC;\L7TT^*IHYP=CP9FLK;WER2_%Y6C"A$A3 M'AA!XN^.;DAK!@*-OSK,41^2'8?C/?K/,7?DLI:>;JS^716AO!S-1Z*@C6QT M^&QW[ZG+YYCQ^&"KSAD,*F7:?WG?U6'@,)_\BT/:.:21 M=QLHLGPC@[RZ<'8G'%L#C0@-B15M4>P@ M?C%MJU&SBW% "#8O#4%%8_]QZ#6\TOW_*[39P%7 M5!^);)*(=))FS^!E?;Y9Q,N>R=>+8,7/RDB3*ZG%*LA G+I_*M\6;O8T'&^9 M,U_+G"Y'V!.>W!V-KEZ^F)Y,SI\A.^O)SIY#O]JWY#/5U@5EMN*-\KFVOG$D M_OA"]T%<:YO?_OD4\6>AGR8^S8Z>DH'X4I+ ,>!DY.!;"X\]R;2H$&O>VT*" M%&^00L EP,7(P$3M)LYJ9XLFAYNWNA#2%'&UDJ;98&LVCJ%ADY/WHF&4]4.T MN+%5+!Y M2!1UP=[V,:JC;:.ETP^"[J1N9/@'P9\H;/I7$KYN-RODAE,EFO1.BKW&6,A?;N+S5[AJ<-1H?66 ^*$E; M)N^YBAP(+&+6)J$HZF!?ZL+"U]@P M7.Q+\-9LH3=R %D%(BV6X!]5NU3U@>N/J^7RIX$$@(@:;^E5H61%@>M1XE1] M5>^]?02K@<%Z%OX!"Y6/S8-DT&&Q0TZ.6^VD#ZZ)J$+6M59Y[+Q/NC9S4VNG M\"92:*HCO2]F 27>",H MZ- CQ 1E4+Z"*;)36I')'Y+8/HM^ND>DC[ =A2P*Q;-$H&Q1)?Y APDH4^"% MX5CKM9;<4E7'#=N5B;$ALH!7M=@7![:/ S%V*?TW&Q,C4 R*.]3I#B!+;'\$ M*A+Q*_:'->?B=4$LB\\O7Z39Z;F%_K1ULK"P MI'N5VZ,G50D1YF@#'VV/U '(H6"[:O4B[=R^$2K>S*YJ&\H @_X&RDL#0MN' MOCV=CO]J4(K RRT1=G04SZ4J_K]H"TCA$5]K<.3K;R.FB0 MS)URUG =6"A8IT.A<(XWG6CVE?V_PGF#XTLB\'O+-YPN)+?U-;1CE.TUP.O0 M5@7-2QW$!SX:;U#"S@,*>4>XD5(B?@NR;-N^L3@;=QP\Q..]4%YNMQ!H/.X< MW9%IVJX/3[?'KZYOI=.^ZB)<_^[Y4;$M,@"4_^D,L1W1H_L/7J8UM+1&)?D* M\XG/K&>>\Q6'?]+!Z!/NY5ZB[V?_=:C^(.:39+;(>) E)R<\2--IDBYF/,J. MD]GLY#OW0#9/TG0ALD62I5,QG:;)?'&*_^,D6TS%%\NJ^ 'S>7(*KABE:;*8 M<[PLFR53V&!T/$GFV:EX-RCV_TAF.DD64_:?,M ) R&7DXB=(L_)=Z8R3[)Y M%E&YOJ?)9#YGQ!FJT^>QV!?K.$%.&!S#ZY@3.\EB7D_=Z<:#RW=%T")_8N 6 M8!L3VGMXO]I_Q;QN+^\'\_83Z*/DLQ [A39PG1R='H^$:S\KVDFP=;S*KVW MAT$+ZQN-YV$P[0?]M=_0U02P,$% @ ZX!C5U("DA[! @ MB 8 !D !X;"]W;W)K&ULE57?3]LP$/Y73D'B MJ6M^-)0";20*0V,3K**P/4Q[<)-K8Y'8F>VV[+_?V4E#*I5*>TE\Y[OO^\X7 M7\9;J5YUCFC@K2R$GGBY,=6E[^LTQY+IOJQ0T,Y2JI(9,M7*UY5"EKFDLO"C M(!CZ)>/"2\;.-U/)6*Y-P07.%.AU63+U=XJ%W$Z\T-LYGO@J-];A)^.*K7". MYJ6:*;+\%B7C)0K-I0"%RXEW'5Y.8QOO GYPW.K.&FPE"RE?K7&?3;S "L(" M4V,1&+TV>(-%88%(QI\&TVLI;6)WO4._<[53+0NF\486/WEF\HDW\B##)5L7 MYDENOV!3SYG%2V6AW1.V=>SYT(-TK8TLFV124')1O]E;V*7.C:)=3GDD>I4$(8_@$3YBB,'"= MIG(M#!:+03/HV. LZQZL,@Z$$41(,C>(/V( 8.;W#D(#08"7=<,)%R5L#< M,(,?UEO#Q8?A[%VZU!5+<>+19=&H-N@EIR?A,+@Z(C9NQ<;'T)-.DTBDR)C* M-+Q4&>EU7;O)F5@A<-%MYTQQJJLJ$'X]XYN!:2'3U]^'2CM.'L;]__I8X#E' MA9"S#<("48"0MFD1A,'IR2@*+JZ^];I(M7@-]P*^IT8N4-GPL >/LN]6358P MZL$H.-MWV4447L$P&/;V=^ K$VN:.Q#6WPS), ?J>#]/XG]@*LU==,L^V && M,(JC?<^./(2H*;(3O4\?[YY6Q7ZE![CJ6M[-'=&>TT(=^K;\SG0H4:W<#-3@ M*JX'1>MMQ^QU/5W>P^L93>>QXD)#@4M*#?KG9QZH>N[5AI&5FS4+:6ARN65. MOPI4-H#VEY*N66-8@O;GD_P#4$L#!!0 ( .N 8U==)!'I10( /X$ 9 M >&PO=V]R:W-H965TDAIQET/1 RV-+2)<%')D)W]?DE)4MW5\$,DAYSV^TW.33W1#@BN<&["-E,R\SE#H[31*H[>-1[ZNR&_$^:1F:UP@?:OGQEEQSU)R MBSD?KM)^SB&7N^ M0@L;1MBVOD-W8]%8TK(#.UMRU<[LI?L/.X#SY!U U@&RH+N]**C\R(CE$Z.W M8+RW8_.+$&I .W%<^:0LR+A3[G"4/VA"2,?P 1;-TN)S@XK@=N/&24R.WWO% M1<H-RB0:R-@$GH#2YVGL-7YHLQ\='YUER<97NBS;>J4F) M9ATZST*A&T5M>?:[?7-?MS7]Q[U]&>Z967-E0>#*09/!V3@"TW9;:Y"N0X4O M-;E^"=1YS@( M "H* 9 >&PO=V]R:W-H965TG^^]E.2&$*5HOV K[+?=_= M=[;EFZRY>)8%@$*O)65RZA5*5>>^+Y,"2BQ[O *FOV1?/QKA*IUY@ M"@(*B3(,6/^]P (H-42ZC-\-I]>F-,#M]8;]TFK76I98PH+3GR15Q=0;>RB% M#*^HNN?KK]#H&1J^A%-I?]&ZCAWJC,E**EXV8&V7A-7_^+7IPQ9 \W0#P@80 M_@,8!WL 40.(K-"Z,BOK,U8XG@B^1L)$:S:SL+VQ:*V&,+.+#TKHKT3C5'RE M]R,%@1X%3@G+T4P(S'+0^Z3DQ%]@B=,V9*B3ZPE)(._ + M-_[,@?>ULE9>N)$W#YV$#U#U4!0?QF%P=M'?-?1!4C7JC6@0C!U]';9]'3K+ MO%]1L+E.^CN=G*56(/?I=E-OU>S$_91 MS?[6AF7W__;?P>HJZQB(G3"(*F88&O5-]^T0] MF=2&XI5]W)=&UL?53; M;MLP#/T5PBN!K^9);EQAHVA7K0[NBZ=:'80^*S21"9;I'B.2(E'TZU4SWJ#:."UXD+/@HTQ]7D4Z6*#%=5GLD9A5U925=185ZTC M72NDI0=5/$H(&48592+(ISYVK_*I; QG N\5Z*:JJ'J;(Y?;61 'N\ #6V^, M"T3YM*9K7*#Y4=\KZT4]2\DJ%)I) 0I7L^ B/I]G+M\G_&2XU7LVN$Z64CX[ MYZ:,K)-?^"]LV=S@(H&BTD54'MA543+1_^MJ=PQY@ M3-X!)!T@\76W&_DJKZBA^53)+2B7;=FXPJ*+Q#Z2P /=VC$TJ!CE M&DY@, DS,K9&-@HGHS$\62V>,G%:*UF@UC )XS&!01C'&5PSP>S$EK"6LM00 M)V%"!A /PM$HA453U]P-81*FA-AO/,S@41K*@>V-Z F,TY!,4FN,XI D$SAT M =&>,"I4:R]_#85LA&DUTD?[%^:B%=:_]/9YNJ5JS80&CBL+)6&ULI57;;A,Q M$/V5T5(AD$+WDFM#$JFA5%2BJ&I*>4 \.+N3Q*K77FQOT_X]8WN[!)1&1;SX MLIXY<\[,>CS9*GUG-H@6'DHAS33:6%N-X]CD&RR9.5852CI9*5TR2UN]CDVE MD17>J11QEB2#N&1<1K.)_W:E9Q-56\$E7FDP=5DR_3A'H;;3*(V>/ESS]<:Z M#_%L4K$U+M!^K:XT[>(6I> E2L.5!(VK:72:CN<]9^\-;CENS-'V#:V201Y;:PJ&V=B4'(99O;0Y.$E#EGC MD'G>(9!G><8LFTVTVH)VUH3F%EZJ]R9R7+JB+*RF4TY^=O9%680^O(-SQC7< M,E$C7"(SM49*O37PYH8M!9JWD]A2..<4YPWT/$!GST"?P*62=F/@HRRP^-,_ M)IHMU^R)ZSP["+C ZABZ20>R).L>P.NVVKL>KWM NX&@;Y^\X-W;[^UNR]A4 M+,=I1-?!H+[':/;Z53I(WA_@UFNY]0ZASQ9T^XI:(*C53FDZ<&H,4E68+. S M9TLNN.4DHBE9 ?2C7V->:\WE&N;,< /?O4*XP0<+\1P%I,V?-W"6FCCO5S&*Y1-T6#LZY9#+GY,J\F#&]"C%]" MZPC>I/#6@^PL0[[.,&_2E?IT9?^>KOYH& B?..*]D^%+TS7,7*K"N"]AHT%& M)V%\-F']3CK_ %!+ P04 " #K@&-7XX/%FLD" %!@ &0 'AL+W=O M$YI,EI(^2CRA$U[*J2JYF3 M:UU/7%>E.59,G8L:.=VLA:R8IJW)ZYESXD_G O+R."EHE1V MA:9]&P\<2+=*BVKO3 RJ@K=?MMOGX*V \@VO, M-@7?P(7)8*$+5-!;LE6)JC]U-9$P4&ZZ#SAO P;O!!S#K> Z5_"59YB]]7>) M?*<@>%4P#TX"/F!]#J%W!H$7A"?PPBXCH<4+3V1$0:OOF+S6>W#)'.X#MU'_1^"*7Z\,=2AR7N-,Q+ MD3[^/:;B9)SC*I:Y1'Q3/:#<:ZQ6*&T![@CEU+TID%F" XM:BQJ'TZ\N)?+T M!6C.-$QFD!*.I)Y5$[BCV:08E0,^PG!(2S0>T]J+/1_Z9(P&/BPDS2FI7^P/ MBT_;HC:I@1Z%Z$,80,_WQF3UQA&M-UPCR=(@&?W]JF$U1>D.<4<33R'Q\V$ M411";S@BKZ70K*1P0133&H>1X>!'0\LACD=PK,#N06M6*#=V "E2M^6Z[=+N MM)MQ%VUK_W_>#LA;)JD-%92X)E?O?!@Y(-NATVZTJ&VCKX2FL6'-G.8T2O. M[M>"?NW]Q@3H)G_R#U!+ P04 " #K@&-7N1LD3',# #[!P &0 'AL M+W=O>EMC=C=!H+,M5ESWY0YK6ME(57%#0U4$>J>0YRZI*@,6AH.@XJ+V M9A,WMU2SB=R;4M2X5*#W5<75VP)+>9AZD7><>!#%UMB)8#;9\0)7:)YV2T6C MX(22BPIK+60-"C=3;Q[=+%(;[P*^"CSHLSY8)6LIG^W@KWSJA980EI@9B\#I M\X*W6)86B&A\;S&]TY8V\;Q_1/_DM).6-==X*\MO(C?;J3?R(,<-WY?F01[^ MQ%:/(YC)4KL6#FULZ$&VUT96;3(QJ$3=?/EK>PZ_D\#:!.9X-QLYEG?<\-E$ MR0,H&TUHMN.DNFPB)VIKRLHH6A649V;WTB ,X1I66Z[PV@K,X5969+KF[MQZ MCWQ=HKZ:!(;VLUE!UF(O&FSV"^PQ?)&UV6KX6.>8_Y@?$,\3678DNV"=@"O< M]2$.?6 ABSOPXI/XV.'%'>(U-/HNR6NRD\O9]KKD"WW6^+%P?BSY&]T# W.E>%V@[?OP\=5Z1*N\)L?X3AA>BG\Q M]V%>R3U%_^V$P2.^&EB4,GO^YY+&3A:7-3YN%>(/W@(Y8[!:HW+VW!-*U[JU MSS;LK'1\#&_<'@XM\2G!7D"E7AGAVB:N]E4YM/LZ>7;=X4]/_# MFV?Q"U>%J#64N*'4L#\DBU7SU#0#(W>NO*^EHS_X#4$L#!!0 ( .N 8U<_T&PO=V]R:W-H M965TNKEQM3G M0:"S'"NNSV2-@D[64E7$PJ'@AO-G$[2W4;"(;4Q8" M%PIT4U5EN9>[;]CE,[!\F2RU&V'7 M^B8##[)&&UEU8%)0%:*=^7-W#WN 'T;8ZSG7-,YQZ]/TUJBUZLT\?HF'XY8BVI->6'&.?716:;S8* M-]Q]5KGN'^2W$PR/^&Q@7LKLZ<\A[4?9#VM_S!7BFS<#NG&#U1*5N_8[8CEV M;I_%#FS/^KZE0T-E"R?78D,$J"S.():PH-"Z40B+HL93^ CCT$_2V!JQ/QQ: M@['(9VEBK7C@)\D0%K(0!@K1D1)'QK6!&[%6-*LF,Y:1BQ7LQWO1I%.?0CSV M&4LA3OV811!%S!^G(YH'?IQ&<$=-3W/Z#10OBL;^B!(@BS$_'5L-<9SX$?F1 M-0C]<3R"0R\=[%5?A6KC>HR&3#;"M(78[_9M[**MWO_N;0^\Y8IRT%#BFJ#A MV8BZAFK[2KLPLG:UO)2&.H,SF4VF89G;NY*S\_4UC:RPRL-9MNV M0G^YP$;MSD?1:#]Q+=>UY8GQ_&PCUKA$^V%SI>EK/%@I98N=D:H#C=7Y:!&= M7F0L[P1^E;@S]\; D:R4^L@?K\OS4^LO7>P4RTH8O%3-;[*T]?EH-H(2*[%M[+7:O<(^'@>P4(UQ3]CULN$( MBJVQJNV5"4$K._\6MWT>'J,0]PJQP^T=.90OA!7S,ZUVH%F:K/' A>JT"9SL M>%.65M.J)#T[?Z]MC1HN54L;7?,.?$9XHXR!X$:L M&C0G9V-+SMG$N.@=77A'\3<.SVLS;US:C:BP/,1YLSZ?$F]6&X;!%7!92VZ-2&5W7>W['57J+;?N=]=9'"#MQ8N M&E5\_.-0D,=A7/7-^$:*E6RD_0(+*/^D(J4NM?"A(U9HY%\$YA=B PBDS2G&>GLYSF?,*+!PF7/N%!XP)?(9$F$G45C3!&5K(0S$0& MIC,R'65D))Y,((YS6+1JVU$*[F0)>*55^V"/U0&7[ JB$*(I!&DT(YM!DD?T M>D>,7KAT6]B@ENJP_D/(,T*6.R-1%KO7A%]W::*NLWV>^M;S>4K3U.4I\*\T MG_)'GC&21Y>-*U3>T_]AO41]'F93GX@&K.I6Z!H! M)T>X,ANX,CM*4M=?I0[H*L*\^4BR?!Q/'H5P^##PV_6=W?KFP;NH*KK'D 3[ M DFYY0. I$F8#M3.T-)-K1$?'+-?;<,[UCVR3J:,:F3IH"PMO;A##6?/=;K; MQKO1>ZJ4OCKW+=X,+2Z&#C]UU>6K2A8T\**%,K2TI.3( MW7'7T$<=]$OD8" MKK%+EB D1M ![04#3U$LY$38#TE8<7N_\]?N,&KV9U'5W)@%PF&5"K!]FD]^MA>08[H!'$C/49H\T=Z)AYXDK3[5IS MMKH2\--6;APE+HQ1A72[T'<\J)D7#=/B]Q,1A]3XD&4)GXKD:2#7/9[#H03]\LD05)#ZM'C0 MO)E1?B@^/I82X(,NR/*'H7F&_B=STOZZ1NEY[0GQ'A_CV8P>?%1RN86\.X?( M9WSO:MVB7KL?"$.U0KWL;]G#[/"/LO!7\SMQ_X/S5NBU)#P-5J0:/I\2B6C_ MT^ _K-JXB_I*6;KVNV%-_UFH68#6*T57U/Z#'0Q_;O._ 5!+ P04 " #K M@&-7*Z?#0>P" "5!@ &0 'AL+W=O1A>KB;/W!E]K/)BC,3@E M&Z7NW.13N0B8(X0""^L0.'7W^ Z%<$!$XV>/&0Q'.L?C\2/Z!Z^=M&RXP7=* M?*M+6RV"+( 2MWPO[(TZ?,1>3^KP"B6,;^'0V4[S (J]L:KIG8E!4\NNYP]] M'(X<,O8/A[AWB#WO[B#/\CVW?#G7Z@#:61.:&WBIWIO(U=(E96TU[=;D9Y=7 MRB)$,;R&*[H!GV2A&H1KU+"NN$9X>6CI,.<2%CWPJ@.._P&W+:V[V5"]/R A$3=T+,V+B(&J-X82P&A2$'$1BR:.+QXYMHL=2W+X7*[ MI6+@@MI2\J6MN1"_H'0AI-+P%^++Z!7D"60)X24PRX=0_Q^3B,TZ0LQWI,LG/@8U3%XAHS)COTID+RSB9#&0&&S;.\\XF[6QB.'41PZ-2 MT:#>^8)HZ/B]M%W5&%:'FONV*S5/YEW!_LSUKI8&!&[)E8UG:0"Z*X+=Q*K6 M%YZ-LE3&_+"B?P.U,Z#]K:(L]!-WP/ 3+7\#4$L#!!0 ( .N 8U>;%TS[ M^P( , & 9 >&PO=V]R:W-H965TG#9U4*GB)S\Y] MW]UW%U_&.Z7OS ;1PD-=-682;*QM+\/0Y!NLI;E0+3;T9J5T+2UM]3HTK499 M>%!=A3R*AF$MRR:8COW97$_':FNKLL&Y!K.M:ZD?9UBIW22(@\/!3;G>6'<0 M3L>M7.,"[==VKFD7]BQ%66-C2M6 QM4D>!M?SA+G[QV^E;@S1S8X)4NE[MSF MJI@$D4L(*\RM8Y"TW.,[K"I'1&G\VG,&?4@'/+8/[!^]=M*RE ;?J>I[6=C- M)$@#*' EMY6]4;O/N-VGE=*S5#K3S)C9G>*D>348Y\H/R0ZXV<)%]A>@(@8\(B+,WRB%RX\GS@CW$"G[Y2\#IV<1KNK,DH+M@4-]C,'WQ+!Y&;\[DEO2Y)>?8IPNZ>L6V0E"KOBTWV"IMRV9]W" & MR\?>XX<7 [?X8&%6J?SNYRE=9R.?UG6[T8A/^DDQ6XOU$K5OR36QG'OO6N8> M_,BZIH%C)!7_DB!K(D#M01BS)A#,$&PZ=P7G,>)8X M2PQ8D@P=)I?&?[Z:5KW-K6.03?&$_]%07@9$RCC/0&1,\!CBF+,T&]$Z8"*+ MX59961%W'*=L1+F2Q3G+4A=/B(3%Y$/6(&*I&,$GK8R!5JM5:?]!3!RQ+';X MV!$-'1%I&7IN3CJC_Y22,I$*S^KJ.V)1FCK&A*K3Z\@.Q1HPTD3&@% #)VPH MO*Y3'VUX-%5JU&L_.PWD:MO8;L#TI_UX?MM-I3_NW6S_(C7E;:#"%4&CB]$@ M -W-RVYC5>MGU%)9FGC>W- O!K5SH/ @ DP0 !D !X;"]W;W)K&UL MC53;VUKJHN1UG'@Z]'%,0'2 M#B^V5MIS]AQYUUFOS:-M ) 19V-N8/-,="JY@8XCMI&3FQPJ$[I?)-#EN//"Z0;]! M\ZQE-6P!O[0;XR(ZLI1<@K)<*V*@6B;7TZO5W.>'A*\<>GNR)M[)3NM''WPL ME\G$"P(!!7H&YEY[N $A/)&3\7W@3,:2'GBZ/K+?!>_.RXY9N-'B&R^Q629O M$U)"Q3J!#[K_ (.?2\]7:&'#D_0Q=[%(2-%9U'( .P62J_AFA^$>3@".YSP@ M'0!IT!T+!96W#%F>&=T3X[,=FU\$JP'MQ''E/\H6C3OE#H?Y)XU IN0UN3E2K)BEENB*[(Q8$%A/'EQ"\BXL.0S'+!CXF5&TD-GD%4DGZ>P9OMEX)[/ -W_J M3CJY ^.MW[=@G&]5DRW4KA71GK,;V2X#FQ^"?9YF=']&P'P4,/]/ 6NFNLIU M;F>\B#M6<,&1PUD9\W]D3&=_Z: GC2+!U&$<+"ETIS#VS+@[3MQU;+3?Z7%< MU\S47%DBH'+0R<4;5]C$$8@!ZC:TW4ZC:^*P;-Q? XQ/<.>5=JTW!+[ ^!_* M?P%02P,$% @ ZX!C5^0NPM5\ @ B@8 !D !X;"]W;W)K&ULC97?;YLP$,?_%0OMH976 N9'DHH@K8FJ]6%3U;3KLPN7 M8-78S'9"]]_/-I2E"8GV C[[ON?/'?:1M4*^J0I H_>:<37W*JV;&]]7104U M4=>B 6Y6UD+61!M3;GS52""E$]7,QT&0^C6AW,LS-_<@\TQL-:,<'B12V[HF M\L\M,-'.O=#[F'BDFTK;"3_/&K*!%>CGYD$:RQ^BE+0&KJC@2,)Z[GT+;Q:I M]7<.ORBT:F^,;":O0KQ9X[Z<>X$% @:%MA&(>>U@ 8S90 ;C=Q_3&[:TPOWQ M1_0[E[O)Y94H6 CV0DM=S;VIATI8DRW3CZ+]#GT^B8U7"*;<$[6];^"A8JNT MJ'NQ(:@I[][DO:_#GB",3PAP+\#_*XAZ0>02[7V*ZZT-*O4Z'3^4VA &%VA>[X#KH6DH(RU$'4CN)E02*P_K5TL01/* MU*7Q>EXMT<672_0%48Z>*K%5A)X[2#P"8@5--2AD^//,=>DS# LP,^?Z]3V"[]@\@-Y0HQ6!M=<#TQ^-X.'1J0, @2 9 M >&PO=V]R:W-H965T4<%C'#$YN[WE]-R:4.>-A>N].C(<\41%E>"= )G%,Q#^W&/'3R&D[3S?NZ6ZOS UW M/#R0'2Y1?3O<"5UR"\J&QL@DY0P$;D?.I'T3MCT3D-;X3O$D2]=@AK+B_*Q)1E9_*8"U$* M\/T7 OP\P']K0"E%F)LI2"?V4ZC@U_L(50@<^P301 IF" %<*+@)4A$82'O!1)22ZU!7F M3*&@,/Y'\#V_ ]^6 5R\OSR#F=9C)LFN!9UVBO%K,$$]9HD'C?%> M[4U8CPEP_5IO7&U;X9U?>.>GW.Z+7&W5G$DE$N/#1YB1-<(DY@E3YZ2OI9F, M=",/FC!R=,J1*([HC#^\:_>]S^<,R&"#%&:RT7'<]EJ#H7LLRVNSQ= 2K")U MIY"Z4ROUM60E\5=B MTDIX-,>G-'%.OUI44_ULP@*;L- 2K.)'K_"C5^O'@CS2.(EAB8QR 7_B$87^ M&H![HE_:YSS)<+W2I.A4I\VTML&F0MN$A99@%:'[A=#]9IEYRO7\)^9J05GJ M07@[?P@FYT3/T/VRZ+UGJM>VWE1UF[#0$JRB^E6A^E5]NL%U(G #7_6T9N8# M$694B[XV7RMZBB-<++_.[B]KLU!M"TVSD$U88!,66H)5;!H4-@V:+8Y;(JF$ M9;K1 ;UY^$X$):LHS4MXSJ1:?E.3,MAU:;EY+:]]]6S)!3;;#"W!*O)?%_)? M6UTE\"\T>H_7MM[4')NPP"8LM 2K6-CV_MNU>?_S&LH;,*?RQ/>?O6GJ^]'4 M :NTT!8M\\ M;:+-/Y(%$3O*)$2XU7BO=:4_*$3VVR$K*'Y(]]4KKO0N/;W< M:_51F KZ^9;KO75>,%OUXN?/^#=02P,$% @ ZX!C5PGFF:,E!0 !1H M !D !X;"]W;W)K&ULQ5E;;^(X%/XK1^QHU4H, MN7#M+$4J,-6.-)U692X/JWUPPRE8D]B,;6AGM3]^CT,(!%*K=%+M"]B)SW?L MS\?GXO0?I/JNYX@&'I-8Z//:W)C%.\_3T1P3IAMR@8+>W$N5,$-=-?/T0B&; MID))[(6^W_$2QD5MT$^?W:A!7RY-S 7>*-#+)&'JYQ!C^7!>"VJ;![=\-C?V M@3?H+]@,)VB^+&X4];P<9Z]5@BO=L&9M;^? G9@MJ6[Q(QCK]A8=LK%^#:*F-3#)AFD'"Q?J? M/69$[ B$X1,"8280/E>@F0DTGRO0R@1:*3/KI:0\C)EA@[Z2#Z#L:$*SC93, M5)J6SX7=]XE1]):3G!E\D@:A!6]AI'#*#5S,%"+MJX&3,1K&8PV?\=$L67P* M;X +N.)Q3!NF^YXA]1;$BS)5H[6J\ E59W EA9EK>"^F."W*>S3M?.[A9N[# MT EX'9D&A&$=0C\,X,MD#"=O3LOFY8:9X*(!33^%:3I@QFZ8,48$$Z0P83E, M897-?(>:*6[K"=R/: PJ#?)^LT?72Z,-$U,N9G6X2.12F)+I#IVPUI^\TPL6 MX7F-'(9&M<+:X/??@H[_1QF%:[!>"F9]R6H0-(*^M]KEIR*%!99:.4LM)TO? MR'-HN&1J)F'(Q/LZR1L8TL3%%PJ^(@K5)1EP"VC9 !N\<>2JS0*E1'5/5A;<\^PG,J/-:R* MP H\]7*>>DZ>QGAGR(BT44O+1AU&P<'N;E_CIUK M.);NBL *=)_E=)_]2A"!?\DT5S)>I-:=D<:I]=BC7278N"*P MN!O\T] M?;??E&+V]C.J!(H>M(Q#-]2Q)&9H0;#K(7L'&4TV;#?MZ34;W7Q4<=T[.7?P M.BF=&_=H$H)#$@ZSNFS44ZE?D8)P2T'XLI!YB[9:M2?L>8F&6\_1E(0'[J[3 MV2>D(HU%YK;E0."N!VQ,J,.WM* EEW^1AR-#.=HCR&WZW MM<]5Z;"._]01VJ;[P2_E^\]RU31H@M&2WL(UL2@LHW#)*;Y&5LP2"2>3Z\O; MTUV13>!U.7SWY(_FNM+BHBJTXL9MRXO 75\&ML>EW]RG\C5*CV!;>P3NXN-_=!U9V>-T'546+Z-*T<95 MH14W;EL,!4=60\>[CBI+E5&&MF?NX7Y]-*Y*:Y&V;5$3N*N:UW(=E58U&=J^ MZSC()RHM6+R=>_,$U2S]_J ALNGW^@H]?YI_X[A(;_:][?#U!Y(KWTMI-AVK(/_R,_@/4$L# M!!0 ( .N 8U=:[COJ-@4 .P@ 9 >&PO=V]R:W-H965T9D9/Y['\3Q,&&ZX^"$7C"GT&H6Q'%D+I98W MMBW]!8NHO.9+%NL[,RXBJO2IF-MR*1B=IDY1:!/'Z=H1#6)K/$RO/8KQD*]4 M&,3L42"YBB(J?MZRD&]&%K;>+CP%\X5*+MCCX9+.V3-3WY:/0I_9691I$+%8 M!CQ&@LU&UB=\<^=V$X?4XGO -G+O&"53>>'\1W)R/QU93H*(AR=Z!99.JT)570\%'R#1&*MHR4':6Y2;SV;($YH?%9"WPVTGQK_R15#'OJ( M/M- H.\T7#'TP*A<":;)4E+?^20ETPH2!&7Q=\)75<.;25GDN"R/9W MN&^WN$D%[F>VO$:NIB/>5 M*QJB61#3V _T$4US5C:M;9QN&B=YQM;C#ND[0WN]#[YHY.%>+S/*070SB"X( MT7!TA>[CY4K)*_2%K5F(,/K[@44O3/Q3!AB,FNPR-W))?3:R]#8BF5@S:_SK M+[CK_%;&2DO!<@GH9 GHM,31-HZWEW[7Z9,#CLJ,!DXY1UX&T3N1(P)R!$9M MRE%+P7()Z&8)Z+;$4;>0?HP'_0..BD;$Z5<\1[T,8N]$CER0(S!J4XY:"I9+ M0#]+0+\ECOJ%]!]N=)!%#MP@ S< P4W8C(FD*MWQ2$L=25.Q\!C2&"0'#-J4 MG):"Y>:/'5/0G>,RX.]G8*DS4%IEG>(VUG6\ YK*K+RJ!PGO:0]\+EGH/W1J MX8(';TIJ6]'RJ3+Z L,"HR&KY)@*5FI55<*PT1D8%AKGL@J7.GCPQJQ>0I!@ MHT@P+$D:LEJ4'%XB?O.D%HTZ@ZHGU>@2# N3&-.+R%@L%$P&)8P M#3DM2I3#&@F:Y$$:#8-K1 P7^@=NC'Y_]1@B @,%%?8(/-6:)38_T*P@R,@;#.N:-H.27-(O]GVBV(\CG ML1+4K\ [*&#YB _QEMCT*Q84,:J#P*JC=D&=4LN*)L*.QT)3:5.QTQTH+4]#Q.6W1>_4Y79E.YTYGZ3N#Z?MZZ M@X40/'3C===2M'RBC,8@L,8X;MWUZC'6=3..6$1NL3W1]7H'S)08 M];NDHJ=NRKD+EW. FS,4#SQHXZ;[)5H7KE$5;EWKXA@*ZT4$:)+'MO=.!!81 MI]('RP=XT,;T74(^N$8^N"W(![P*)1]1-H](,+ZX=3*80K,3QH8PHO MT9)PC61QZUH2QU#8+;QT+#R!D,D6F[WW*CKY'\ #%?,@EBAD,^WC7/=T)L3V MU?KV1/%E^G;ZA2O%H_1PP>B4B<1 WY]QKMY.DA?>V1\QO3Q[208 %PT 9 >&PO=V]R:W-H965T0A^%\S])O/*!4H$,<)?RZ%PBQO1H,^"J@ M,>%]MJ6)_.:)I3$1\C+=#/@VI62=&<71P#0,:Q"3,.DMYEG9EW0Q9SL1A0G] MDB*^BV.2_OV11FQ_W<.]EX*[,@2 ME-*GZ]X-OO+-S""K\5M(][SV&:FA/#+V35U\6E_W#-4C&M&54 @B_SS3)8TB M19+]^*N ]LHVE6']\PO=S08O!_-(.%VRZ/=P+8+KWK2'UO2)[")QQ_8^+08T M5KP5BWCV&^V+ND8/K79V8!4&UKD&D\)@Z$'L2/0>O45A@AX"MN/2A%^B=V^F M0VOT097>AE$D=2H+W]8OYP,A!Z"Z,5@5G?V8=]9\I;,S=,L2$7#D)&NZ;MH/ MY,#+T9LOH_]H:H'W=-M'0^,2F88Y1%_O;73Q]OV)?BV[8)8WKV'L+ACGZQVZ M*.[B*9BCA]ULTSXRACGLA+FK-[?I2O8%9^:FYLYX73"OWQF_"T9S9QHJ&);O MP#"CCUZA_RH"FJ(EBZ7W#Y1;SMZ!%8LINOB%B.KB+">?@4KDCNF.7+\T .IX2>]\C*>J3BR_-B8ACSP7-==-I> MJZ!VQ;=D1:][LM^9 P'PC64)Q5*L[JY/$^)8+*5@1R#G*EQJG6\6G171T?),R&A#F0 M,!<2YD'"?"!80X:34H:3_]OQ35J.;]2:[&D[U55SD# '$N9"PCQ(F \$:VAN M6FINJM7<0T 1[L]&^*?*Z]T1N3*_WY-MZ??0/T?K$+4HUSE%;:-=G2(DS(:$ M.9 P%Q+F0<)\(%A#H+-2H#.M0*OLT"7ZS-3BED3H)F:[1)P2WJRUNL6XO;[5 M-ME549 P!Q+FMF^&:;5NA@?9I \$:T@%&U5*T3A;+&YXD$&RX=1.YOUR(C;K MBX.^@:5+/!+-V37MLVLZ^O%T?=Z@- ^4YD/1FLJH)9OQ=^.4YH+2 M/%":#T5K2JO:;,#ZW8;_$ATAL]I+4)H-2G,*VJP9LLV9U7R37-!6/5":#T5K MZJO:-\#ZC0.;\G"32"6M$>%E_*SV=.MQUF4IE961\D6+-VM,UK36NU9OVA4?]I M+1E ]PQ :>Z)0>,);JTC3XS:'/;-9BT?JFO-YUUE^K$^U0_BH[#>2X'N"(#2 M;%": TIS06D>*,V'HC556VT,8/W.0%J!M^M\;9_,)5VEXK,_#RZ>*?OS\"30M#TJS06D.*,T%I7F@-!^* MUM1ME9W'H.GY@E9_8\?CMF>:M682D_[X>,8$FG<'I;FXG7D?MOU2>Y1&?W0\ M7?H1"76S2JB;^H0ZF%O23YGTO>CJF$!I-BC- :6YH#0/E.9#T9K*K1+^IC[A MW]$Q%31+/V72M]E96?B<*1-HFRXHS0.E^5"T7#&#VM&$F*:;[)@*1RNE@/P_ MM,O2\BC,378 Y*A\B:]L?*+&UL MM5=1;]LV$/XKA%8,*3!'LF3)=FH;2"QU#; ,0;QN#T4?&.LL$Y5(E:3M=-B/ MWU%2%%M2C+1U7FR2^NX[WMTGBC?9"?E%K0$T>*T:I?&<'_\ MR/Z^B!UCN:<*YB+]A\5Z/;5&%HEA13>IOA.[#U#%XQN^I4A5\4MV%=:QR'*C MM,@J8]Q!QGCY3Q^J/.P9($^W@5L9N$V#P3,&7F7@O=3#H#(8O-2#7QD4H=ME M[$7B0JKI;"+%CDB#1C8S*+)?6&.^&#W)"/MU =@_R,^(_+D)R]N8M>4,8)W^MQ4;A!M3$ MUABJV;"]K,*Z*L-RGPG+(S>"Z[4B$8\A[K /C]N/C]C;F.(ZS^YCGJ_P3=XAJ\23%H)1L)2))S] MBP+!HR.NA=A9]Y(Y*)C-(;B=N7XPL;?[N6QC L\_Q(1M3*_O#P]!40=1,*HQ M![$/ZM@'1V/'XPT/+TZBA^6:\@0(+NRHC)_>@O_(@J;XCCTN=&7AJ _S;;E0 M.5W"U,*/AP*Y!6OVZR_]P'G7);U3DH6G)(M.1'90*+\NE/]J(BV9_3W=#!O2 MFKTJR\)1DT8G(#BHWK"LW?#71#MMJ,Z?]@6K;&*\!"3MH^DY#V5$' M:.QWBW94ASXZ&OHUUX )U>0.KQIDL:/YOESKI]$#7K$5'!7J44??*]13DH6G M)(M.1'90K7%=K?&K"77:&PDBN$:FTF0!H#/5P*O_]7$.*C;T]G_4$L#!!0 M ( .N 8U?.Q]3;T 0 .X9 9 >&PO=V]R:W-H965TJ-$2*4KFVTH@J%2BB/;(4,3$OV!0[X>6#T+A&@)TX@_D-VO*!^0ZF! (J;^ M@UTNZU@@2!DG<:XL>A#C)/N%KSD11PK>S1D%+U?P3A3@"SZ!Q1I2]$ER'H()B<5$9%"Y\G**.,01 X_HE:&9,W8$82OF; 3T(45NA/]/JNIP&PQ?@+$KPW$L:>%G&! M-M>@Z32 YWA-\+28@LN+*\ D(U7CF^C1IB@0:*Y"\RK4IQ]7=RO4_8^K.QIN MFL4$:2J\UKD)DL;/B(+[)1BIF 8+3H(7<)<$*%'O\PA6SX(,MZUPY7JU'8KA M;(]YU%J62^0MV\ #2RQ!C)$M\@:_OR3VW%^J6+5))AO"*S$>*M@O/5!QN\2 M6)/SUG8; BMYI%-XI%//(V"T@S0$CY"N1/[T&]JBJ &$E(P)D=)4N2FS MX#J:<-!VHB[Y)L%\0V E\KL%^=T/DZ]H9^".L52D!C.1@.%-A!&M(ER+6CNVYZ90=.*Z6\3EG*KY1JWQ12)99Z!4L]+4O9M!R_3YE&E,)DA40^S<%X M#X[EYG"OFK/)[']-,=^+A9UQFLIV!N[Y6BS^CVN8@/N-1&/@"TFVB'&AG6\- M(UX* [E5''OL4J1G6?)R!;Z=3V/&O?>;1=<1?RG.)"[>E;=/258;/\P"4M[>?8M M]XLV7DS6OQ.C:%.C:+XIM++C#M6YJR_/LX.RDVSND/ UCM(UY;8&\%^#* UQ MLLHSNH;(%AD7RZ0Y'OZJO\^JX[ZR@1HYB$0,3I6W-V6/HG@O2JTG?ZKKG" J2@ M!^+L:-/U0 CWE:>/>J3:#C9Z8F *+7.P?72N'2-1\,@+!08"&2/9Z6[16EQ: MC-11_4G[1%YFJ//R TQV$S(3=106-5:$E@+2N>Z* =#L&PO=V]R:W-H965TT68+4!O;QT*EJUNUAVH,3;@(J8&8[2??O9P-A!"CJ-EX2VYQSKN_UP=SI MGM G%@%P])PF&9LI$>?Y1%79*H(4LTN20R:>K E-,1=3NE%93@&'!2E-5$/3 M'#7%<:9XTV+MGGI3LN5)G,$]16R;IIC^NH6$[&>*KAP6'N)-Q.6"ZDUSO($% M\,?\GHJ96JN$<0H9BTF&**QGRHT^"5R)+P!?8]BSQAC)3):$/,G)IW"F:')# MD,"*2P4L_G8PAR210F(;/RM-I0XIB%\S+$WI62/J$0+-3DHJE^P1;WB M3/IDP:EX&@L>]SX3#LA%%V@180H7LN8AFI-4^)#AXB@''@7/<@SHU >.XX2= M"?#CPD>G)V?H!,49^A*1+<-9R*8J%YN5(=55M;';,10D(40 M]O#]8?[U %\51:HK91PJ=6L,"BX@OT2F=HX,S3![]C-_/=WH2^?_H@?_'/VH M&&9M&[/0LU[2:UABU;0$E);H.^]2T2D4Y?6U\US+F:J[9@V[&%UWKH]!?A=D M:K9V# JZ(,-RW1ITE+559VT-9CTGC".R1@N< $/?[R!= OW1E^N@CKS[)RS' M*Y@IXG)G0'>@>&_?Z([VKL]88XKY8XH%(XD='89='X8]N@5+1;MI"M=N6;"+ ML5RKY< NYDIO63GHP8>88OZ88L%(8D=GY=9GY8YN3[=S9UFNWK)G%^- XVW1'E($<=,>@CW0$FT1*Y$N2=L;H#^^0TJ69V]( M<6:\D^JKSA@S\*W(A;[I9,:LKSU/)QDKJ.[)-1/X9BE500T.U)/Q MFJ[8G)G'];W"D5=[27G!A.92@&++F\Z47,](9 WX>-G M9BC/]2>[@&FC>&+0=&YD\A4>!3>ZM&'*[361L.K==$=5JN'ICA4+IKZ,/8,T M+!@OJ2#?EI"#"Y!CN)/"9!I^%BE+C^T]I%]K$.PUN U:'<[9N@>AWX7 #T+X M"3S05@Q=_;5$"&N50Q]O&LED[AB?RI85)5#.)WL"D"SMW7G">;IG"\P\K186!E.+V M6E*N8$OS#7.,4YGG5&E8,U5RMN0/JI\3H,0T:@@0^KU13?^(2;]FTF]EQ^(T8LTV0,1G$]37'.* M7[&1*GX_FIOX96[B?A0%)[EI1X"YZ3X%;?DA_N%B\U_-YKW34D$ZR0LY%>$[ MR+^C0.-J)^]YZU3>CZZ=8!#&Y)1-.XKV\T:" YO@?WCS5*"./HAQ;S X?]*( M+0B.9PX7*VF_65&G/S(&8F/+(I#+,EDIUTDN;5&&^$W&-1BZR!D@7J &9QA. MJ!76^SG;LMS:$=__T,,]A&6N>]\\S5C/W5&59!"2LMSINB583&]HWHB=R**0 M^VV"2S#4CF%(KO4&W>PH(F.&*:Q(<;AXA@++9K[.G[E8'8*V .P"O4BN:QU2 M6--G[#MLLA(FC,UL69U*X;RN#Y5E5;8F4J3^<.A=O MDW\!4$L#!!0 ( .N 8U>#%^"&$@0 .L0 9 >&PO=V]R:W-H965T MT=+:)4J)*4G'\[7>4'$7J%"4&M#>V2/'^1_YX/)(:;:7ZIC>(!AYCD>BQ MLS$F/7=='6XP9OI$IIC0FY54,3-45&M7IPI9E!O%P@T\;^C&C"?.9)37S=5D M)#,C>()S!3J+8Z9VERCD=NSXSE/%'5]OC*UP)Z.4K7&!YG,Z5U1R2Y6(QYAH M+A-0N!H[%_[YS ^L0=[B+XY;77D&.Y2EE-]LX?=H['BV1R@P-%:"T=\#3E$( MJT3]^+X7=4J?UK#Z_*3^,1\\#6;)-$ZE^,(CLQD[9PY$N&*9,'=R^PGW QI8 MO5 *G?_"MFA[2A[#3!L9[XVI'/.D^&>/>Q 5@R!XP2#8&P1O->CM#7IO->CO M#?HYF6(H.8<9,VPR4G(+RK8F-?N0P\RM:?@\L?.^,(K>[V7A-WC!KP_7Y&"CX2J),*K;NS2&T)"+X2OF#)AKN,$1:95'3=+7Z MM=GG7*D!G\O-/_M#[M8EQ(7:6B]G,\S#Q3_R1^U %V)'#&L9^ MB;'?BO%/- :5!KF"J<*(&[C-C#84]Q3R3TR;*+7*'DJI_P9*'3FL41J4E :M ME.92&6%SP2>FEA1:-\QDB@D*(RTIMB@MW"O*4(@4D!GE"0%_7V.\1/5/$[I6 M7X>BZU)LUI%8C?&P9#QLCT2I=277[BCXPE!1ACV&::84-H=AJ^:A++L4FPW_ M$]/>2;^,Z1JBTQ+1Z4%AN,A25*N,*A:<-J^VF&L5/I13EV*SCL1J0,]*H&>M M0&\R"PQN5S"GW9]"CPFQLZLZI:V<+P72;J(,;?M-2 OI035I#;QZTIJVNC^4 M5$=B-5(?2E(?6DE=:PR$^M5'F',4:[)DJ%[+!*R?-^ MQ-3J^U!,'8G5,/G>\RG2>R.H>[H5@)'VC)(*I/59TK+H"F)P]!69:CI67;[B MQ^_!CDR;(G/:;GHHSZ[4ZD KQW+_E7UA2TOT"YVO66P/*_";DEG:FNS:%0_- M=IVJS;I2J],,GFD&_U_&VVO74E[_AZ7<[O]@6AVI%;3:!"X(E/OY)2@J.)F712,3/.[YE(:NKGF MCQMD$2K;@-ZO)/'?%ZR#\OO&Y%]02P,$% @ ZX!C5RY<4GX/ P [P@ M !D !X;"]W;W)K&ULK59M;],P$/XKIS AD+;F MK1W;:"NM+P@D!E7'X+.;7A.#8P?;:3=^/;:3AJ[+J@KXDOCEGN?NGIQ]Z6^$ M_*$R1 WW.>-JX&5:%U>^KY(,2P+TK-*,>9!%7F.9$/(V1B,_!";[LPIVFF[8(_[!#5!32A3\ 7O=4G8:[-[=SN!5R>OX00HAQO*F/G( MJN]K$X'E\9/:VZCR%CWC+88;P76F8,J7N&S!3P[C+P_@?9-YDWZT37\4'22\ MQ:(#<7 *41#%+?&,CX=';>G\F_?I7WM_)$;;1@3G61G90'7R^_&U-P=&K38UI$QS0A/T=;+ M5&EJCC2"6,$72;@BU24QDS3!MB*JPKQP8=J+;CT\"SH7?7^]^V6>&@6=Z+'- MY!BB::O1'Z9'4G8;*;O_*N7VP,TQ$2FGOUK/PZAR$X8[T85QI[>G1?=)"M%^ MFI/*IK=+M$BUPC1.RA$4PYSM%V+\A1F*%U_XPG"YP6C*;'5< K7 MN2BY;A.A^BB\&H^^A6X M(3*E7 '#E7$5=-Z8Q&357JN)%H7K'PNA316[86;^2%!: [._$J:'U!/KH/G' M&?X&4$L#!!0 ( .N 8U<&G/3Q=0( +D' 9 >&PO=V]R:W-H965T M "J=8 0XL%- M;AIKCAUL]V/_GFLGBXJ4]@&AP4OB:]]S?(Y];2=[J>YU"6#(H>)"S[W2F'KF M^SHKH:)Z*&L0.%)(55&#H=KXNE9

JN!\%P<2O*!->FKB^I4H3N36<"5@J MHK=51=7# KC^RX99O2V X_36JZ@168S_528>1W+#FK0&@F!5%0S+VK M<+:8VGR7\(7!7A^UB76REO+>!N_SN1=80< A,Y:!XF\'U\"Y)4(9/UM.KYO2 M H_;C^QOG7?TLJ8:KB7_RG)3SKV7'LFAH%MN;N7^';1^QI8ODUR[+]FWN8%' MLJTVLFK!J*!BHOG30[L.1X P/@&(6D#D=#<3.94WU- T47)/E,U&-MMP5AT: MQ3%A-V5E%(XRQ)GTHS1 7I%+<@L[$%L@$;FX 4,9U^0.#F9+^8O$-SB3S?>S MEG71L$8G6%=0#\DH&) HB$:_PWT4V*F,.I61XXM/\+7B!JC2%AH3&[($Y4I2 M9$ ^K3G;4+O+ _+F4..&0T[N6&7S9$%6.*0+FC4)*T.5(;A80+Y?'9C^,7,J M+\/@,@C[K)Z59@_-3-BONO)01J:0PI3ZS MYN/.U?@?%UN,E7:BV,Y*^\-BFW3&)T]3;).^8HOC_F*;=NJF_T^QG9<2D@<$ M]JVX?W03VT?M U4;)C3A4"!3,)SB_JKFH6@"(VMW.:^EP:O>-4M\6T'9!!PO M)%[0;6#O^^ZU3G\!4$L#!!0 ( .N 8U>S)IH:%@, #T+ 9 >&PO M=V]R:W-H965T$,$ JA&E[ MZ(1*NSU,>S#D$*(F-K,-=/]^MI-F$%+&.EZ(+]_WG8L/1Z>WI>R1+P$$>BIR MPOO&4HA5US3Y? D%YM=T!43>+"@KL)!;EII\Q0 GFE3DIF-9@5G@C!B#GCZ; ML$&/KD6>$9@PQ-=%@=FO(>1TVS=LX_G@+DN70AV8@]X*IS %\;":,+DS:Y4D M*X#PC!+$8-$W;NSN.%1X#?B:P9;OK)&*9$;IH]I\3OJ&I1R"'.9"*6#YV< ( M\EP)23=^5II&;5(1=]?/ZA]U[#*6&>8PHOFW+!'+OM$Q4 (+O,[%'=U^@BH> M7^G-:<[U+]I66,M \S47M*C(TH,B(^47/U5YV"%(G7:"4Q&<)L%[@>!6!/=4 M"UY%\$ZUX%<$';I9QJX3%V.!!SU&MX@IM%13"YU]S9;YRHBJDZE@\C:3/#'X M0@6@"+U'=[ !L@:YBC..TY1!BO53TD5]=QF#P%G.KR3J81JCRXLK=($R@NZ7 M=,TQ27C/%-(I)6W.*P>&I0/."PZXZ)82L>1H3!)(6OCQ<7YTA&_*9-09<9XS M,G2."DYA=8U9;'3>L87MQ M>G6T]BE\_BO_ZXBNI_DX=="PO\H+WT@CK*X.32PP)-:$:$[JE_J\"CLO]:@><4B\\I M-CZ3V-[;A/7;A*^OP/"P$W5D8VM48 LJW]]6L]Z-WK$:9P/[>[(;CF/Y6Q8CG)_Y,O!\A:S M-",&ULK55;;],P%/XK5I 02%#GUHZ5--)Z0>QA4'4#Q*.7G#36 M'#O8[H5_C^UDH9W2:H*])#['Y_O.+3DGV0GYH$H C?85XVKBE5K78XQ55D)% MU$#4P,U-(61%M!'E&JM: LD=J&(X]/T1K@CE7IHXW5*FB=AH1CDL)5*;JB+R M]Q28V$V\P'M4K.BZU%:!TZ0F:[@%_:U>2B/ACB6G%7!%!4<2BHEW%8P7L;5W M!M\I[-3!&=E,[H5XL,)U/O%\&Q PR+1E(.:UA1DP9HE,&+]:3J]S:8&'YT?V M3RYWD\L]43 3[ ?-=3GQ/G@HAX)LF%Z)W6=H\QE:ODPPY9YHU]@.?0]E&Z5% MU8)-!!7ES9OLVSH< Q//R!L >%30'P"$+6 Z D@/.4A;@'QY MN\+-B29I(L4.26MMV.S!5=^A3;THM]_)K9;FEAJ<3K\(#2CPT7MTS3-1 ;HC M>U#HS1PTH4RA.]CK#6%O$ZR--XO!6 YY#WY^'G]Y M!H]-EEVJX6.JT_ LX2W4 Q3Y[U#HAU%//+/GP\.^=/[/^^*?O1\5(^KZ'CF^ M^ 3?5S-H;*_13R"RK[EGX79ZC55-,IAX9CPID%OPTM>O@I'_L:^R+TDV/Y]8 MZ >7MDB^?02N7"=+_D)A'34@[AH0GXUS413@AN3!CX=6Q/R-*\@$SRBCQ([2 M=V@),@.N^YK4N+AT+NQ&V*;^(!Q>)'A[6/U>JU%T;#7OMQH=6RWZK>+.JJD% M/AA(%N@6]GI'U!+ M P04 " #K@&-7OR:O B & ]*0 &0 'AL+W=OOV8;VU9/-B0!/,W=$M2^ H'6>5*&&4 MD)1'- 6,K&X&M_#:1]/,(;?X+2)[?G0-LE26E'[);N[#FX&=M8C$)! 9!);_ MGLB"Q'&&)-OQM0 =E#$SQ^/K9_2W>?(RF27F9$'CWZ-0;&X&DP$(R0KO8O&) M[M^1(J%1AA?0F.=_P;ZPM0<@V'%!D\)9MB")TL-__*T@XLA!XJ@=4.& F@Y. MA\.P&L$I')Q3(XP*ASQUZY![3IR'!9[/&-T#EEE+M.PB9S_WEGQ%:390 M'@63OT;23\P_4$$ A. UN V"7;*+L2 A^"@VA($%3>3@VV2CXHF 7RCGTBQ[ M2%.2"@[HZC2G"X\(',7\4KI_?O3 Q:M+\ I$*?AU0W<OD3$L1]4PQW,Z\.YPC-. */M5ZYG-B]=\BP-R,Y## MB!/V1 ;S'W^ KOV3BE238-X!S,W!L@GV:?YZ/)G.K*=C(@U%K-'JE+0Z6EH_ MR(4CV#$FWSZP)2RB(:#Y2Q?47KHHE?<$7,3RY;M4=8'33A2-ZWDNVC:N/:G; M> >;T3$.=%&#L#:0,ZEL:CR,2AY&9P^O4;M-TQ%L)*>%[SML3HGH&XI8H\LM MZ7*U=!U/TAY9R5]#<$=2>27 @V22@]OP+[G4)-FXNA6"123#?$%BM"\=E%X[/'O%:S[[TFP3SQHKY831L M3A J*V#W"/) M \^>3 O7QFSD.(T"0FV&&JN^=QJ:_R):/5%4)8I.7OA_QE)P761Z[/(*R.%U M!1:8;\#;6(*^(^&:7#67>O /D%I<*NT4^-^"#4[7)'NPQRS4E@/Z1O4>O=6(@N>K[+TKKT[P:C.*M".A_NT]4JT;5[#:=>\6@DHJ%=09LL" M?;#>))M$\Z!*G,%1DV:%U7 R[*"YTF=0+]#,%PCZ@+VI-BH 85L!PG&3:(7- M<-+!@5;7UZTZ06&$G*[IHE)=\'S9!16ZI54FJ&P< MNUDEO(SDOX143[!225 OD[Z[0KA/!9&=*, GB0$>]WBKKPV,*BFC:)Y1--\4 M6KUC*X4&]1)-.W*-JBVC:!YLBRG7:7Z#51AUO FH4EQ(K[C,5@;Z8'TI-HKF MH;:F0D>BJM@O4 @ON^.S+:J4%](K+_-U@3Y@;Z)-HGE((>LN5GJC#0A^E-KU$M5Z U/B\VORXJK-RN[U^HDE[H?.F%VM+%F3:W5Q1& MQ\TJ,CP!R7\!J9Y@)9207BC=?ESU=UE55M#MVC=$E6!">L%D>)4W*IN,HGFHK8@0:M&L,)IT ME5*5:D)ZU?0?K/)&][B,HGE(HOEF;)DW*LN,HGFH MO7^E.&6@L.H\9H J%87.5U&%:^T41?ND@ D,/]%L$.:UM%QL(2P M=7X.C\LQ(=_*PQF>\FEYUN\V/^'6>'X'KQ=0\=R#U_[A)%\%?SA8^!ZS=91R M$).5#&6_&S>H<;0;?Y8;0E%8(F^>6&X)"PS$#^OJ)4/-]D '80^T M1<=:)=$5Z3@%]O&C9$6RJ"O67I2^Q+9R[B$/+R_)(VFRY>D7L6),HJ6->S'-$QZTTE^ M[3:=3OA&1F'";E,D-G%,TV_7+.+;RQ[N/5^X"Q]6,KO0GT[6]('=,_EY?9NJ M7_V2)0ACEHB0)RAER\O>%;[PR3 +R!%_A&PK]KZC3,J<\R_9CYO@LF=E/6(1 M6\B,@JJ/1S9C490QJ7Y\+4A[99M9X/[W9_9WN7@E9DX%F_'HSS"0J\N>VT,! M6])-)._X]CTK!#D9WX)'(O^+M@76ZJ'%1D@>%\&J!W&8[#[I4S$0>P&*!PX@ M10#1 P8M 7818!_:PJ (&!S:@E,$Y-+[.^WYP'E4TNDDY5N49FC%EGW)1S^/ M5N,5)ME$N9>I^F^HXN3T(Y<,88S.T=5BL8DW$94L0+_+%4O1C,=J\JVR6?'( MT&]<" 6[8XN("A$NPP7-4\V7AX6>>$S2,!*GBN3SO8=.WIRB-RA,T*<5WPB: M!&+2ETI1UJ_^HNC]]:[WI*7W-OK $[D2R$\"%@#QGCE^;(COJY$LAY,\#^L_5;9%MGB%C$!OHS.SR<0')>UKK_OUNO#89=SBT[YQNT\,VXD-GT$#1B M8')WX<,\/%O1'J?C\8"XD_[C_I !J)$['-917A-%1HYKC^LP'X"Y0]>Q2UA- MZ:!4.C J_:A6]%:5NU!GKTF,W5$VPC69 (R0L3O0=#9AMCW 8ZSI!&".Y=HC M6*=3ZG2,.C_1)W3"GM0N)=@IFK.$+4,):78:S9\3"VLYFP$HVW$<33& 7;4QE-U.?U+K?H-J*)0%?!/VHK4N<#B:ZD3,/Y1M)YQ)#D MZ):FV>6_/K!XSM*_H1$RMIZ=A"[$FB[894]M&8*ECZPW_?DG/+1^@1;0+LF\ M+LG\CLAJ*73+%+KFPN221NK@5M^;!5(G2:0V9+1F:_5\V[, 8P#%\.X',GQP<7PJSIHHY/L]')ZAM0:?X9F5*S0.W6Z1N]9\,#. M].F/_D7J_*I.IPGRGQ8KFCRP[,*6IH&Q1(Q].C8+79)Y79+Y'9'5$HNMZJAK MO5*1F(F/S4^G;%[!5J^3D58G(,AVX5+!>^8!OVZQE!OLG>) ]UNZ-I:)N3M' MYZ%+-J]3-K\KMGIB2958\EJE8B0^.D5=LGD%VWX5#+"KETH3=+YWVJP/:&6% ML-D+-6WS1AYBG6^2!8^9N2B,+1\]XEVR>9VR^5VQU7-8F3QL=GDO* K W.G6 M= : '&UR>@#&;G@_ *3<%VF9PI7WPV;SU]$45JO^:QL.LY"C*Z)+-J]3-K\K MMOJ4J.PQ-OOC[][AP4V_>C[0YSV (?J\!S -,P"!6MP KKPQ-IOC%Q3]Z #M M *:A'< TM0.@-NV5J<1F5_DZ%?_C7)59WM'K0*?NME,VORNV^D2I/#,VF^87 M%,FX.6\;&V,3XXST(@%XFBX( K6Y(%+Y2F+VE<:[OZ3IO/3BG0$86[\+"F!< M71^ .7>&+?(JDT?,)N\VY2I_\ANB28#8UTVXSO9E4"L&5C/]5B@ LG2M ^V M]#N^((JTW.$FE?4AW[$^A][C)DVC8.M:FQ!]/#P X^A* =_2LKB3RI&0'^)( MNEC*9O7*9O?%5M]BE2&A[R6X2& X7$:*P%@9O3B:$*:CAT MM3IV4MD=TM&S+@(\>AKH>Q@$PKI8"*-O!#Z PFUBJX,\>?F#KH*B]NS4PKK. M)DA_S@5 ',?6539!YR-]I^[OO?<0L_0A?^%$H 7?)'+WF+J\6K[4E6JB==(1K8<2;T)*B,J<=AJ/,*.=$#6:.P-Z54G!A[5)M0UPI)X4&9[ MO5+V%/8L!>4H-)4"%):38#H<+Q/G[QU^4-SJ@SVX2AZE?'*'FV(21"XA9)@; MQT#L\HQS9,P1V31^=9Q!'](!#_=[]J^^=EO+(]$XE^PG+4PU"3X'4&!)&F;N MY?8;=O5<.[Y<,NU_8=OY1@'DC3:2=V"; :>B7*] M'K/X+.$:ZP$DT17$49P-U1M*)3G,):\;0_R[ER4LB1)4;/1+%UW!E,M&&+BP MS=*VS>6Q5FF3N?;)N/GVG$5I^'PH_IL>BS<]EN<\6I7"@^?$46W\'-.0NQI: M\7IK/RJG?D*\LL^&X_GPB'UA1VL["5_HV[E\2]2&"@T,2QLJ&GRR>:IVUK4' M(VO_F!^EL:/!;RO[>4#E'.Q]*>V#[@XN0/_!R?X 4$L#!!0 ( .N 8U

&PO=V]R:W-H965TAG5=;BWBNDW(Y\7ZP*4F'18UM2PYLUXQ66 M,.0;7VPYP;DF5:4?!<' KS"MO>)([*H*\U^/I&3[>R_T M#H:O=%-(9? GXRW>D"61S]LG#B._]9+3BM2"LAIQLK[W'L+1(@P402/^I&0O MCIZ1DO+"V \U^)#?>X%:$2G)2BH7&'Y>R924I?($Z_BG<>JU]'9I-@28UBJSEI+#6PH\.?G,)$%AA-ZCSY#& M'^H5JPAZ(APM"\P)F#\R(;3A$0NZ0KC.T8R6.TER]%UO&SP\O!(.:8BFK*H@ M6PSURTX*"7!:;Q"< 'A92UKOU- X$2MC 0=?MN! 99I MS,B,2W%'"[03X!./-R7CL2PB1$NJOFG!,33BB,^&( MT2=85"'0O,Y)[N#/+_.S"WP?MJ;=G^BP/]/HHL,EV?90'+Q#41#%CO7,KJ=' M+CG_;_;%?Y[])!AQFZRQ]M<_EZR0HE2GJ&MG#7>@N:J@ODZ2-$S'_NMQN+J@ M+$L&IZ!Y%Q0F@\ARM>BBHCA,WU G$ONMQ/Y%B>:4W4(6F_R^D=E%9%@TMJ2Y0FEA*7: @E M!:X:M#*EI#GDE^/Q>'FFO\*_74%,NJ)B*X)=2&I!YEU(&%B811]Q4X-.PL:,2_)N4&CATA(&5+3,7"F!63)RHU#X^711DWIG3 M,VSC,KSR].2L+#$7""X6(]NIVG@;'JTAZ"5VR1AVJX$EN.LF["56[!9=4-2+ M^VZ]::LWO2H/KE><7J/8!C(+3KS+$,8O#4QP>^.^+>" M0-.Q5U\U@PY#TK:6-*=!-2&R(/#AA.@>I 8WJ#(7-E$7-H(;2Y+J!4)XN/40 ML-3UU7/=7_Y1XU41OM$MLH!3N*NE*86MM6W#'W7S:=FGX6@6.NQSU;8[[ _9 M:)ZY[&$PFIL^WW];D/F7\ GS#84.JR1K6%S0&\+9XZ;Q-@/)MKI1?&$2VD[] M6,"?%<(5 -ZO&53J9J F:/_^3/X%4$L#!!0 ( .N 8U?=\M@:TP, (L. M 9 >&PO=V]R:W-H965TMX=A#XQ];0N51)6DXP;8CQ])R:HE,4:6^,46R7/N MY;F\EQ_C ^.?Q0Y HJ]%7HJ)LY.RNG9=L=I!0<45JZ!4(QO&"RI5DV]=47&@ M:T,JP!/FI6G#5#?SWW/4TPB#\S.(B3;Z2EW#/V M63<^KB>.IV<$.:RD-D'5WP/,(,^U)36/+XU1I_6IB:??1^L_&_%*S#T5,&/Y M7]E:[B9.[* U;.@^EW?L\"LT@D)M;\5R87[1H<%Z#EKMA61%0U8S*+*R_J=? MFT"<$)0=.P$W!-PG!$\02$,@S_40-(3@N1["AF"DN[5V$[B42CH=*:N?EBEZ^^8= M>H.R$OVQ8WM!R[48NU(ITO-R5\WL;^K9XR=F3] M*^5.H'FYAK6%GY[G)V?X MKHID&TY\#.<-/FMP"=45(MZ/"'N86.8S>SX=V^2\SOO\Q=X[P2!M;A%C+W@J MM]0^)V@.UH6MJ9&AZMWL8>K[\4C[?3B-EP6&<1('75@ZA!$2^(G?AD*'J# F82]J M\R$J(J=!Z\@,6YGA69F6FO[[%HI[X/^@?U4%;14>N-H?EA(@1PL.0NPYH$56 M08NTQ>>L6WU27HN*KF#BJ*-0 '\ 9_K]=W[D_60KL$L:2R]I;'XA8YVUB]JU MBUY>BM$@6V(O2$@O/RTH$D4]5#I$8>P/DGUN@9$P"")[AHY:E:-7%>)H6(A> MXO5TFP^2)U>'72U<+ M*B&XE]3I$.7[.$Y&O7RUP4)RMUNF]ZK*;.A19W>)^UN0!:4*N']G M2"TP//+BWE$ZM\"('R3]4](]N5P7P+?F52/0BNU+6=^%VM[VY?3!O!=Z_3?^ M]&UL?511;],P$/XK)S.A31I- MFM(")8W4KDSP4%2U#!X0#VYR;:S:<68[2>'78SM95,2Z%_O.ON^[[YR[Q(U4 M1YTC&C@)7N@9R8TIIT&@TQP%U0-98F%O]E():JRK#H$N%=+,@P0/HC"!WQGV.@S&UPE.RF/SOF2S4CH!"''U#@&:K<: M[Y!S1V1E/':M7PTGX\06AHU[HZ&6A1J9'V&!9J32WK01K)0^*BEN85R:7BOW!#.9"5H5Y M3GI+/O'D;MCJ9!3&07TN*#CK!#=4*ZH.K-# <6]!X>#=F(!J&[5UC"Q]<^RD ML:WFS=S.-BH78._WTC9(Y[A^Z_\6R5]02P,$% @ ZX!C5]IJ89%6 P M"A4 T !X;"]S='EL97,N>&ULW5C13MLP%/V5*(P)I(DT#:3-:"MME9 F M;1,2/.P-N8W36G+LS'%9RR/?LZ_:E\PW3I.V^"+@8="E*K'OR3GWV+Y)3 >E M7G%Z-:=4>\N=F^/SW?A1!1S[@5/T[ FB)QU4,>'>MO#:QZ&1 M:DP=8N2^@]PR45KBS+F1$2'V.FZSVV[1O+W0/8E_[G^CT]AB6]Z"NLI&@TR* MMM@BWP9,=I)3[Y;PH3\FG$T4 U9&K MPCB<*;(*NV=^2ZA.)LE$JI2J)DWHKT.C :<9V%%L-H>SED4 H-8R-XV4D9D4 MI/*P9M0-(SNEG%_!T^%'MJ6]S#;6M2H*T32-H;II96P']#?5K/:F[.F+=+V" MW4K]>6&&(ZH^U J]5#1CRZJ_S!H#F'J(JY.BX*M/G,U$3NW@GYQP-"!KGC>7 MBMV9;% J4Q.@RO=NJ=)LNAGYI4AQ39=Z74[+#/?9U101?BF:5/[ M;WF67^PXZKV6Y>JILFO8Z;%^Y;]UDV?[8#+>!Y-[49/]?3"9[(')WJL]-9]C M,GR3)H-Z*[2QW]K:;351#W:U0_\[[*%YF]2;+!C73-2].4M3*AYLNHR\)A/S MC]Z6OKD^I1E9<'W=@$._;7^C*5OD27/5)4Q$?57;_@K#"^-F2VUR,9'2)4W' M=5?-)E73,PV3M3Z L(M<5(<;P3@6]Z D23NU<;R -;!:QV(+\[#]24 MFQ-%L*J8-^P.QI$DP1"H17>-QC$R.S%\W.N#W251E"1N!#"W@RC"$+@;<01S M !XP)(JJ]^#.^RA8OZ>"]M?/T5]02P,$% @ ZX!C5Y>*NQS $P( M L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE( M2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'((UWVP!M$JR-7 M:HFUB)=(E*2?-K^^0JKMD$@UZ$76R)='4IQ$U'SGR MIV>IOF^D_$Y>FEKH1;(WYG ]F>ARSQJJ?Y8')N#(5JJ&&MA4NXD^*$8KO6?, M-/4DFT[GDX9RD7S^=.KK44W\#6E8:;@4L-/N>.+L6?\X;C?)D6N^X34W?R\2 M][UF"6FXX U_9=4BF29$[^7S;U+Q5RD,K5>EDG6]2-+NP!-3AI?O=J\LY)IN MM-MCZ.8;!9!%,I]"AUNNM'$M7/\4&(\,&G=;K9%?>6V86E+#?E6R/7"QL]W M54R\RW!Q.'UV0;Q6_R>,!_(765)2,>) % EF,"!E$ .9J3Q4[W] N^330I8;6/B9FF'1@ MQ3C,2SLJ9=-PXT+H4@[D2<.#N1GFF'1@R3C,*\#\QB#KM,SGPK22#NR5+F5/ M73HL9S9\K>;Q\3,TH:0RFI=LVHUF?[46]K"!9:&2:8+(9@^F85(2;FFRR& M;_IF%2$F)IXLAG@\77\X*C'E9%&4TV/&L)"".2>/XIP^,_JEE!RS3A[%.CUJ M)&<^)F:=/(IU>M;7X4U'RV68?_(8_NG59(")^2>/X9]>3+\F MF6,6RF-8J-?F?C0+S$)%# OU8OK1+# +%3$LU(OIUW@+S$)%# OU55P""Q68 MA8H8%O*G<.F/W+YF+SXF^AHGAH5\S*P7$[-0$<-"/B:D)J[I#F2T"ZN!!6:A M(H:%WI6S_HNHCXE9J(A2=>N;O0=Y$[-0,6;Y+LNH=3:-A?TKI\ M5,1^=&^WBIDM-&_;NKZ%?0_B=TFKTU]23G^G^?P/4$L#!!0 ( .N 8U=\ M?ND;U $ ,8? : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V3M. MPT 4A>&M1%X D_N8\%!"14.+V( 5)@^1Q)9G$,GNB4(1CD5!@^94UMCR]5]8 MGZSQ_"7MVK+M#GFS[?/DN-\=\J+9E-(_A)"7F[1O\TW7I\/YRJH;]FTY+X=U MZ-OE>[M.0:?361A^SF@>YS]G3EY/??K+Q&ZUVB[34[?\V*=#^65P^.R&][Q) MJ323UW98I[)HPG%W/9W#Y2 WY\G-Y/EMT0S/;]*$VD$*05H_R"#(Z@BV?M =!-W5#[J'H/OZ03)%&:<$22.L";06Y%H(O!8$ M6PC$%B1;",P61%L(U!9D6PC<%H1;".06I%L([!;$6PCT5M1;"?16U%L)]-;1 MQS:!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>AGH;@=Z& M>AN!WH9Z&X'>-MHL(=#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#; M46\GT-M1;R?0VU%O)]#;46\GT-M'F]T$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z M.^KM!'I'U#L2Z!U1[TB@=T2](X'>$?6._ZEW+J==RM>>[S4^_S^I+N=[T_7Q ME^7WR=&K7!E&ULS=G);L(P% 707T'95L1X"!T$;-IN6Q;] 3=Y M0$026[:A\/=UPB"UHJB(2KV;1(GM=U]LZ6PR>MM:\KU-735^G"Q"L ^,^7Q! MM?:IL=3$D9EQM0[QTB)9GI5A=[S)K[V MI6G&B:/*)[W'W<0V:YQH:ZLRUR&.LW53?$OI[Q/2N+*;XQ>E]3=Q0L).)K0C M/P?LU[VNR;FRH-Y4N_"BZSB+;2KFP[8BGYXO<:)',YN5.14F7]5Q2>JM(UWX M!5&HJW17].9\Q$+E0GO_$ M8V(L??7W47O:!16_S([;^V'97)PC$ 8 )PG 3 M " &UL4$L! A0#% M @ ZX!C5^?7CG/H!0 Q\ !@ ("!#0@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ZX!C5XBV$*QU P 3 T !@ M ("!3S( 'AL+W=O) < #(? 8 " @?HU !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% M @ ZX!C5Q6M(."K @ L 4 !D ("!I$( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ZX!C5R6<]S$)!@ APT !D M ("!N5X 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ZX!C5[L 56UE!0 8 X !D ("!.FX M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MZX!C5U("DA[! @ B 8 !D ("!IWX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ZX!C5[D;)$QS P ^P< !D M ("!,9 'AL+W=O&PO=V]R:W-H M965TDQ+4?# 4 ,4- 9 M " @&UL4$L! M A0#% @ ZX!C5RNGPT'L @ E08 !D ("!#9P 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ZX!C M5^0NPM5\ @ B@8 !D ("!MZ0 'AL+W=O#AT:D# ($@ &0 M @(%JIP >&PO=V]R:W-H965T&UL4$L! A0#% @ ZX!C5UKN.^HV!0 [" M !D ("!IK 'AL+W=OTD& !<- &0 @($3M@ M>&PO=V]R:W-H965T$P(U3 MJP, *H. 9 " @9.\ !X;"]W;W)K&UL4$L! A0#% @ ZX!C5\['U-O0! [AD !D M ("!=< 'AL+W=O&PO=V]R:W-H965T M 3@0 ,D. 9 M " @<[( !X;"]W;W)K&UL4$L! A0# M% @ ZX!C5X,7X(82! ZQ !D ("!4\T 'AL+W=O M&PO=V]R:W-H965T+4 M !X;"]W;W)K&UL4$L! A0#% @ ZX!C5[,F MFAH6 P /0L !D ("!CM< 'AL+W=O&PO=V]R:W-H965T_)J\"( 8 #TI 9 " @:?= !X;"]W;W)K&UL4$L! A0#% @ ZX!C5]39Z8$(!@ )B0 !D M ("!_N, 'AL+W=O&PO M=V]R:W-H965T7L !X;"]W;W)K&UL4$L! A0#% @ ZX!C5]WRV!K3 P BPX !D ("! M%/$ 'AL+W=O]0 >&PO=V]R:W-H965T7!E&UL4$L%!@ ] #T HA &\$ 0 $! end XML 66 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 67 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 68 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 257 216 1 true 45 0 false 8 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.nwpipe.com/20230930/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Condensed Consolidated Statements of Operations (Unaudited) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited Condensed Consolidated Statements of Operations (Unaudited) Statements 2 false false R3.htm 002 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited Condensed Consolidated Statements of Comprehensive Income (Unaudited) Statements 3 false false R4.htm 003 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited Condensed Consolidated Balance Sheets (Current Period Unaudited) Statements 4 false false R5.htm 004 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Statements 5 false false R6.htm 005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Statements 6 false false R7.htm 006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) Statements 7 false false R8.htm 007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited Condensed Consolidated Statements of Cash Flows (Unaudited) Statements 8 false false R9.htm 008 - Disclosure - Note 1 - Organization and Basis of Presentation Sheet http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation Note 1 - Organization and Basis of Presentation Notes 9 false false R10.htm 009 - Disclosure - Note 2 - Inventories Sheet http://www.nwpipe.com/20230930/role/statement-note-2-inventories Note 2 - Inventories Notes 10 false false R11.htm 010 - Disclosure - Note 3 - Current Debt Sheet http://www.nwpipe.com/20230930/role/statement-note-3-current-debt Note 3 - Current Debt Notes 11 false false R12.htm 011 - Disclosure - Note 4 - Credit Agreement Sheet http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement Note 4 - Credit Agreement Notes 12 false false R13.htm 012 - Disclosure - Note 5 - Fair Value Measurements Sheet http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements Note 5 - Fair Value Measurements Notes 13 false false R14.htm 013 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities Sheet http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities Note 6 - Derivative Instruments and Hedging Activities Notes 14 false false R15.htm 014 - Disclosure - Note 7 - Share-based Compensation Sheet http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation Note 7 - Share-based Compensation Notes 15 false false R16.htm 015 - Disclosure - Note 8 - Commitments and Contingencies Sheet http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies Note 8 - Commitments and Contingencies Notes 16 false false R17.htm 016 - Disclosure - Note 9 - Revenue Sheet http://www.nwpipe.com/20230930/role/statement-note-9-revenue Note 9 - Revenue Notes 17 false false R18.htm 017 - Disclosure - Note 10 - Income Taxes Sheet http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes Note 10 - Income Taxes Notes 18 false false R19.htm 018 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss Sheet http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss Note 11 - Accumulated Other Comprehensive Loss Notes 19 false false R20.htm 019 - Disclosure - Note 12 - Net Income Per Share Sheet http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share Note 12 - Net Income Per Share Notes 20 false false R21.htm 020 - Disclosure - Note 13 - Segment Information Sheet http://www.nwpipe.com/20230930/role/statement-note-13-segment-information Note 13 - Segment Information Notes 21 false false R22.htm 021 - Disclosure - Note 14 - Recent Accounting and Reporting Developments Sheet http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments Note 14 - Recent Accounting and Reporting Developments Notes 22 false false R23.htm 022 - Disclosure - Note 15 - Subsequent Event Sheet http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event Note 15 - Subsequent Event Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 995469 - Disclosure - Note 2 - Inventories (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables Note 2 - Inventories (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-2-inventories 25 false false R26.htm 995470 - Disclosure - Note 5 - Fair Value Measurements (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables Note 5 - Fair Value Measurements (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements 26 false false R27.htm 995471 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables Note 6 - Derivative Instruments and Hedging Activities (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities 27 false false R28.htm 995472 - Disclosure - Note 7 - Share-based Compensation (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables Note 7 - Share-based Compensation (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation 28 false false R29.htm 995473 - Disclosure - Note 9 - Revenue (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables Note 9 - Revenue (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-9-revenue 29 false false R30.htm 995474 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables Note 11 - Accumulated Other Comprehensive Loss (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss 30 false false R31.htm 995475 - Disclosure - Note 12 - Net Income Per Share (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables Note 12 - Net Income Per Share (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share 31 false false R32.htm 995476 - Disclosure - Note 13 - Segment Information (Tables) Sheet http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables Note 13 - Segment Information (Tables) Tables http://www.nwpipe.com/20230930/role/statement-note-13-segment-information 32 false false R33.htm 995477 - Disclosure - Note 1 - Organization and Basis of Presentation (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual Note 1 - Organization and Basis of Presentation (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation 33 false false R34.htm 995478 - Disclosure - Note 2 - Inventories - Components of Inventories (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details Note 2 - Inventories - Components of Inventories (Details) Details 34 false false R35.htm 995479 - Disclosure - Note 3 - Current Debt (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual Note 3 - Current Debt (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-3-current-debt 35 false false R36.htm 995480 - Disclosure - Note 4 - Credit Agreement (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual Note 4 - Credit Agreement (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement 36 false false R37.htm 995481 - Disclosure - Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) Details 37 false false R38.htm 995482 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual Note 6 - Derivative Instruments and Hedging Activities (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables 38 false false R39.htm 995483 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details) Details 39 false false R40.htm 995484 - Disclosure - Note 7 - Share-based Compensation (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual Note 7 - Share-based Compensation (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables 40 false false R41.htm 995485 - Disclosure - Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) Details 41 false false R42.htm 995486 - Disclosure - Note 7 - Share-based Compensation - RSU and PSA Activity (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details Note 7 - Share-based Compensation - RSU and PSA Activity (Details) Details 42 false false R43.htm 995487 - Disclosure - Note 8 - Commitments and Contingencies (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual Note 8 - Commitments and Contingencies (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies 43 false false R44.htm 995488 - Disclosure - Note 9 - Revenue 1 (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual Note 9 - Revenue 1 (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables 44 false false R45.htm 995489 - Disclosure - Note 9 - Revenue 2 (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual Note 9 - Revenue 2 (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables 45 false false R46.htm 995490 - Disclosure - Note 9 - Revenue - Disaggregation of Revenue (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details Note 9 - Revenue - Disaggregation of Revenue (Details) Details 46 false false R47.htm 995491 - Disclosure - Note 10 - Income Taxes (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual Note 10 - Income Taxes (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes 47 false false R48.htm 995492 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) Details 48 false false R49.htm 995493 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) Details 49 false false R50.htm 995494 - Disclosure - Note 12 - Net Income Per Share (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual Note 12 - Net Income Per Share (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables 50 false false R51.htm 995495 - Disclosure - Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details) Details 51 false false R52.htm 995496 - Disclosure - Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Sheet http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details) Details 52 false false R53.htm 995497 - Disclosure - Note 15 - Subsequent Event (Details Textual) Sheet http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual Note 15 - Subsequent Event (Details Textual) Details http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event 53 false false All Reports Book All Reports nwpx-20230930.xsd nwpx-20230930_cal.xml nwpx-20230930_def.xml nwpx-20230930_lab.xml nwpx-20230930_pre.xml nwpx20230930_10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 71 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "nwpx20230930_10q.htm": { "nsprefix": "nwpx", "nsuri": "http://www.nwpipe.com/20230930", "dts": { "schema": { "local": [ "nwpx-20230930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/exch/2023/exch-2023.xsd", "https://xbrl.sec.gov/naics/2023/naics-2023.xsd", "https://xbrl.sec.gov/sic/2023/sic-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] }, "calculationLink": { "local": [ "nwpx-20230930_cal.xml" ] }, "definitionLink": { "local": [ "nwpx-20230930_def.xml" ] }, "labelLink": { "local": [ "nwpx-20230930_lab.xml" ] }, "presentationLink": { "local": [ "nwpx-20230930_pre.xml" ] }, "inline": { "local": [ "nwpx20230930_10q.htm" ] } }, "keyStandard": 197, "keyCustom": 19, "axisStandard": 23, "axisCustom": 0, "memberStandard": 29, "memberCustom": 16, "hidden": { "total": 61, "http://fasb.org/us-gaap/2023": 49, "http://www.nwpipe.com/20230930": 2, "http://xbrl.sec.gov/ecd/2023": 4, "http://xbrl.sec.gov/dei/2023": 6 }, "contextCount": 257, "entityCount": 1, "segmentCount": 45, "elementCount": 350, "unitCount": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 711, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 5 }, "report": { "R1": { "role": "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information", "longName": "000 - Document - Document And Entity Information", "shortName": "Document And Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "b", "p", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "b", "p", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "longName": "001 - Statement - Condensed Consolidated Statements of Operations (Unaudited)", "shortName": "Condensed Consolidated Statements of Operations (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R3": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "longName": "002 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "shortName": "Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R4": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "longName": "003 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited)", "shortName": "Condensed Consolidated Balance Sheets (Current Period Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals", "longName": "004 - Statement - Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "shortName": "Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": null, "uniqueAnchor": null }, "R6": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "longName": "005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember", "name": "us-gaap:SharesOutstanding", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember", "name": "us-gaap:SharesOutstanding", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "longName": "006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals)", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": null, "uniqueAnchor": null }, "R8": { "role": "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "longName": "007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:DepreciationAndFinanceLeaseRightOfUseAssetAmortization", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R9": { "role": "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "longName": "008 - Disclosure - Note 1 - Organization and Basis of Presentation", "shortName": "Note 1 - Organization and Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "longName": "009 - Disclosure - Note 2 - Inventories", "shortName": "Note 2 - Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "longName": "010 - Disclosure - Note 3 - Current Debt", "shortName": "Note 3 - Current Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "longName": "011 - Disclosure - Note 4 - Credit Agreement", "shortName": "Note 4 - Credit Agreement", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "longName": "012 - Disclosure - Note 5 - Fair Value Measurements", "shortName": "Note 5 - Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "longName": "013 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities", "shortName": "Note 6 - Derivative Instruments and Hedging Activities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "longName": "014 - Disclosure - Note 7 - Share-based Compensation", "shortName": "Note 7 - Share-based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "longName": "015 - Disclosure - Note 8 - Commitments and Contingencies", "shortName": "Note 8 - Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.nwpipe.com/20230930/role/statement-note-9-revenue", "longName": "016 - Disclosure - Note 9 - Revenue", "shortName": "Note 9 - Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "longName": "017 - Disclosure - Note 10 - Income Taxes", "shortName": "Note 10 - Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "longName": "018 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss", "shortName": "Note 11 - Accumulated Other Comprehensive Loss", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "longName": "019 - Disclosure - Note 12 - Net Income Per Share", "shortName": "Note 12 - Net Income Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "longName": "020 - Disclosure - Note 13 - Segment Information", "shortName": "Note 13 - Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "longName": "021 - Disclosure - Note 14 - Recent Accounting and Reporting Developments", "shortName": "Note 14 - Recent Accounting and Reporting Developments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "longName": "022 - Disclosure - Note 15 - Subsequent Event", "shortName": "Note 15 - Subsequent Event", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "longName": "995469 - Disclosure - Note 2 - Inventories (Tables)", "shortName": "Note 2 - Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "longName": "995470 - Disclosure - Note 5 - Fair Value Measurements (Tables)", "shortName": "Note 5 - Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "longName": "995471 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Tables)", "shortName": "Note 6 - Derivative Instruments and Hedging Activities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "longName": "995472 - Disclosure - Note 7 - Share-based Compensation (Tables)", "shortName": "Note 7 - Share-based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables", "longName": "995473 - Disclosure - Note 9 - Revenue (Tables)", "shortName": "Note 9 - Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "longName": "995474 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss (Tables)", "shortName": "Note 11 - Accumulated Other Comprehensive Loss (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "longName": "995475 - Disclosure - Note 12 - Net Income Per Share (Tables)", "shortName": "Note 12 - Net Income Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "longName": "995476 - Disclosure - Note 13 - Segment Information (Tables)", "shortName": "Note 13 - Segment Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual", "longName": "995477 - Disclosure - Note 1 - Organization and Basis of Presentation (Details Textual)", "shortName": "Note 1 - Organization and Basis of Presentation (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details", "longName": "995478 - Disclosure - Note 2 - Inventories - Components of Inventories (Details)", "shortName": "Note 2 - Inventories - Components of Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "longName": "995479 - Disclosure - Note 3 - Current Debt (Details Textual)", "shortName": "Note 3 - Current Debt (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "i_2022-08-31_DebtInstrumentAxis-InterimFundingAgreementifaMember", "name": "us-gaap:DebtInstrumentFaceAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:LongTermDebtTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2022-08-31_DebtInstrumentAxis-InterimFundingAgreementifaMember", "name": "us-gaap:DebtInstrumentFaceAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:LongTermDebtTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "longName": "995480 - Disclosure - Note 4 - Credit Agreement (Details Textual)", "shortName": "Note 4 - Credit Agreement (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-10-22_LineOfCreditFacilityAxis-WellsFargoBankNAMember", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-6", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R37": { "role": "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "longName": "995481 - Disclosure - Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)", "shortName": "Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-09-30", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "longName": "995482 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities (Details Textual)", "shortName": "Note 6 - Derivative Instruments and Hedging Activities (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "longName": "995483 - Disclosure - Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details)", "shortName": "Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30_HedgingDesignationAxis-NondesignatedMember", "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30_HedgingDesignationAxis-NondesignatedMember", "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "longName": "995484 - Disclosure - Note 7 - Share-based Compensation (Details Textual)", "shortName": "Note 7 - Share-based Compensation (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:NumberOfActiveStockIncentivePlans", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "nwpx:NumberOfActiveStockIncentivePlans", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "longName": "995485 - Disclosure - Note 7 - Share-based Compensation - Share-based Compensation Expense (Details)", "shortName": "Note 7 - Share-based Compensation - Share-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "longName": "995486 - Disclosure - Note 7 - Share-based Compensation - RSU and PSA Activity (Details)", "shortName": "Note 7 - Share-based Compensation - RSU and PSA Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsAndPerformanceStockAwardsMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockUnitsAndPerformanceStockAwardsMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual", "longName": "995487 - Disclosure - Note 8 - Commitments and Contingencies (Details Textual)", "shortName": "Note 8 - Commitments and Contingencies (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "i_2023-09-30", "name": "nwpx:OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-09-30", "name": "nwpx:OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual", "longName": "995488 - Disclosure - Note 9 - Revenue 1 (Details Textual)", "shortName": "Note 9 - Revenue 1 (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual", "longName": "995489 - Disclosure - Note 9 - Revenue 2 (Details Textual)", "shortName": "Note 9 - Revenue 2 (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "i_2023-09-30_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-10-01", "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-09-30_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2023-10-01", "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details", "longName": "995490 - Disclosure - Note 9 - Revenue - Disaggregation of Revenue (Details)", "shortName": "Note 9 - Revenue - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30_TimingOfTransferOfGoodOrServiceAxis-TransferredOverTimeMember", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R47": { "role": "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual", "longName": "995491 - Disclosure - Note 10 - Income Taxes (Details Textual)", "shortName": "Note 10 - Income Taxes (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "longName": "995492 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)", "shortName": "Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "i_2022-12-31", "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2022-12-31_StatementEquityComponentsAxis-AccumulatedDefinedBenefitPlansAdjustmentMember", "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "nwpx:ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R49": { "role": "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "longName": "995493 - Disclosure - Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)", "shortName": "Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis-ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember", "name": "us-gaap:ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R50": { "role": "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual", "longName": "995494 - Disclosure - Note 12 - Net Income Per Share (Details Textual)", "shortName": "Note 12 - Net Income Per Share (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-09-30", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "longName": "995495 - Disclosure - Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)", "shortName": "Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R52": { "role": "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "longName": "995496 - Disclosure - Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)", "shortName": "Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "d_2023-07-01_2023-09-30", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-07-01_2023-09-30_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-EngineeredSteelPressurePipeMember", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "unique": true } }, "R53": { "role": "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "longName": "995497 - Disclosure - Note 15 - Subsequent Event (Details Textual)", "shortName": "Note 15 - Subsequent Event (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "i_2023-11-02_SubsequentEventTypeAxis-SubsequentEventMember", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-7", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-11-02_SubsequentEventTypeAxis-SubsequentEventMember", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-7", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "nwpx20230930_10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_LossContingencyNatureDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyNatureDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Loss Contingency, Nature [Domain]", "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability." } } }, "auth_ref": [ "r246", "r247", "r248", "r251", "r717", "r718" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_Rule10b51ArrAdoptedFlag", "terseLabel": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r685" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DerivativeAssets", "terseLabel": "Derivative assets", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r127", "r128", "r461", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r572", "r573", "r612", "r615", "r618", "r619", "r620", "r621", "r635", "r669", "r743" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_Rule10b51ArrTrmntdFlag", "terseLabel": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r685" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r12", "r66", "r67", "r90" ] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "Basic (in dollars per share)", "terseLabel": "Basic (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r144", "r163", "r164", "r165", "r166", "r167", "r174", "r176", "r178", "r179", "r180", "r184", "r453", "r454", "r501", "r518", "r637" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_NonRule10b51ArrAdoptedFlag", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r685" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_NonRule10b51ArrTrmntdFlag", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r685" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r685" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Current portion of operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r478" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r555", "r557", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r580", "r581", "r582", "r593", "r594", "r595", "r596", "r599", "r600", "r601", "r602", "r612", "r613", "r618", "r620", "r667", "r669" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Property and equipment, less accumulated depreciation and amortization of $124,175 and $117,856", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r503", "r513", "r665" ] }, "us-gaap_PropertyPlantAndEquipmentGrossPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGrossPeriodIncreaseDecrease", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Property and equipment", "documentation": "Amount of increase (decrease) of long-lived, physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts." } } }, "auth_ref": [ "r94", "r441", "r450" ] }, "nwpx_statement-statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information - Information Related to the Operations of the Company's Operating Segments (Details)" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r478" ] }, "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Gains (losses) recognized on derivatives", "label": "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet", "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments." } } }, "auth_ref": [ "r54", "r693" ] }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments." } } }, "auth_ref": [ "r51", "r53", "r440" ] }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Hedging Relationship [Axis]", "documentation": "Information by type of hedging relationship." } } }, "auth_ref": [ "r13", "r51", "r53" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r43", "r118", "r512" ] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Borrowings on other debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r30", "r543" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r679" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_ProceedsFromLinesOfCredit", "terseLabel": "Borrowings on line of credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r30", "r704" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Accumulated other comprehensive loss", "periodStartLabel": "Balances", "periodEndLabel": "Balances", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r26", "r27", "r74", "r123", "r509", "r536", "r539" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r115", "r126", "r149", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r433", "r436", "r462", "r665", "r721", "r722", "r730" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Share-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r48", "r49", "r375" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r88", "r244", "r245", "r623", "r716" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r32", "r117", "r627" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r681" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Stockholders\u2019 equity:" } } }, "auth_ref": [] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_FinanceLeasePrincipalPayments", "negatedLabel": "Payments on finance lease obligations", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r479", "r480" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Current debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r122" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r279", "r334", "r335", "r336", "r337", "r338", "r339", "r460", "r488", "r489", "r490", "r645", "r646", "r652", "r653", "r654" ] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Trade and other receivables, less allowance for doubtful accounts of $284 and $369", "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value." } } }, "auth_ref": [ "r665" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Right-of-use assets obtained in exchange for finance lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability." } } }, "auth_ref": [ "r481", "r664" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r186", "r187", "r188", "r189", "r190", "r202", "r207", "r211", "r212", "r213", "r214", "r215", "r216", "r218" ] }, "us-gaap_TableTextBlock": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "auth_ref": [] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables" ], "lang": { "en-us": { "role": { "label": "Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]", "documentation": "Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r36", "r37", "r38", "r40" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Other financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r691", "r702" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Right-of-use assets obtained in exchange for operating lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r481", "r664" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharesOutstanding", "periodStartLabel": "Balances (in shares)", "periodEndLabel": "Balances (in shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-12-net-income-per-share-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-12-net-income-per-share-tables", "lang": { "en-us": { "role": { "label": "Note 12 - Net Income Per Share" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "Diluted (in dollars per share)", "terseLabel": "Diluted (in dollars per share)", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r144", "r163", "r164", "r165", "r166", "r167", "r176", "r178", "r179", "r180", "r184", "r453", "r454", "r501", "r518", "r637" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "Other income (expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r80" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "terseLabel": "Accrued and other liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r703" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r459", "r460" ] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "Selling, general, and administrative expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r79" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Income tax expense", "negatedLabel": "Tax (expense) benefit", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r102", "r108", "r169", "r170", "r198", "r415", "r427", "r519" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Tax withholdings related to net share settlements of equity awards", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r145" ] }, "nwpx_PerformanceAwardsIssuedMultiplier": { "xbrltype": "percentItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PerformanceAwardsIssuedMultiplier", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_PerformanceAwardsIssuedMultiplier", "terseLabel": "Performance Awards Issued Multiplier", "documentation": "The percentage of the performance awards issued multiplier." } } }, "auth_ref": [] }, "nwpx_PrecastInfrastructureAndEngineeredSystemsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PrecastInfrastructureAndEngineeredSystemsMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Precast Infrastructure and Engineered Systems [Member]", "documentation": "Represents Precast Infrastructure and Engineered Systems segment." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted weighted-average common shares outstanding (in shares)", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r175", "r180" ] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "Effect of potentially dilutive common shares (in shares)", "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation." } } }, "auth_ref": [ "r710" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "Basic (in shares)", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r174", "r180" ] }, "nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance": { "xbrltype": "sharesItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumberAtTargetLevelOfPerformance", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance (in shares)", "documentation": "The number of non-vested equity-based payment instruments at a target level of performance, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [] }, "us-gaap_DisclosureTextBlockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureTextBlockAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue" ], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "auth_ref": [] }, "nwpx_SecuredOvernightFinancingRateSOFRMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "SecuredOvernightFinancingRateSOFRMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Secured Overnight Financing Rate (SOFR) [Member]", "documentation": "Related to Secured Overnight Financing Rate (SOFR)." } } }, "auth_ref": [] }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesByNatureOfContingencyAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Loss Contingency Nature [Axis]", "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur." } } }, "auth_ref": [ "r246", "r247", "r248", "r251", "r717", "r718" ] }, "nwpx_PortlandHarborNaturalreSourcesTrusteeCouncilMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PortlandHarborNaturalreSourcesTrusteeCouncilMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Portland Harbor Natural Resources Trustee Council [Member]", "documentation": "The name or description of the loss contingency by its nature." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Pension liability adjustment, tax expense/benefit", "documentation": "Amount, after reclassification adjustment, of tax (expense) benefit for (increase) decrease in accumulated other comprehensive income of defined benefit plan." } } }, "auth_ref": [ "r4", "r5", "r93" ] }, "dei_DocumentInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentInformationLineItems", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year)", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r104" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EnvironmentalRemediationSiteAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EnvironmentalRemediationSiteAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Environmental Remediation Site [Axis]", "documentation": "Information by location or named area designated for environmental remediation." } } }, "auth_ref": [ "r642", "r643", "r687", "r688", "r689", "r719", "r720" ] }, "us-gaap_EnvironmentalRemediationSiteDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EnvironmentalRemediationSiteDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Environmental Remediation Site [Domain]", "documentation": "Location or named area designated for environmental remediation." } } }, "auth_ref": [ "r642", "r643", "r687", "r688", "r689", "r719", "r720" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r680" ] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r682" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_OperatingIncomeLoss", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r190", "r204", "r210", "r213", "r639" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedLabel": "Unvested RSUs and PSAs canceled (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r393" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Other long-term liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r23" ] }, "us-gaap_PensionPlansDefinedBenefitMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionPlansDefinedBenefitMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Pension Plan [Member]", "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits." } } }, "auth_ref": [ "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r373", "r654", "r655", "r659", "r660", "r661" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r173", "r181", "r182", "r183" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "RSUs and PSAs granted (in shares)", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "RSUs and PSAs granted (in dollars per share)", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodStartLabel": "Unvested RSUs and PSAs (in shares)", "periodEndLabel": "Unvested RSUs and PSAs (in shares)", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r388", "r389" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r683" ] }, "nwpx_statement-statement-note-7-sharebased-compensation-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-7-sharebased-compensation-tables", "lang": { "en-us": { "role": { "label": "Note 7 - Share-based Compensation" } } }, "auth_ref": [] }, "us-gaap_HedgingRelationshipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingRelationshipDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Hedging Relationship [Domain]", "documentation": "Nature or intent of a hedge." } } }, "auth_ref": [ "r13" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodStartLabel": "Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share)", "periodEndLabel": "Unvested RSUs and PSAs, weighted average grant date fair value (in dollars per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r388", "r389" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "RSUs and PSAs vested (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r392" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r667", "r668", "r669", "r671", "r672", "r673", "r676", "r707", "r708", "r728", "r742", "r745" ] }, "nwpx_statement-statement-note-2-inventories-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-2-inventories-tables", "lang": { "en-us": { "role": { "label": "Note 2 - Inventories" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "RSUs and PSAs vested, weighted average grant date fair value (in dollars per share)", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r392" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedTerseLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "nwpx_statement-statement-note-11-accumulated-other-comprehensive-loss-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-11-accumulated-other-comprehensive-loss-tables", "lang": { "en-us": { "role": { "label": "Note 11 - Accumulated Other Comprehensive Loss" } } }, "auth_ref": [] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Share-based compensation expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r403", "r411" ] }, "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsAndOtherReceivables", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables", "negatedTerseLabel": "Trade and other receivables", "documentation": "The increase (decrease) during the reporting period in the amount due from customers for the credit sale of goods and services; includes accounts receivable and other types of receivables." } } }, "auth_ref": [ "r7" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r686" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "Shares used in per share calculations:" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r62", "r92", "r540", "r541" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Share-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "nwpx_statement-statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "lang": { "en-us": { "role": { "label": "Note 6 - Derivative Instruments and Hedging Activities - Summary of Gains (Losses) (Details)" } } }, "auth_ref": [] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r153", "r192", "r203", "r204", "r205", "r206", "r207", "r209", "r213", "r252", "r253", "r254", "r255", "r257", "r258", "r260", "r262", "r263", "r721", "r722" ] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r680" ] }, "nwpx_WellsFargoBankNAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "WellsFargoBankNAMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Wells Fargo Bank, N.A. [Member]", "documentation": "Related to the lender Wells Fargo Bank, N.A." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Intangible assets, net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r87", "r494" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r78", "r493" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r153", "r192", "r203", "r204", "r205", "r206", "r207", "r209", "r213", "r252", "r253", "r254", "r255", "r257", "r258", "r260", "r262", "r263", "r721", "r722" ] }, "nwpx_statement-statement-note-7-sharebased-compensation-rsu-and-psa-activity-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "lang": { "en-us": { "role": { "label": "Note 7 - Share-based Compensation - RSU and PSA Activity (Details)" } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r680" ] }, "dei_DocumentInformationTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentInformationTable", "lang": { "en-us": { "role": { "label": "Document Information [Table]", "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-13-segment-information-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-13-segment-information-tables", "lang": { "en-us": { "role": { "label": "Note 13 - Segment Information" } } }, "auth_ref": [] }, "nwpx_The296InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "The296InterestRateSwapMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "The 2.96% Interest Rate Swap [Member]", "documentation": "Relating to the 2.96% interest rate swap." } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 0.0 }, "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 }, "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details" ], "lang": { "en-us": { "role": { "label": "Net income", "totalLabel": "Net income", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r76", "r84", "r100", "r114", "r133", "r136", "r140", "r149", "r159", "r163", "r164", "r165", "r166", "r169", "r170", "r177", "r190", "r204", "r210", "r213", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r454", "r462", "r515", "r586", "r603", "r604", "r639", "r677", "r721" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r680" ] }, "nwpx_statement-statement-note-9-revenue-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-9-revenue-tables", "lang": { "en-us": { "role": { "label": "Note 9 - Revenue" } } }, "auth_ref": [] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details" ], "lang": { "en-us": { "role": { "label": "Work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r86", "r630" ] }, "us-gaap_InterestExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpenseMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Interest Expense [Member]", "documentation": "Primary financial statement caption encompassing interest expense." } } }, "auth_ref": [ "r14" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details" ], "lang": { "en-us": { "role": { "label": "Raw materials", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r86", "r631" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details" ], "lang": { "en-us": { "role": { "label": "Finished goods", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r86", "r629" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DerivativeFixedInterestRate", "terseLabel": "Derivative, Fixed Interest Rate", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "us-gaap_InventorySuppliesNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventorySuppliesNetOfReserves", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details" ], "lang": { "en-us": { "role": { "label": "Supplies", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of products used directly or indirectly in the manufacturing or production process, which may or may not become part of the final product. May also include items used in the storage, presentation or transportation of physical goods." } } }, "auth_ref": [ "r39", "r632" ] }, "nwpx_DebtInstrumentCovenantMinimumEbitda": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "DebtInstrumentCovenantMinimumEbitda", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_DebtInstrumentCovenantMinimumEbitda", "terseLabel": "Debt Instrument, Covenant, Minimum EBITDA", "documentation": "Represents the minimum amount of earnings before interest, taxes, depreciation and amortization as part of a debt covenant." } } }, "auth_ref": [] }, "nwpx_DeferredCompensationPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "DeferredCompensationPlanMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Plan [Member]", "documentation": "Represents deferred compensation plan." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-9-revenue-disaggregation-of-revenue-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-9-revenue-disaggregation-of-revenue-details", "lang": { "en-us": { "role": { "label": "Note 9 - Revenue - Disaggregation of Revenue (Details)" } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares issued (in shares)", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r66", "r291" ] }, "nwpx_EstimatedTimeToCompleteSelectedEPARemedy": { "xbrltype": "durationItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "EstimatedTimeToCompleteSelectedEPARemedy", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_EstimatedTimeToCompleteSelectedEPARemedy", "terseLabel": "Estimated Time to Complete Selected EPA Remedy (Year)", "documentation": "The estimated amount of time to complete the selected EPA remedy." } } }, "auth_ref": [] }, "us-gaap_SalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Sales [Member]", "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business." } } }, "auth_ref": [ "r14" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockRepurchaseProgramAuthorizedAmount1", "terseLabel": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "nwpx_MaximumSeniorLeverageRatioRequirement": { "xbrltype": "pureItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "MaximumSeniorLeverageRatioRequirement", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_MaximumSeniorLeverageRatioRequirement", "terseLabel": "Maximum Senior Leverage Ratio Requirement", "documentation": "The maximum senior leverage ratio requirement." } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r332", "r372", "r399", "r400", "r401", "r491", "r492", "r531", "r556", "r557", "r608", "r609", "r610", "r611", "r622", "r624", "r625", "r640", "r649", "r662", "r666", "r669", "r715", "r723", "r733", "r734", "r735", "r736", "r737" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402" ] }, "nwpx_NotesToFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NotesToFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "auth_ref": [] }, "nwpx_MaximumSeniorLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "MaximumSeniorLeverageRatio", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_MaximumSeniorLeverageRatio", "terseLabel": "Maximum Senior Leverage Ratio", "documentation": "The maximum senior leverage ratio." } } }, "auth_ref": [] }, "nwpx_DepreciationAndFinanceLeaseRightOfUseAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "DepreciationAndFinanceLeaseRightOfUseAssetAmortization", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Depreciation and finance lease amortization", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives and amount of amortization expense attributable to right-of-use asset from finance lease." } } }, "auth_ref": [] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r472", "r486" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares authorized (in shares)", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r66", "r566" ] }, "nwpx_EngineeredSteelPressurePipeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "EngineeredSteelPressurePipeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Engineered Steel Pressure Pipe [Member]", "documentation": "Represents Engineered Steel Pressure Pipe segment." } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares outstanding (in shares)", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r66", "r566", "r584", "r745", "r746" ] }, "nwpx_InterimFundingAgreementifaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "InterimFundingAgreementifaMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Interim Funding AgreementIFA [Member]", "documentation": "Represents the Interim Funding Agreement with Wells Fargo Finance Inc." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-6-derivative-instruments-and-hedging-activities-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-6-derivative-instruments-and-hedging-activities-tables", "lang": { "en-us": { "role": { "label": "Note 6 - Derivative Instruments and Hedging Activities" } } }, "auth_ref": [] }, "us-gaap_NondesignatedMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NondesignatedMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Not Designated as Hedging Instrument [Member]", "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)." } } }, "auth_ref": [ "r13" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r372", "r492", "r531", "r556", "r557", "r608", "r609", "r610", "r611", "r622", "r624", "r625", "r640", "r649", "r662", "r666", "r723", "r732", "r733", "r734", "r735", "r736", "r737" ] }, "nwpx_ForeignExchangeForward1Member": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ForeignExchangeForward1Member", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Foreign Exchange Forward 1 [Member]", "documentation": "Represents one forward exchange forward contract" } } }, "auth_ref": [] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r332", "r372", "r399", "r400", "r401", "r491", "r492", "r531", "r556", "r557", "r608", "r609", "r610", "r611", "r622", "r624", "r625", "r640", "r649", "r662", "r666", "r669", "r715", "r723", "r733", "r734", "r735", "r736", "r737" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockholdersEquity", "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Balances", "periodEndLabel": "Balances", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r67", "r70", "r71", "r85", "r568", "r584", "r606", "r607", "r665", "r678", "r705", "r712", "r729", "r745" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r472", "r486" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Interest expense", "negatedLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r59", "r101", "r141", "r194", "r473", "r590", "r677", "r744" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "auth_ref": [ "r247", "r248", "r249", "r250", "r372", "r492", "r531", "r556", "r557", "r608", "r609", "r610", "r611", "r622", "r624", "r625", "r640", "r649", "r662", "r666", "r723", "r732", "r733", "r734", "r735", "r736", "r737" ] }, "us-gaap_ForeignExchangeForwardMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignExchangeForwardMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Foreign Exchange Forward [Member]", "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate." } } }, "auth_ref": [ "r572", "r576", "r581", "r595", "r601", "r616", "r617", "r618", "r669" ] }, "us-gaap_CashFlowHedgingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowHedgingMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Cash Flow Hedging [Member]", "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk." } } }, "auth_ref": [ "r50" ] }, "nwpx_EstimatedCostOfEPASelectedRemedy": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "EstimatedCostOfEPASelectedRemedy", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_EstimatedCostOfEPASelectedRemedy", "terseLabel": "Estimated Cost of EPA Selected Remedy", "documentation": "The estimated cost of the remedy selected by EPA." } } }, "auth_ref": [] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r151", "r152", "r269", "r292", "r484", "r633", "r635" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Commitments and contingencies (Note 8)", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r24", "r61", "r506", "r565" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r66", "r291" ] }, "nwpx_NoteToFinancialStatementDetailsTextual": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NoteToFinancialStatementDetailsTextual", "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "auth_ref": [] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DerivativeNotionalAmount", "terseLabel": "Derivative, Notional Amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r726", "r727" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r680" ] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r239", "r241", "r589" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r151", "r152", "r269", "r292", "r484", "r634", "r635" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation", "negatedLabel": "Issuance of common stock under stock compensation plans, net of tax withholdings", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r46", "r66", "r67", "r90" ] }, "nwpx_LowerWillametteGroupMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "LowerWillametteGroupMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Lower Willamette Group [Member]", "documentation": "Refers to information regarding the Lower Willamette Group." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r241", "r589" ] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r472", "r486" ] }, "nwpx_statement-statement-note-7-sharebased-compensation-sharebased-compensation-expense-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "lang": { "en-us": { "role": { "label": "Note 7 - Share-based Compensation - Share-based Compensation Expense (Details)" } } }, "auth_ref": [] }, "dei_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "Entity [Domain]", "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." } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "auth_ref": [ "r684" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInInventories", "negatedTerseLabel": "Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r7" ] }, "nwpx_NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Accrued consideration in acquisition of business", "documentation": "The total amount of consideration accrued in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition." } } }, "auth_ref": [] }, "us-gaap_OtherPaymentsToAcquireBusinesses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherPaymentsToAcquireBusinesses", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherPaymentsToAcquireBusinesses", "negatedLabel": "Payment of working capital adjustment in acquisition of business", "documentation": "The cash outflow associated with other payments to acquire businesses including deposit on pending acquisitions and preacquisition costs." } } }, "auth_ref": [ "r29" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r680" ] }, "nwpx_NumberOfActiveStockIncentivePlans": { "xbrltype": "integerItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NumberOfActiveStockIncentivePlans", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_NumberOfActiveStockIncentivePlans", "terseLabel": "Number Of Active Stock Incentive Plans", "documentation": "The number of active stock incentive plans." } } }, "auth_ref": [] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash used in financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r146" ] }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DesignatedAsHedgingInstrumentMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Designated as Hedging Instrument [Member]", "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)." } } }, "auth_ref": [ "r13" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r406" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherNoncashIncomeExpense", "negatedLabel": "Other, net", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r84" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Cash flows from financing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r146" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Contract liabilities", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r294", "r295", "r307" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r82", "r83", "r84" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccountsPayable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r7" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Change in cash and cash equivalents", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r82" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r724" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodStartLabel": "Cash and cash equivalents, beginning of period", "periodEndLabel": "Cash and cash equivalents, end of period", "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." } } }, "auth_ref": [ "r32", "r82", "r147" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r21", "r116", "r149", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r434", "r436", "r437", "r462", "r665", "r721", "r730", "r731" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r67" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount (in shares)", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r181" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredIncomeTaxLiabilitiesNet", "terseLabel": "Deferred income taxes", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r413", "r414", "r505" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_EarningsPerShareAbstract", "terseLabel": "Net income per share:" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r75", "r99", "r190", "r204", "r210", "r213", "r502", "r514", "r639" ] }, "us-gaap_TransferredOverTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredOverTimeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details" ], "lang": { "en-us": { "role": { "label": "Transferred over Time [Member]", "documentation": "Contract with customer in which good or service is transferred over time." } } }, "auth_ref": [ "r651" ] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r485", "r487" ] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LettersOfCreditOutstandingAmount", "terseLabel": "Letters of Credit Outstanding, Amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityIncreaseDecreaseForPeriodNet", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCreditFacilityIncreaseDecreaseForPeriodNet", "terseLabel": "Line of Credit Facility, Increase (Decrease), Net", "documentation": "Amount of increase (decrease) of the credit facility." } } }, "auth_ref": [ "r704" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Noncash investing and financing activities:" } } }, "auth_ref": [] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Prepaid expenses and other", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r697" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Lender [Domain]", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r18", "r704" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r18" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Lender Name [Axis]", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r18", "r704" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r69", "r90", "r510", "r535", "r539", "r544", "r567", "r665" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_RevenueRemainingPerformanceObligation", "terseLabel": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r103" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r104" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r651", "r724" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity", "terseLabel": "Line of Credit Facility, Remaining Borrowing Capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r18" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details" ], "lang": { "en-us": { "role": { "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r651", "r724" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r416" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r374", "r376", "r404", "r405", "r407", "r663" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r458" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r150", "r412", "r417", "r419", "r420", "r426", "r430", "r431", "r432", "r545" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of intangible assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r8", "r41", "r42" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r279", "r334", "r335", "r336", "r337", "r338", "r339", "r488", "r489", "r490", "r645", "r646", "r652", "r653", "r654" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r119", "r229", "r498", "r641", "r665", "r713", "r714" ] }, "nwpx_statement-statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "lang": { "en-us": { "role": { "label": "Note 12 - Net Income Per Share - Loss Per Basic and Diluted Weighted Average Common Share Outstanding for Continuing and Discontinued Operations (Details)" } } }, "auth_ref": [] }, "nwpx_ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ScheduleOfInventoryCurrentAndNonCurrentTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Inventory Current And Non Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process. Includes current and non-current inventory balances." } } }, "auth_ref": [] }, "us-gaap_OpenTaxYear": { "xbrltype": "gYearListItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OpenTaxYear", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_OpenTaxYear", "terseLabel": "Open Tax Year", "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format." } } }, "auth_ref": [ "r418" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInContractWithCustomerAsset", "negatedLabel": "Contract assets, net", "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r703" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited" ], "lang": { "en-us": { "role": { "label": "Other comprehensive income (loss), net of tax:" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "totalLabel": "Net current period other comprehensive income (loss)", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r6", "r10", "r93", "r134", "r137" ] }, "nwpx_ReclassifiedToInterestExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ReclassifiedToInterestExpenseMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Reclassified to Interest Expense [Member]", "documentation": "Related to reclassified to interest expense." } } }, "auth_ref": [] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r66", "r507", "r665" ] }, "nwpx_ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ScheduleOfUnvestedRestrictedStockUnitsAndPerformanceShareAwardsActivityTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block]", "documentation": "Tabular disclosure of the change in restricted stock units (RSUs) and performance share awards (PSAs)." } } }, "auth_ref": [] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details" ], "lang": { "en-us": { "role": { "label": "Net sales", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r191", "r192", "r203", "r208", "r209", "r215", "r217", "r218", "r305", "r306", "r493" ] }, "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent", "negatedLabel": "Pension liability adjustment", "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan, attributable to parent." } } }, "auth_ref": [ "r4", "r10", "r74", "r93" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestRateSwapMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Interest Rate Swap [Member]", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r626", "r674", "r675" ] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths", "terseLabel": "Cash Flow Hedge Gain (Loss) to be Reclassified within 12 Months", "documentation": "The estimated net amount of existing gains or losses on cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months." } } }, "auth_ref": [ "r56" ] }, "us-gaap_ShortTermBorrowings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermBorrowings", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShortTermBorrowings", "terseLabel": "Short-Term Debt", "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r63", "r96", "r665", "r738" ] }, "nwpx_RestrictedStockUnitsAndPerformanceStockAwardsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "RestrictedStockUnitsAndPerformanceStockAwardsMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units and Performance Stock Awards [Member]", "documentation": "The type or description of the award." } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNoteTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss) Note [Text Block]", "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income." } } }, "auth_ref": [ "r73", "r142", "r499", "r516" ] }, "us-gaap_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details" ], "lang": { "en-us": { "role": { "label": "Transferred at Point in Time [Member]", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r651" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_DebtInstrumentCovenantMinimumConsolidatedEarningsBeforeInterestTaxesDepreciationAndAmortization", "terseLabel": "Debt Instrument, Covenant, Minimum Consolidated Earnings Before Interest, Taxes, Depreciation, and Amortization", "documentation": "The minimum amount of consolidated earnings before interest, taxes, depreciation, and amortization pursuant to the debt agreement." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1", "terseLabel": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_ComprehensiveIncomeNetOfTax", "totalLabel": "Comprehensive income", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r28", "r135", "r137", "r143", "r500", "r517" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RetirementPlanTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanTypeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Type [Axis]", "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement." } } }, "auth_ref": [ "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r373", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "us-gaap_RetirementPlanTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanTypeDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Type [Domain]", "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement." } } }, "auth_ref": [ "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r373", "r654", "r655", "r656", "r657", "r658", "r659", "r660", "r661" ] }, "us-gaap_ReclassificationTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationTypeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Reclassification, Type [Axis]", "documentation": "Information by type of reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r695" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_ReclassificationTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationTypeDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Reclassification, Type [Domain]", "documentation": "Type of reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r695" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_OperatingLeaseRightOfUseAsset", "terseLabel": "Operating lease right-of-use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r477" ] }, "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Total reclassifications for the period", "negatedLabel": "Amounts reclassified from Accumulated other comprehensive loss", "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss) attributable to parent." } } }, "auth_ref": [ "r15", "r27" ] }, "us-gaap_OciBeforeReclassificationsNetOfTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OciBeforeReclassificationsNetOfTaxAttributableToParent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Other comprehensive income (loss) before reclassifications", "documentation": "Amount after tax, before reclassification adjustments, of other comprehensive income (loss), attributable to parent." } } }, "auth_ref": [ "r15", "r27" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Gross profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r77", "r149", "r190", "r204", "r210", "r213", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r462", "r639", "r721" ] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCredit", "terseLabel": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r16", "r97", "r739" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Unrealized gain (loss) on derivatives designated as cash flow hedges", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r130" ] }, "us-gaap_LongTermLineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermLineOfCredit", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Borrowings on line of credit", "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r22", "r44", "r45" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expenses [Member]", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "terseLabel": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r113", "r187", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r213", "r218", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r240", "r242", "r243", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r641", "r694", "r741" ] }, "nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived", "terseLabel": "Other Commitment, Amount Paid for Equipment Purchased Yet Not Received", "documentation": "Amount of commitment of payment for equipment purchased but not received." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "terseLabel": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained." } } }, "auth_ref": [ "r650" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTaxParent", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Unrealized gain (loss) on cash flow hedges, tax expense/benefit", "documentation": "Amount, after reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r131" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r16", "r64", "r65", "r96", "r97", "r153", "r266", "r267", "r268", "r269", "r270", "r272", "r277", "r278", "r279", "r280", "r282", "r283", "r284", "r285", "r286", "r287", "r474", "r644", "r645", "r646", "r647", "r648", "r704" ] }, "nwpx_statement-statement-note-2-inventories-components-of-inventories-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-2-inventories-components-of-inventories-details", "lang": { "en-us": { "role": { "label": "Note 2 - Inventories - Components of Inventories (Details)" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-2-inventories" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r228" ] }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyAccrualCarryingValueCurrent", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LossContingencyAccrualCarryingValueCurrent", "terseLabel": "Loss Contingency, Accrual, Current", "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r246" ] }, "nwpx_ReclassifiedToNetSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ReclassifiedToNetSalesMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "Reclassified to Net Sales [Member]", "documentation": "Related to reclassified to net sales." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "lang": { "en-us": { "role": { "label": "Note 5 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details)" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle." } } }, "auth_ref": [ "r106", "r107", "r109", "r112", "r157", "r158", "r161", "r162", "r171", "r172", "r222", "r223", "r423", "r424", "r425", "r448", "r451", "r455", "r456", "r457", "r463", "r464", "r465", "r475", "r476", "r483", "r495", "r496", "r497", "r535", "r536", "r537", "r538", "r539" ] }, "nwpx_PropertyAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PropertyAndEquipmentMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Property and Equipment [Member]", "documentation": "Represents property and equipment." } } }, "auth_ref": [] }, "nwpx_statement-statement-note-5-fair-value-measurements-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-5-fair-value-measurements-tables", "lang": { "en-us": { "role": { "label": "Note 5 - Fair Value Measurements" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r710" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r120" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r308" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, shares issued (in shares)", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r67" ] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_RevenueRemainingPerformanceObligationPercentage", "terseLabel": "Revenue, Remaining Performance Obligation, Percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r692" ] }, "nwpx_PortlandHarborSuperfundSiteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PortlandHarborSuperfundSiteMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "Portland Harbor Superfund Site [Member]", "documentation": "Represents the Portland Harbor Superfund Site." } } }, "auth_ref": [] }, "us-gaap_HedgingDesignationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingDesignationDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Hedging Designation [Domain]", "documentation": "Designation of purpose of derivative instrument." } } }, "auth_ref": [ "r13" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Common stock, $.01 par value, 15,000,000 shares authorized, 10,014,196 and 9,927,360 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r67", "r508", "r665" ] }, "nwpx_PerformanceShareAwardTargetLevelPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "PerformanceShareAwardTargetLevelPercentage", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_PerformanceShareAwardTargetLevelPercentage", "terseLabel": "Performance Share Award Target Level, Percentage", "documentation": "Represents the target level percentage for performance share awards." } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, shares authorized (in shares)", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r67", "r566" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtWeightedAverageInterestRate", "terseLabel": "Debt, Weighted Average Interest Rate", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "nwpx_NumberOfPotentiallyResponsibleParties": { "xbrltype": "integerItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NumberOfPotentiallyResponsibleParties", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_NumberOfPotentiallyResponsibleParties", "terseLabel": "Number Of Potentially Responsible Parties", "documentation": "Number of potentially responsible parties for Portland Harbor Superfund site." } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, shares outstanding (in shares)", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r12", "r67", "r566", "r584", "r745", "r746" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Contract assets", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r294", "r296", "r307" ] }, "nwpx_NumberOfManufacturingFacilities": { "xbrltype": "integerItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NumberOfManufacturingFacilities", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_NumberOfManufacturingFacilities", "terseLabel": "Number of Manufacturing Facilities", "documentation": "Represents number of manufacturing facilities." } } }, "auth_ref": [] }, "us-gaap_DerivativeLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeLiabilities", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DerivativeLiabilities", "negatedTerseLabel": "Foreign currency forward contracts", "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r127", "r128", "r461", "r548", "r549", "r550", "r551", "r553", "r554", "r555", "r556", "r557", "r579", "r581", "r582", "r613", "r614", "r615", "r618", "r619", "r620", "r621", "r635", "r743" ] }, "nwpx_ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "ScheduleOfChangesInAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block]", "documentation": "Represents schedule of changes in accumulated other comprehensive income loss." } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-9-revenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r110", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r309" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r22", "r153", "r266", "r267", "r268", "r269", "r270", "r272", "r277", "r278", "r279", "r280", "r282", "r283", "r284", "r285", "r286", "r287", "r474", "r644", "r645", "r646", "r647", "r648", "r704" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r47" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Reclassification out of Accumulated Other Comprehensive Income [Axis]", "documentation": "Information by item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r140" ] }, "nwpx_The1941InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "The1941InterestRateSwapMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "The 1.941% Interest Rate Swap [Member]", "documentation": "Relating to the 1.941% interest rate swap." } } }, "auth_ref": [] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Reclassification out of Accumulated Other Comprehensive Income [Domain]", "documentation": "Item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r140" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details" ], "lang": { "en-us": { "role": { "label": "Unvested RSUs and PSAs canceled, weighted average grant date fair value (in dollars per share)", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r393" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Reclassification out of Accumulated Other Comprehensive Income [Member]", "documentation": "Identifies item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r140" ] }, "us-gaap_LongTermDebtTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt [Text Block]", "documentation": "The entire disclosure for long-term debt." } } }, "auth_ref": [ "r89" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r711" ] }, "nwpx_NumberOfInactiveStockIncentivePlans": { "xbrltype": "integerItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "NumberOfInactiveStockIncentivePlans", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "nwpx_NumberOfInactiveStockIncentivePlans", "terseLabel": "Number Of Inactive Stock Incentive Plans", "documentation": "The number of inactive stock incentive plans." } } }, "auth_ref": [] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r154", "r155", "r156", "r185", "r493", "r542", "r547", "r558", "r559", "r560", "r561", "r562", "r563", "r566", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r580", "r581", "r582", "r583", "r585", "r587", "r588", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r605", "r670" ] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_RepaymentsOfLinesOfCredit", "negatedLabel": "Repayments on line of credit", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r31", "r704" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-operations-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation", "http://www.nwpipe.com/20230930/role/statement-note-1-organization-and-basis-of-presentation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes", "http://www.nwpipe.com/20230930/role/statement-note-10-income-taxes-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-tables", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-loss-per-basic-and-diluted-weighted-average-common-share-outstanding-for-continuing-and-discontinued-operations-details", "http://www.nwpipe.com/20230930/role/statement-note-12-net-income-per-share-tables", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details", "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-tables", "http://www.nwpipe.com/20230930/role/statement-note-14-recent-accounting-and-reporting-developments", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event", "http://www.nwpipe.com/20230930/role/statement-note-15-subsequent-event-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-tables", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt", "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement", "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-tables", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-tables", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-rsu-and-psa-activity-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-sharebased-compensation-expense-details", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-tables", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies", "http://www.nwpipe.com/20230930/role/statement-note-8-commitments-and-contingencies-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-1-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-2-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-disaggregation-of-revenue-details", "http://www.nwpipe.com/20230930/role/statement-note-9-revenue-tables" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r154", "r155", "r156", "r185", "r493", "r542", "r547", "r558", "r559", "r560", "r561", "r562", "r563", "r566", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r580", "r581", "r582", "r583", "r585", "r587", "r588", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r605", "r670" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-4-credit-agreement" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r89", "r148", "r265", "r271", "r272", "r273", "r274", "r275", "r276", "r281", "r288", "r289", "r290" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r279", "r334", "r339", "r460", "r489", "r645", "r646", "r652", "r653", "r654" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r680" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r408", "r409", "r410", "r546", "r707", "r708", "r709", "r728", "r745" ] }, "us-gaap_DeferredCompensationPlanAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationPlanAssets", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Deferred compensation plan", "documentation": "Carrying amount as of the balance sheet date of assets held under deferred compensation agreements." } } }, "auth_ref": [ "r696" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r19", "r149", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r434", "r436", "r437", "r462", "r564", "r638", "r678", "r721", "r730", "r731" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r279", "r334", "r339", "r460", "r488", "r652", "r653", "r654" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r95", "r121", "r149", "r190", "r205", "r211", "r220", "r252", "r253", "r255", "r256", "r257", "r259", "r261", "r263", "r264", "r433", "r436", "r462", "r504", "r578", "r665", "r678", "r721", "r722", "r730" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r25", "r111", "r138", "r139", "r140", "r154", "r155", "r156", "r160", "r168", "r170", "r185", "r221", "r224", "r293", "r408", "r409", "r410", "r421", "r422", "r443", "r444", "r445", "r446", "r447", "r449", "r452", "r466", "r467", "r468", "r469", "r470", "r471", "r482", "r532", "r533", "r534", "r546", "r605" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r279", "r334", "r335", "r336", "r337", "r338", "r339", "r460", "r490", "r645", "r646", "r652", "r653", "r654" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-2-inventories-components-of-inventories-details" ], "lang": { "en-us": { "role": { "label": "Inventories", "totalLabel": "Total inventories", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r125", "r628", "r665" ] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Total financial assets", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r57" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r111", "r154", "r155", "r156", "r160", "r168", "r170", "r221", "r224", "r408", "r409", "r410", "r421", "r422", "r443", "r445", "r446", "r449", "r452", "r532", "r534", "r546", "r745" ] }, "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]", "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent." } } }, "auth_ref": [ "r3", "r11", "r27", "r698", "r699", "r700" ] }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForProceedsFromOtherInvestingActivities", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsForProceedsFromOtherInvestingActivities", "negatedLabel": "Other investing activities", "documentation": "Amount of cash (inflow) outflow from investing activities classified as other." } } }, "auth_ref": [ "r690", "r701" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation", "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r187", "r190", "r191", "r192", "r193", "r194", "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r203", "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r213", "r218", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r242", "r243", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r641", "r694", "r741" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Accrued liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r20" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Purchases of property and equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r81" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders\u2019 equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r72", "r98", "r511", "r665", "r705", "r712", "r729" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-comprehensive-income-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited-parentheticals", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-5-fair-value-measurements-assets-and-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r51", "r52", "r53", "r55", "r555", "r557", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r579", "r580", "r581", "r582", "r593", "r594", "r595", "r596", "r599", "r600", "r601", "r602", "r612", "r613", "r618", "r620", "r635", "r667", "r669" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r12", "r111", "r138", "r139", "r140", "r154", "r155", "r156", "r160", "r168", "r170", "r185", "r221", "r224", "r293", "r408", "r409", "r410", "r421", "r422", "r443", "r444", "r445", "r446", "r447", "r449", "r452", "r466", "r467", "r468", "r469", "r470", "r471", "r482", "r532", "r533", "r534", "r546", "r605" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-stockholders-equity-unaudited", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r2", "r11", "r27", "r444", "r447", "r482", "r532", "r533", "r698", "r699", "r700", "r707", "r708", "r709" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "lang": { "en-us": { "role": { "label": "Allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r124", "r219", "r225", "r226", "r227", "r740" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Deferred income taxes", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r8", "r91", "r105", "r428", "r429", "r706" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-3-current-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentFaceAmount", "terseLabel": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r58", "r60", "r266", "r474", "r645", "r646" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" ], "lang": { "en-us": { "role": { "label": "Accrued property and equipment purchases", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r33", "r34", "r35" ] }, "us-gaap_HedgingDesignationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingDesignationAxis", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual", "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-summary-of-gains-losses-details" ], "lang": { "en-us": { "role": { "label": "Hedging Designation [Axis]", "documentation": "Information by designation of purpose of derivative instrument." } } }, "auth_ref": [ "r13", "r440" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-7-sharebased-compensation-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r725" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "crdr": "credit", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-6-derivative-instruments-and-hedging-activities-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax", "terseLabel": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax", "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r129", "r130", "r438", "r439", "r442" ] }, "nwpx_statement-statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "lang": { "en-us": { "role": { "label": "Note 11 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details)" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17", "r665" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-13-segment-information-information-related-to-the-operations-of-the-companys-operating-segments-details" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r203", "r204", "r205", "r206", "r207", "r213" ] }, "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember", "presentation": [ "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-components-of-accumulated-other-comprehensive-loss-details", "http://www.nwpipe.com/20230930/role/statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details" ], "lang": { "en-us": { "role": { "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]", "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r132", "r139", "r140", "r435", "r636", "r698" ] }, "nwpx_statement-statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details": { "xbrltype": "stringItemType", "nsuri": "http://www.nwpipe.com/20230930", "localname": "statement-statement-note-11-accumulated-other-comprehensive-loss-reclassification-of-accumulated-other-comprehensive-loss-details", "lang": { "en-us": { "role": { "label": "Note 11 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details)" } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nwpipe.com/20230930/role/statement-condensed-consolidated-balance-sheets-current-period-unaudited" ], "lang": { "en-us": { "role": { "label": "Additional paid-in-capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r68" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(i),(j),(k)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(i-k)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "330", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-13" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-14" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480870/815-30-50-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//220/tableOfContent" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//815/tableOfContent" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r102": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r103": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r104": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r105": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r106": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r107": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r108": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r109": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r110": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r112": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5C" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480627/815-20-45-3" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r626": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r627": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r629": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r630": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r631": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r632": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r633": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r634": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r635": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r636": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r637": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r638": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r639": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r640": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r641": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r642": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481899/410-30-55-11" }, "r643": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481899/410-30-55-16" }, "r644": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r645": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r646": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r647": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r648": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r649": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r651": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r652": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r655": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18" }, "r656": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r657": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r658": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r659": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r660": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r661": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r662": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r663": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r664": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r665": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r666": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r667": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r669": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r673": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r674": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r675": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r676": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r677": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r678": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r686": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r687": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r688": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r689": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CC", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4CC" }, "r694": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r695": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r697": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r702": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r727": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r728": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 72 0001437749-23-030219-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-23-030219-xbrl.zip M4$L#!!0 ( .N 8U>,V\01C < -XU - 97A?-3@R,S$Y+FAT;>U; M;7/;-A+^W/P*C&_2VC.4+08 E0LN[7 MW[, ]6;)CI4ZN5.MB2<4B06P6.ZS^RP@=5.;J;-N*GA\]NJ[KI56B;/ND;^^ M^@[_ND>^L1OJ>()+P8R=*/%F+]&Y;20\DVK2&YKQH.'OU@"X_W%/FAZ=HLS1Y/=TC<_RY]48BMZ)< M6?!Y_V9P\?[BO#>XN+IDUQ]O;C_V+@=L<,5:/R]9X>/A[>'Y(;OMGY/D4E/K M^*09?,Y"7T7[WBWKO;NZ'O3?+:F^3LGC9IM=O6>#O_?9;>_F;>^R?]NX^N>O M_7^QWOF 6MK-9GO[7_._*V-E,EF>]")@MY&VEOV&SJ4V)F"1*$F.V93;SC=< MLN6A$BS492S*-WO-/2BB5,'C6.;#V;TI>#2]W]Q"8QG;%!^;KVL]&DHDML,K MJZ?S:S0CQ M;_7R6X?.]#3E)JK.C/,-5;U@*1\)5HJ1%&,1PSFE8;]7O 3VU83=B$*7ENF< MO<=XWORMYO=_^[G=_.7T=Z83=HGV="R,9=>R$.Q<9P7/)Z?W#8 KO6VD&>>. M.]__J_I^>WM\_RTW\'CX=C9AGW(]5B(>BL!#H/2.'VM,FFO+(HS/9<[@VZQ" M1*\$E.169,B2! /.,MQA>L42'N%1R70F+;/:RZT(Y"(2QO!R0B(9_R0P[\*8 M!L]B*(,I%7D/S4$"D2RC*H-8CN[0!'[-QJF,4F8J^F_>?RQ*40]""\BD42!X M\',VEC;% DTA(J<@C5M -1UCF7A#,$HX633##LTO%FRF@"_%4!I;PA",TT.O-[0,%G!K MILJL:+N#[DN%[H_; ]W!DI\3NVS]=&IJ<-9E$R4NG202M_OFP('@@O%2.+@! M/I+\"[!@H*+P-6E2ZD%B&?(VY6ZZCZ6)E#85^D6N,%,>=T6I(Q'CL6'[@%DL M@%N/I?Y=E/)\*%@/R?*F4L+4+/B8-UHG^\*KTCJ)_9V_E50ZYQ[T- FCM+H0 M"SPV2:'-9DN69DLP&ZWX?IB !)'ZS@[ZSPC]DRV"/M\>Z+\3!FUP?D=?/P_/ M@)AUQ"OS]"Y$<4,!E-4S>=*LJQ(#('V.I'%)&5(B=^/0!LT\G2]2@E(H[F!; ML^8YZH*:+E"C1&J'+D8K&7/K% V-C"4L0PN0GML[DI+32)4AONVBG7'DW*5P M;004LJ ,U*G@]-(JQ8EY8%E.B3EO1P]?!2P6+_@4"A($.4!_$>_(P$N-".&V M1H0G9]*5P/#T'/SD^("8,I(QP9X;G3LGY@8A@XIQB@6\C*>X1*20/)1*V@DQ M^7734I1R$';H] %F272AF'?$YJY>4%&5!:*#<95'% %&3@%7U@]%CH)"(4B@ M1104?4BDRJT/!(A2L@"MV(6"EQH*HNT)!?T15Y7+H(03D20HJ^4('F[6E,>S MLN$)C,#?KJ^8'?+1$=G<^+H\U)5]6(.G(/L36Q=1U%5$HH6J/&:43-M M+)[3T3;&,C 5^\.?=;']![HD" ?(J_>D:\4C@-3M_M/!0%[-]#KP6J78,@LD]8*\0A3"34J!FJ/ M)?1S@^PC-( 8&"(>N-+6PS2>B3\J"?5=[*KRR!T:'.PV^5XJ%=BB3;Z>0C&+ M5@G8T@XU;7A'4@!D-1>?;;:-!?]$Y-H7MXY>N[+"+2. M4^VS-%^*!$#NLU0!*X;]'V%JA]O'7)J13S,_./NQ_>SX6ZX_X:<==@F/R4)1 M>@L>!ZS=;!]O@,(EE9\_8BQ_@V6RPN86-?-OO!%J:W768:WBCKDC)E8.P_UF MP.COX)0]MH"3DZ^[@B-SY WMOOOL/TZ_ /T 0K_,;9X<\%??WY=U_=J6VQEL M4WC7)5/ KDM0Q%C0&2S1K_-4BL3KW+\3447[M?[VRI>-.[L^9M?]^HR(*Z^? M6+9A77H?_#_GVV?_E=+2E+$Q_ZC;/V7KB^^0Y_VGNA MLQWI9()+P:R;*/%^*]6YJZ<\DVK2ZLM,6'8AQNQ:9SP_\GU6_D>TFHW"A=L1 M-Y+GKI5KDW%UY,2MJW,E!WG+R,'0'67<#&3>(OFMXW9TW+T=RDBZ]EYT_'T> MV>((;0?-W7UJ:.\5QV\>T.6'.\K\\!1MEA:OEGMDC3^VWUCD3IB5#9]TK_OG M9^[LDNZW5/2'*IJWEPV*A]SD(O MHGVGQSJGEU?][NF2ZO=#89Y=GK/]+E_4ZUQ\Z%]U>_?*?OW;_Q3HG?>K9 M;S36]3$OK7!>8QUN=,[^(=6-S&V-Q<(XF4Z8&W+7^A.WYWBD!(NT281YO]78 M@B)*%3Q)9#Z8W=N"Q]/[YUMC+!,WQ,?&VTJ/NA*I:_'2Z6F#!WIHV?+1!1'' MX -=D^F2(S)1S%7E;DX7U=2-W?VW"_MRR3-&'KSU*T+\!1#Q[]+20UTV?W/7 MFYZ6?(ZJ,^/\B:J>LR$?"6;$2(JQ2.""CC(;,E_30YBV@FDZP33PA&"6:+)IA@^;7BN:#;P#-@J4R!UX(>G-\U !EB*/; M+/3+/*75G,0\,H]5F6!.8' !##7@5U)N+ A0C]%!:7F\*Z09>\LC0B22)JX M1A*E@@ PK0$\OYSU^L3<#EFJ]-A. 6_$0%IG8 C&J3'H#2UK"[BU4V56M-U M][5"]\?U@6Y_R<^)739_.K(5.*NRB1*73E.)VVV[XT%PSK@1'FZ CR3_ BP8 MJ"A\3=HAC2"Q#'F;-6+6,2_M MTX<0Q8T$4%:M%$BS+@TF0/H<2>N3,J1$[N>A YIY.E^D!$8H[F%;L>8YZFH5 M7:!.B=0.7:Q6,N'.*QI9F4A8AC8@ [?W)"6GF4I+?-M'.^O)N4_AV@HHY$ 9 M:%#!Z:&5BA/SP+:\$G/>CA&A"E@L7O I$B0('I.?C)\0$Q9203@CVW.O=.S"U"!A7C% NX2::X1*20/))*N@DQ^?N6I2CE M(>S1&0+,DNA",>^)S6VUH:(T!:*#]95'' -&7@%?U@]$CH)"(4B@1Q04?4BD MS%T(!(A2L@"MV(2"UQH*XO4)!=T15Z7/H(03D:8HJ^4('F[O*8]G9<,3&$&X MO;]B]LC'0&1S&^KR2)?N80V>PEGX3%K0H4/Z^2,W%DV/,WPP$\$2T.>()M^ M]Y6"-UD?\)X&7*SBBX[0JRK7]]P+XF=D;V+K.HY+0RA:H,;WS)IIZ]!.K[$Q MEX6IV._A71?;?F!(BG" O'I'NE(\!DC]Z3^]&,C+F5X[0:LAM[,Z@C*R#Q\B M\53%VZ.B$1.FY(U0U:N ._*U/VRB3> A^L3,K[X'-"_PTZF :-V#*+)/."?$(4XDT*@;J3R3T\Y-L M(S2 &%@B'KC2T<,TGHG?2PGU?>PJ\]B_--C9'/*]5BJP1H=\'85B%KT2L*43 M:CKPCJ4 R"HN/CML&PM^0^0Z%+>>7ONRW+]/G[XJ>Q9TJW.Q\*;@GGS+$PRT M8I9N'X1Y5 M&N2M&M B?+8%WORW1BI@U@*AE?E(JY$@5IOS0?7E%U,E:)$52D\$>L=#'5(R M7X(]8/I5*/^*8?]' -J ]#&79N33+$S.?MQ_6;"=PD];[ (>DT7"! L>U-A^ M8__@&2A<4OF%P\.'R0IU6]0L//%ZI)W368LUBUOFWR.V&,; M.#Q\V1WLV;U@:/\]Y_"Q^K+S P#],J]YQUS/LQ:;_WD'4 M)S*9)\@[K?H[;\R>R*6N$/]W5(7ATY4!;22Q&CL92I&&UK-I+@FWEZ&,#-^H M.M$&Z05A)/3U1&R$XV:R>32/N?)V]49I:M)TV<)5H;[S_YRPO_KOEY:63.2( MQ8I;^W[KUTZO7[_J?.S6/UQW.W_%8UGLO?IXUK^^TS9,ZT:/5QLIY[.KCQ>? M_C9?#1*0N^\"+?;\#[C:>_X77_\%4$L#!!0 ( .N 8U>(+QWW&P0 -L1 M - 97A?-3@R,S(Q+FAT;>U8;6_;-A#^W/R*0XJE"2#'DM-FB>484!TG M"];:KJ4 VT=*HBP.$JF1=&+OU^](R6[LI&GWDBY%!QL@>#SIGGOX''E0+]=E MT>_EE*3]G1<]S71!^[UV/>Z\P%^O72_V8I$N<:A Z65!SW8SP74K(R4KEMV( ME53!B-["5)2$^W9-L3]HUW,K74]OB&2$ZRX7LB2%K^E"MTC!9KPKV2S7?DGD MC/&N\=_M]^+^<)&SF.E>.^[O\5A5/MJ..H>>,?3:57_G$UA>;8%Y]25H-H(W MX1Z)\<_R32C75-Y+>#"<1E<75X,@NAJ/8'(]#:^#4031&+R3#1:N#\/#P2&$ MPX'QW%CRCMZXSN<8>A+T00C!^7@2#<\WH#\$\M0]AO$%1#\-(0RF;X/1,&R- M?WDW_!6"0616.J[;^?:W^;>YTBQ;;@:]XI (SFFBF>!PRW0..J?P84XDLEHL M84HK(36(#$8XYK=4:9BPBL) E!7A2]@W_GLO3SH=UV]L=N;Y!X"OO$ <=6:> M:^SNJ?\!,B%MF(I*)E*@/*4IA+32M(RIK-V/7 >)[QP!49"Q AW6Z$*:S"73 M#,D@/(7A(LD)GUE()5/*9()_XYD232&GDB+^NT#KK%8X';AR($R$UO >.91" M*0?.F416A'1@(JEB*$&.:,9!D40FMU0&&<92Z@T%)D(#0<.H,WP[4 U MEVJ.>P):8.G4V34UL_?2._[1;_@QM6*R):E )M*-Y^XZ&KTVP4(B8\*I:HT7 M!5U"D-B=,GIU<)WH[E>4K"9Q02$6,J7R;-?=10**HB)IROAL/5<525;S!M(M M2W7>!<]U?_#!ZI5QPW87W&J!0!7/G?&%X34C2R1G8JZV6"0Y8BP,*Q9G=H02^C)-][\ 28D*V=?H)8&2NQ=,#^USU1RBAIL"S M>8'5GJ!X"U-7ZUJ3]/'UIPCB>EZP^\U>" M)LS<7Q4>WD:[CEDF10'X&&(A!2I;52AFY=BG,L8)3XP=7Y@R^VISVJ/7O*BE M+_"ZLC'5UEE_^$S4_)PKYB_T,;7<;&W5.%H%S737RJ\QV!:]NQ9D76S;LJU! MMF*\UT6)BJL6H$3!<$]G\3Y>M>9_X,-#M0F-Y(\1PV.*_QL=V0:U;=6N&X^: MXU7W\5@Q/@;WM86[VJ\-+3Y$T'^9^?>9]>--99W"NK.LITU[^1V0,Q(W=_O_ MNOU_@KR?Q;'\KW^BV B9LAM("J+4V>Z[((Q:D^!RV'H['08_XP;>79U<7D33 M+5N>M:2XO6\T)SM,+D?7[S]&0P_T>VA %&W[C:;7MA]U_@102P,$% @ MZX!C5PQ:NW@X! R!$ T !E>%\U.#(S,C(N:'1M[5C]<]HV&/ZY^2O> M2V\IN3/!D#9+,.'.I23+M0,*9!\_RK:,MT\ZFFE.NYV&:_>>X*O3<).=J$B6V)2@])+3 M\_VT$+J>DISQ97O*TW?1+[;HW1#(B=%L4,B<\T'2A MZX2SF6A+-LMTD!,Y8Z)M[/>[G:C;7V0L8KK3B+J W>/64>>LO?YX>G5QU0NG5\,!C*['D^MP,(7I M$)JG<'TT.>H=P:3?,[.&@PIEU&T>O_"]/V/ELR .)Q"^&HZF_5=;<"N0<.:? MP/ "IC_T81*.7X:#_J0^_.5-_U<(>U,ST_+];^ Z?YLKS=+E]J97 N)""!IK M5@BX93H#G5%X.R<2F>1+&-.RD!J*% ;89K=4:1BQDD*OR$LBEE S]@=/3ULM M/ZC&;*\9' (N>8$XW,F:OAGWSX*WD!;2;E-2R8H$J$AH A-::II'5#KS8]]# MXEO'0!2DC*/!&MV$QG/)-$,RB$B@OX@S(F864LZ4,B?!M[%,B*:044D1_R90 M=ZH53@^N/ B)Q(=^9OP=$\K#/01#E#^QF,)(4L42U)8'O8S1%"Z8(")FA,,P M3=%">A9(KY"XK-D2$4JJB5P:XLR^%3,>H+&Y!0_*N51SO"G0!3J..W/E/0=/ MFR??!Q5KQFL,!R0ID)]DZ[E-0Z/B:K,)D1$15-6'"TZ7$,;V_HR*/9PGNOT% MA:Q)Q"E$A4RH/-_W]Y$ SDN2)$S,UGU5DGC5KR#=LD1G;6CZ_GN;& ==.*>GODC-R4BRDK%=<(A@,)S1>UY'"MTP]^O/;A2JS-L^/G@7&J78JPE5V;ZJVR M_I?Q8TNCUOIWR9B)U!C;?(>I3Q,F,*HRER]6&B?,Y+X2X[Z1LV>F">> CR$6 M#/LX4:*^E6>?2M?I !=,F%W:Y .TFG/G#06F.KNGVLD(1U^)P+]F)_H;-9"3 MFW4WAZ/.::K;5G[5@*W@VVM!.O_;E:T#68\*K8L<%5(X2'%?T(UMT5M0S5(XKBJ7AWSQ(;3/+=K5=6U)\3Y^'O/@ M_[U#P^IC(OYF%JF[%."*57<.4[&Z;[MEJQM=UZZN>W\!Z^;65>RWSB^N/"AN M-G]\N-\>G^'<7SJN)^P&8DZ4.M]_$TZF]5%XV:^_'/?#U\CFYNSH\F(ZWAG+ MTKHL;N\.FC@-H\O!]8\?=D,+M+NO010-^X=,IV'_P?D#4$L#!!0 ( .N M8U?/E"TR,#(S,#DS,"YX=I2; &J-38KR4G87W^ZY0LV\0VC M)&3P$\9JJ;O5GUJMEFQ__>5IYA@/E OFN2>M[EZG95#7\FSF3DY:=T.S-SR] MO&P90A+7)H[GTI.6Z[5^^?;O?WW]CVG^2EW*B:2V<;\P1E/?M2D_\V;4^./[ MX,HPC<[GX\//_6OC;G1J['?V#\QNU^SLF^:WKT_"/A;6E,Z( 1*XXAANG+2F M4LZ/V^W'Q\>]QX,]CT_:^YU.M_W']=50T;9"8LOS7^[L"6KM3;R' M=EC81H9Q!9]ST"NO1EB:JF)3EDT-!6E"R4VYF%.1DE]500V@N(W%6*=C=KKF M?C>J22T[FP44I%C0)VN:0PDE*5*'N7]E"P)=>=#&XGLB:$3N$F:)[*954:IM M]W'^E&H;;K YW;.\F:+K'!UT(EK!K.QFH2#5J. R)AP3<:]DA9NK1"M]G"0- MBM(5Y)SG\(>2%*DOS DA\^6>GEDZ'#+=HZ.CMBIM&41*SNY]22\\/CNC8^([((WO_NT3AXT9M6&X M.W1&79DB2!1+PB=4WI 9%7-BT5+S@VKS3_JH2]V25Z,\& M$B2<2"7V,;VZVH#QTI56XAN1X\5Z7#,<2R''9_1MZDBA?$U];9>>KY*V$3E> MU-1VQ2=54SGI]@*UHV9JZ/[,V54-+G^. MLAK]G3-O;6!TO+.>#.613YXX9375?U'3PZ;CNVHN-EDG_K>)DXUCNFH^-B3' MBPUL ,/GJ,T]A[9=.L%(O=H(=#A/U<)A>(03;/?3JAS$=3VIFE+WHKOS.7/' M7G@+;F(\I<+<6+ZB+J3EH".MNAH=:OKHY%G'75@2J6 M[RBK;*E2-AVOJQ1482[;8IWFG*ZK$U01$'W7LA0V, ("@\$R$@)AJ0)YT_8L M7UW DMV$7R87)HY%/E-<6@;6NQM&1=AY9"BJ&(:>]7KK=HW MNV9X-S)H-3M;GFM3%QK"*^$YS%:>.B80ICGD41X%4NT)!&&-S9N8XF,#W>12#\WP"DT(^ 1)@"'7N@,,[A M/WTM")7PU@6F_3I@.DW*!HX(96M@56#:>^*H%(V84@KF#2)I:<*89)[]E[()8Q5&(9'TX#N8R^DLMH<+2I0F7)CT;Q]CX%>:%(M9ZP+8QSISXC AVD_& MN9*MF1/U6/:%_=D&DNB"W*>7@%SCV-8,N8F8FF/'>WRU=6(F1UV8^EPKM >) MC N4J'%>:$;7D]3LFM#!Q&7_* XJ]P.=S)0)D[QK@V4]+KH \@4S2TQ8CB=\ M3N'/#8AA8'KA-B&( 8) , 6"(#[Z"4%V'!7[L"I_@'\>9[3^G)31E"[['F7: M%U?\ETMN.V[$@WCY8M-[N9D55]K29,9N)].,N-:.EC1GP&['[7AH6IS"9&62 M":?J_F:VS&A/ESV[F?;$5>VI8FGT(I8[;M./YI@P;CX0QZ?FC!+L+A6H;&;: M_&9U67@_T\*XK+P SL9_D;-QG>"\XX;^! Z3LP=H7Z6ZA>1^$")C##2E]H2Y M$Y-84,SDQG/MNLQT@>(@$Q2X\#N+Y8&).99'Q5V_!?(8O5B>'8?*9U-,85&+ MG6JK/1)8T6B(O?.;U67^PTSSJS4:<4M_03O,F%P.3EA(2Q@, MU+4V=@)EC>NR^L=,JW]1J_&8OQKIITG^.V[Z(Y-36*#X=#,C+YO19;$ M==8@X+3CANMVHIUJ29XV':.KC>DRXN?LM$='K8O55O8(^>VZ*;L0!%G^#)6" M.=&34\I7#B5 !VYJXHI,=)D^)^.%*[+>4@[C%N58.>5P!7+L.B3V39?*:%#. MP50J:-H0 CF-ZC)Y=A),+=%NJ(Q&?!_LK>*P73?Q@2GH1/W7<5RRJ$U-!M[/ M3H^IY=8P8-L1/+ 47\JSZU#Y: K_7M"_?;R%X>V&*=6L!G69 M/#OCII9?PYBGOHA;U&/;HZ./AITK;6,:'D6*\ZUO5 MN77.X<,(;\D MS $'3I^D3YS7.?W\C*M&O.3L#%8^$&U\. N$,T:!<+L.I71J".=^SZ7ALP_) MDM"F.O-0Y2>.4$^,:2Q32*3 M52%$*!7.3A=(;AN M833B3]/C%^I @1(:(_A?46CCPY62^N?&YY5N[VCU;M79:,31^L]Q-"ZKLMWR M[M,GO*9ZG-3F[#7"*3L[70BG@J+S0-#&$96:F@M?34IS0:():?'2\"KDJ1%3 MV6GO$DP-AG=JRNL/>]%TMVAP5.UQ,;W3VKK,-"(G.P%>^KA:,\/EGG7HZL5& M4<,:<9"=STZ>I^@V-L\US?Y+V?QYPQIMGIVS3MI\O[%YKFEL)LADPO%+ 3C5 MPX(V+M$15*S#2!\FCK)3V$E,J/*$0+@JCL]<-=%#UH.LFO?-2QK7B(:M*5;0XEU>03R,*T#],92:H1U=GYZ'5@/5K1IP*WIO*O>^;HB$XW0RCD.G7\"MIF_*YE, MN0+\BSOWELK4V,SQT7,\4C:9X@5YH)Q,J$KI1!EFT_.E^I@P[H:-/1[F=_SH M\6@(\<,[Z(.6GY+1XQNW3!F-.%_WI+<9N#^\@6<6+)78.@N4-GX/E39Z@=(J M P8R!55OETH;H'28#O.C!\K/$DJG/KW3>-JB$^#):TZ#.5AZ)LQ;2>3 )(UW M<%HF[D)$18"WL$U=(^65A-0X M8\\&ZF_@T"90SI&2!Z$K802."=TT"9GT14 M!F@/FVV@7?"6 \T!1 4&&B&57$% M%_Q:XI]X^G=YUN34@]XCKKP&)6;^+/EV_G/"71AFXCN%<4HO74E!9*G2+&<4 MQ+>88M5S[=X,7V'R3_B^'OPBZDGKY=DPQ\%G9DY:P ._7 Z(D$SZ6/HK]_SY M24M]TOV8 8);1O EQ^ .S*4 %KZXA!+LUI81W \_+G32"H[J1K>#CPN-5 .V M'SBFY!=8U^OB\WLF;5*IFV+2-U$U^+B[S-*4 '].+!D)E-!\3#FTF-S@[0.G M:SJ[IWRI= E5'7UMR8.O-A_;WHPP=U7C&E9,H>^"N=AC5Q2_$(KQV>WX3E!U M5C4;_S5KOZ"M;7J_/JKS;1U^&!2T.U>?!;U,OK4K[(5BFOJZ@DS@-.K:.%>G MR!Y*2AU\P JGGC[,CFD(5R'<"A2? \\9^ME33P#HSON](=!8<&, ME/8B5JB<;GL=;BS\B,WHR$._XE!)(PU F1QER^GK*QU)KAVD%S!/LHE[_F1- MB3NA\/>1<+N;!F@9T5N",U&[6P=9-"[N##Q>/("P(Q1ISXVV/APG$4+9"C3JE(O74Q#$HNLD07 M2=UR*=Z1/KVP2KE>"+K=P%E\:RW81O;EI*)^Z9/N5IB0U,]#/G%):Q,J7WM.Y+-';8, M-:L0;A9Q@N@XMC<&<4)2M06FQ!T1/J$2PS*G'_"!Z"Q#M_(:+ZYDG4Q:W^,2 M\&#_1OB]QV\(>!?B<#KT )$PR7%?2$I/ ;/@;M)+B%HUMW*YE-9DZ$.#8UCR M#4&((I6S";=30TXAVI:7[I@33 +C)$)5LBQ.+RW 7#.QHN_:U;94>]R:E N4 M//*XJXH64&RE3LN34-0>>=%V1OAP7%JY:J3O0,L;*H?$H:)(O6T[N,A7R4)QZ28.[T6!TO+H M7G":!0^PJ+?6X5KXNP.Z15VAL;W-^D=&+6GLHNC-68OP=4I@XQO/#?^4]<=Z ME;=/^3N07Z@]@5*PQV&7B![I+.L?ENI@AOJP&1L$#Y2YN!(;9"G^X8DIN[O8X1S^ I-\72Y(^6:BE%QH2IW?<'HQ? M@J'*-A2*'LG*+D09T5;.W2#T_M&G4L6*:+92K]^IXX@+0)CWG;A_W?32&N66 M;J4NR_-D;_"<4M!A;RO"UF77-^Z.S1^WT607#8+\>-:)WIFMJ8_CYMY13VW9 M0P>EIM@Z>=^_K:N.@K+J[Z@G7NLIA[(N?34YWKUMJH*TI/;[Z8>UW]!>TC/K MM_=>^ZHB5'(JO1^M7^-=S"5]^"HB_ @6J8C)"@V\G][0_@+N* M>*S=[/OIN;IOHBSIN=K-_@@]5_EML;4[L3J''Z$_*X[6"@V\G]Y8ZPUN)1VS M7EOOL8\J(B2CPJMI&SR%*ZPIG1'X^W]02P,$% @ ZX!C5Q%N1213"P M=I@ !4 !N=W!X+3(P,C,P.3,P7V-A;"YX;6SM75MOVSH2?E]@_X/7^ZPX MEW.VFZ(Y!\ZM)X#;!$FZ/6\+6J)C;B722U)VO+]^AY+LV(XN(UFA&*! T23R MD)IO.!P.9X;TI]^?H[ WIU(QP<_Z1P>'_1[EO@@8?SKK?WOPA@\7-S?]GM*$ M!R04G)[UN>C__MM?__+I;Y[WF7(JB:9!;[SL/4YC'E!Y*2+:^_/\?M3S>HY+[]OC1>_X\/C$.SKR#H\][[=/(>,_/IK_QD31'C#!5?+G67^J]>SC M8+!8+ Z>QS(\$/)I<'QX>#)84?^B 9&Z(>G M)X<#0S< GC6-*->>+V"HN**!^4V)D 5F%+TQ"0TJ3TTIUVWZ.7,] [Q:)92/N##2GX)/3C,)'Z M"/[.R W6;@22,DJ?-87>LO%:\1H*?TMLAC^UTML)4>-$"6+E/1$R2_@2&BF:13T!TVIS=@.B,Z$DI]I?IV M\DB>BS$UZ<4NT@!T&V86">\("V[X!9DQ34)@-1+\00O_1Q$X=$.[>)2".5S$ M\]:''?!5,0?R:*QR>4'4=,@#\^/JOS&;DQ X44-]0:1<@K?P+Q+&M(#[6FWM MH@*=9#I*V $&!=? #CA 8&2*L%2WL(X@FU6E0U! 9IE7KB7Q]7>FIQ>QTF#E M9*+98.?*];]&R\X1K1:J97U(14VM8KJD$PIO#])E"%:?C947Q%T !]G**I)K MQL$[&\&2"FR!O_[$P/5)36DQ$%PCJS@^"Q$L6!@6<+S[L57>;O@<%%7(9;%$ M\TBL\KBAB@4LYE!TQ2&L*HF9GHH0=M/*+)AZ6>GMY *L+JMB.8_4*L^W,Q,I E]I1(FBR#42U\@%'%\% M]YM >=VN0S3W[&D*&\YO*EWO4$@*VMA%8;;0V1)=.0YEM/:YWO224*R7-K#* M_YW,7+[*S4<)I6V.9X0%5\\S$^J#%7-#&1<2KH$ML^S/ MS.:TV!O#-+&*X9[ZE,U-5%)5[@-+:2USK0FLJ<$5D1QLH=J(Z,%6B/F%*S*^ MH54\:)^SF9>Y$:D?2K\G)#0_ZQ_V>PMJ%I L]93V0Z3_*H2_G27)* 8JCJ*D M3P^V;-&J_42*J"IT)O:(+<#;4>B.7$!7O/G"PCAV 49M XQ%=^("N@8!4BR^ M7US AS#;6#SV3$8>$(3WZ)YUR /2PLRQ9Q?R#0+6C7'/$N1J%GY7Y=[4SP.4 M'Y7$\OYKI[S7B0&[9+A*(FH;Z"K#6"Z9,!PD3'F#2W8-C0I3^>"2@<,!JY_[ MH,*#LJ/6H,4;[NG:6+4@>LEKI6$<-2*$#CHB!.FHO M=L2A-\Z#I#EZQ)$Z"%I33]34FX1BH5H\"(%_17=G(.KRB#O^\%I8Y@GXK;".^BQ57AY<,V[.7^3% MQ(:1D)K]+Z'<256UT)/="O -!FXGNQ&G@CPYZ5MY)!LO;S#@PR\3<%.! M;%< [NK+ZMXY"I1N9$ M*T#5J ]'4&91U]K(=MIUCV8GVKJ2_$N8J+*0N*UN.Y9%84T$&G9E#QTC7-5% MU!G*G#8=H\C*(E:F/;<\ @VO3F=6<9N: 5BG[Z28,W LSY?@N<$REBX$,'^& MOF;SLEE9OP,7\!EU4WH/?"4=N(!O;?^:XBOIP#:^EYA?,837-/;KC4V\'"29 MLI+-\ *.*^GM<[_R\A[%T >G7=+S6#%.P3(5B1W;S&[5;L;/M9"@TCZE@;J6 M(DIXQ4_ZAKUT@O2>)K'R1P';#N,1F*@0< >L/TP)C >L/X&)H8-ZY6WHV^JN M$^QKK2LL6:I B^_ =NWY6NENE(K-INQVLEE<4H0+W; S/"-C'BJ.5E72=\;] MAF5(K '>46K8B^7*^UG&&2@-8IPJZ>W6V=>Q=\VM67?)G :^FF@Q9-L@[^,Y M)HLV=V@N98?VDT:=>+=+Z>BV=: T>.92WGH_X+6BU2Y5%;_!>#>.'V+E\@_G MY8)9";%H/[AO^I%[;RSB?[J/>(_\!U8*I^]1"L@X.MKM<=<%1$3*T"C?I7=7 MF%YH4*ME'759Q$GL']-X#VX]4@3U0I(-''A7@>\5L'2I7K%!.FG[Y"(F;O0> M-!Z)&!F!>0=[U09#C(EP-MBONCK6-:IS&FQ6747=3F+B'6QC&TR VG%DETQ] M1]6$8B\OT[D">&>EV)HNVEB3G)5B#>?MK4OYN=#4._;8RU;* _*9X*OZ]>B6 M/Z_!+>+QGBR^@,Y(1L)Z0J]LV V>AW@V"].#S7@LI8VZP?%=R!\FR0>^DZH' MIKJEF\GBW#F1=WL94O-<S MZ9XP&Z[$"5B?3O="H7;] E239MZ2/89L.5BV$5GRR6Y]=DXG0H(*^B%1BDU8 M^GUFZUL,AAJV%N-8FQ3 M[+:!LE>XN"0*JNGK4D8,88)W)Y VJ37 =F M"F9$"*P]W7#8,5)5]2O^6I=*7DLH M.SF<*+;YP9U0+&]DV8>>4Q[3E4'9K=Q;YUM,"1_\"XJ_(G:/GNP>:*&)Y4N_ M"CR$M6X81";FH\V0S"M&L%YC-_W_O(53M#B.3CGR%6"Q7H]+*?XR$R@0_I%3 MXX,$TV3>.56%:L-W$TC7PZVD@U6Y5+H/;N4L[,JFAG?BDCW,=U]%!_LFIRPK M4BSHDVI.A)FVJ%C^WS^B4 MD+F\G-,@F]CFQ(H:!O\!1S[[WJ&6 M#B.7:P=?&4.:*3%N*8/\=$,=\C// "%L;&04S% M#[^0.>QTGJCQ$2.09]I0Q!I>P4TLSX/MC_$MLXU1UHG*GI@*H)>\9L.R*C>Y MMU:#Y3)\2[N![QF@88KG:QR-J;Q,T2:GS=3M"ZB71:O 8]BS-ZL^4RZOMY,B M;NL@KN[%!:2OF#LWZEX/9WD?;J9:F@Z9:$4:+BW4;R6)NC,>L6AG'YC_P"I3 M>/)_4$L#!!0 ( .N 8U??/KOV=#L !@V!0 5 ;G=P>"TR,#(S,#DS M,%]D968N>&UL[7UM<^.VLN;WK=K_,#O[F9EX)LED3IW<6[)L3UQWQM+:3G+/ M?CD%DY#$#44H .F7_/IMD'JS38(-OH @!U6IC"4!8#>(EZ>['S3^^9^/Z^C- M/>4B9/$O;T^^^_[M&QK[+ CCY2]O?[OQ)C?3R\NW;T1"XH!$+*:_O(W9V__\ MC__Y/_[YOSSO,XTI)PD-WMP]O;E=I7% ^1E;TS?_?7K]Y8WWYON/__CAX_SK MF]]NIV_>?__^@W=RXGW_WO/^XY]1&/_Y#_F_.R+H&Q B%MG'7]ZNDF3SCW?O M'AX>OGN\X]%WC"_?O?_^^P_O=J7?;HO+7X-D7^&X\(_O\A_W15\U_? A*WOR MZ=.G=]FO^Z(B+"H(C9Z\^^^O7V[\%5T3+XQEC_A2%A'^0V1??F$^2;)NK%3A M36D)^^_#R7>/(G@+O?[F3=YUA/N<1?2:+MYL__SM^O)U7X1Q M\BX(U^^V9=Z1* *1LQ96G"Y*1=UUH)3@1_GL_WU4,WG:P# 0X7H3T;?OF@L5 ML#4)8V]-UW>4UQ2OL(W6!0W7-)8SQ_HDU)5:T MU&$?TP5)HZ1Y)S]OIU3@G;0O197/BA\VX89^Y[/U.[F.??_IP_?O,G%A&4@H M/"GQ8I90[^0'CU-??B2^S](X@774@Z43OMTPGGT*Z#V-V$;6$<]U@X<\>KOF M,R7::;U48^B9, [EFO4%/FY+2[5,ZIY+1Q\3"KO'=HW;"1@Q_]7;%[O1(ZC_ MW9+=OPMHF DF_\BZ+W__-/SW.12SOBVL\Q+ M4SQF.Y'J"UV2*'_VY#$4!8*5E*@MTX*(NVS>IL);$K+)!:-1(G;?'"32*Q1PZ@&5_1ALI\6<\YB^-//9H^8Q,%T M1>(E%9?Q<9DP]D.8LF*O0(FJ;39MM$]N=@L(+#_T$OY\.?RJ"_8C[RVYBVB5 MK,\*J>0\+,,3[K]A'$#T+V\!B.=;VC_D,*;!+V\3GNZ;V^Z6-;'5@K,UJG-9 MC?D$3S:I7PF6RE54+5^L:A,PJX@"8I6\KN?CBR$6:Z1&)ZV_FN>[6:UW4[PE M-M5H^R6+$QC4YU'6KP"5Z%+^H:WQD8U49XJI5@[#LZIZU<"L!ZS+/>K0(_]\ M5X!FVP;V'[SMJ #;?\'X.C/U=?&[LA%3,!TAA$/C#HV/&HW?Y#/@>F>9%LA7 M!N_P-1V6=EC:86F'I1V6=EBZ32RMO049ALHGT@&JV: M-UI'+HVJ%K!3*:'@^?RQA&$[V"L58%3+'5G*7@<+7# MU0Y7.USM<+7#U<>ZZ>V@9D'UC]Z"A-R[)U%*06D60513N4\FP[BO)G MSRD/67 !WQ5A^'F9A&=;%%C2Y[!LSQ^7;[@0TV7 MH73_Q,D569=W;7&QSJ6[6=$HJIK<186ZEVQ-HN@T%0 .1?E&4EBJ<]ENR>-E M(/U(BS#/SU>Q^%24'U74$2$3DRZ1%8O+U^RR(AU*=4/]E$,GG+R_NPV30MN^ MK(@!J?.TOF-1@5B%O_<6\?MF(F(H/Y2+B]5Y M4QW'Q="^3J;C;33\&LMC9+KJ(:QQI&[O+=5-!?N0JGVP3C5%, NITP_6Z82+ M.R'5^]$Z]9#Q*J1^/UFN7TFD"ZG=1VNU>^WP1ZKTL[4J*4- 2.T^6:N=(@2' MW;2[9[;4'HW*P!A6/UM129E#$:N7K8A$P\>'5=4^A*+AEL$J:1]D0<9:L0K: M!UI085JL>O9A%GS(%*NC?<@%&\+&:F@?D"FGTF%UL@^^J-VS6)/IH*T)1A/BQJMF*3A3Q M5ZQJMH(2!*4%JZ)]J*0JL(_5S#YLHDN*.VC:\;$:G\5@;$(?R;\$B\(@R^]Y M1R)YZY\G5I0FPO/S!=#;9)XA+XU)&H2RW(;([U,'[&TKMDD4;;^U7$-?5I>*\X *Y7 MV71^W-UV,2=\QC-O2Y#E))E3GNT@)4IIU.Q+HWP#G*3)BO'P;UCW*C4IJ]&O M!I="I'CIGY?N5_)R&K].%:,ZS*$9"IMK4&=2Z%7N42_DU,!5ZET/Y02IKM"[ M_-73!%G+)6L96;*6;X:ZZ9*9#(^T:3R92?CMK. M"*2>W<E5X%#;R MY*F[\$SS1_<6HFE+]!IAFEH9;RD'?"KY!U,69VGZ)(N^,'2B4\5LUMYV=6@M M)-1,E\M8P$HE1])U*/XLB!CI5#&J ]A!-%S&.V82?'P@//CZ;.E\>0$'HHKA M/,H)A<4YN8;9?/- -DKIU86-RCV3]V467+OTA0DQ)6)U ;;JKS18TL\PTN67 MDP7(#F9J1(38,\%OR>.<%*25Z/@IUO34/'?J@,F:E9+,7 ZK='ZATBF-80]) MI%$K0(4:752G>;/NZ5S 3(8SN6'28"N6J"T]VZF[LQ0P<:ON[4;6',79_=<7?B04^1>!MHSV[VN",BS)S. MH)Z @IK7E=1JMGLW>P.QW$D'=])AU)?]S8XFQ70?A,J7]/G1M)@M+L*8Q'Y( MHOU"*? 7!';U&.?.&9<[QUTJZ'BX_9M!??-PW:6"[;LB]"X5[':_,HOS/^P/ M^0;T;J\M$LT75S:$V54/=\A\S,C\];B4W^0.PG!]D69%E"'1K,[BF/P^4JV:X-\3)S:,XNKLNEU*QJF%!TEQRG0P?W2X$[TP7*-NI7NDPQ_.)@HUY5NS;3WB0'YT7&VI[V M>22K9A.KY<"PRFG>SOIB ]NMQ9&JQDS6C5/%NLB:.*^L'*CU-HI& [0EAE.+ M Q1E"UHW3JLWN'(5!S,^V]CP&XW6EC*HN/"Q"Q^/.'R,\ F;C0'_X/FP08>) M1W;P<2<-,@Y_ W&@^T,N)8(^P>-(G%!^)*=DOC/JTFY;.J2 MS7V5@B='?DKX='BC\.'?7\ECN$[7A?*5_MZ]5+"8**4J^KUSJ:[E4;2"<5_X MFQEI2GNHX%=[).HUVC'-MI8+XH=1\3)67;!'>94Q!%71(EP,,")F"_0,K2K>N^Q?)$SERO&/K38&77J=U]?TGD7W /J>RZ=D>*#J M.-[/"'@_C@-AI;R. V%#"'HT'(AB2XU5F$PV:8 P3IB.06"C;F-E<%3"5587 M%@Z6R8%#\-:%"-!OAVEX^:R*874Q9D?&[1C2(SLY MLM.(R4ZH<)=9NM-/,*1VZ2>]<$\I%UG:MQ4-EH ./% GO <)J,9E,TU:-T24 M:B2=8U%]@RRJXL3*)^7\)%2%%@0[I,VDP2W;90<^?]S(2Y/*Q=.HUKJ05S2Y M(1$56.F*R[<@UNV*GGSZX01U"0V^0CN"O?_TDY97-$EF.TKS"6JH,%BO+ M&J:PN%NZW"U=W>L@)G&P'>V3/ B" O*]P(K9R'616KHD:-1U5[IN[-6\[(G:#1-K Y?-%7;AGN97[ M4E7Q(ZWY:L#9BE"@O/TSI>WT'5_(^V]WBKEQV%"4-$T!?7,R@SI)55;QW MV2ONR*NJ,%3YW2U__=-O'=7242T;W"6E8>8P[5W/%@6)\8TLR[R63G36 ,WAE4A^O96(1M((NY"5?3JV>6%JJ:3 MRKD+54O>L&Z4UCI%=1;B2E^"6:YNVZ]1(RX[6%)R&W$/ZY;C:MODF'E>'2@> MS"+MYRNU;M8B##.FS>2Q>B#N7V3P+3[#4:=G*)SRA>,KTGLT^S[B?0W*)G0M9MQ.3!=#DR7 M [-:,@U:0#;-*O@OA65Z(FG.%M.C72ES&]!@RD0B;N3&=2HWKCEYRO!#)>NX MG58=755+@^.%7G9N\5:!+&V60K,?"\>C9<*YG,O9V#A]>C5>LLESF$&PT44D MKKSAM8C2>;7S'68B9WAL&2CQ0XU3K_6*>OD6GB M)ZLUX,0?'VG'A0VV-7/C05/BP34^> MV0CBSS+,M@Z30[8F.5Y"6*IB7S])%;(U0]%$+6E<3/$;C"E^80^4_Q%&$>RT M24(_S]P:^$WS%^19*4DXC3&Y9RGXI;GHJ$TBE+80A' MY:+6;Z5U%6Y2V/L7:1S1,]DM">4;PI,G"<%*@HRJ8MU']^@& MWN0*MI/)[F;2E_(4SO-:=<>A3;]W_1TV(H#IT^-M")^FJ%XC+CZHI<%Y?!]R M%LM>)M$UC*<@S+"<7(@406IL-6MT4<:R\!7'HD^OJX,\MO!L.I\^95MV9D[L MOE;>/ZC=0(_Z;4537^!776.X&KBHKHOJNJCN(**Z2I#/&N%IFU1ML(^P&HNV MC:JC 1RK#Y,&%]K&V;G6N&_KS4:FZ=ZQ*M#0^B)E0Z"P15*&GEUFS4BNL<*P M>HXTJT9SMXOQR"Y5JVOT63?(,;BA>'3K.[:M'.Z=P2X;LABXV+^+_8\X]M_$ M*6\VU/_)X_2>QH=>0P;U7]4S%+XO>:X+U(\Y4.\B4/+68SGJ+V!5VB7U^2-, M5E. -FQ->5644+>Z\SX[[[/S/@_3/^> L0/&M@+C>ON064A\\KT7QE"*>@EY MU&:[EM0V!(^53W<@V8'D48/DRVSHWY)'/'T.4\6!80>&'1AV8-B!80>&VP3# M^+W', !^[\4TV0%)F()Y D9=(*QNQ10@QDCA@+$#QJ,&QN>$QV&\%'/*LR.G M5:BXLKR#Q X2.TCL(+&#Q X2MPF)D1N/83S\HR?2.T'_2N57TH.]EQV+A6?W.;NOA?.*5>L4TUX6!F?=:BW9UIE+U6^E7,7! MG&QI8Y2.Y$2B\\4X7XRMOA@D:#'KBWGOA;&4AO&0"B^1O:[+T%,U8<@;4RV" M<\>,V1U3DB/QQE_1((WH;'&Y'1Y/TY1S^&L2!UQ*E%!0G M$L1GQ\OK06!L'E*1"A0P*F39SC<[7"WP]T.=SO<[7#W^'"W@:W3+"3_ M"<8>#^])$MY3+XP%=&F.6>6=0J#C$D3VB \_9PK5 ^K-'F((OKP?N';AW MX-Z!^V\!W'>R?9H%^!_SH^)W\GI6>6GH_@;7>E >VYPAT*XGCH/G8X;GE724 MW^)[*A(:(&X8EX,JOV%\DEM\3SITE0X>U).=<@[SESU1>D/Y?;@5]_4%\%$F M%_PU6UQ3GRWC\&\JM0Q9?D$TWE[IZ'G.;G%VB[-;G-WB[!9GMWP+=DNGVZCA M0=TB3:HS7&;6I-O?'E'/A"NK;LAD4S_>F6AC-M':2.! EDL.DNS6K6PHH:"A M5EUG,3B+P5D,SF)P%H.S&,9K,=38$LU"W9,3C_A^NDXC^#KP6+*B///S<[J2 M(_>>>M")-6E)]1HWE>JL@7 .1(\91%?&.:8K$B^IN(PGAP$TD^-G>CQ\\KS= M,I"I$]IHIVVC*/":^A$1(ER$6V]'FLP6"/%1Z+'=QIW5X:P.9W4XJ\-9'<[J M&)_5T2&4&%!,HDOD8-@X*[Z5I*8QAFK,E/&E(8PSML9L;+7)I7J1%5Z>!/,G M<7 61BG,=\TCV[5:<_:%LR^'L"V=?./MB?/9%JYND82C]P=N^>P"=&0FI M_A$-5%NF@#1>%H>C'8Y&X>B;?$!=TPWC"AO 4H/$X=\YSI2I>^YDPB6/+;P-IP(*YK\$-"%A M)#PY;%*R?^M8B-WP,:;0=RMB.F ^9F!>PB:Z2N7*,5M\)7&Z('Z2RMQE%\3? M)C9[(8M.%:,8;R?3#/9F(E>N[6)5!J$KRSOD/[(KPQW\=/"S_CL:&_PT1Y# MJ818(42L(XS#O=\@[CV#87'( M]35E]S0FAGPT[Q=7?Y05[E#=+A7VSX90$L_AWPD,)6V2O MGJ"TJ*[>HVZPD=/)FJ4'%*C4Y77Q'F6_(FOU=>95Q8[\WL:\83VXI7Y\R MSMF#I"R46<_E)9UK8@1!2>5MV"_%K;XYNQ^I;Y^>WX6MEOMEZ;XE5RX?R OG MAR9]KZO?\=ZM EQ7J35=G5Y06'(J_.F' NVL:*(* ZTX5@-NI7.HT9?O+8 MJ%?5KE9^)WW9)C*X +6VK2."U$YFU@M+XI5\9)VUI=N6#R]C50UIK!NG"K6 M1=;$767E0*VW430:H"T%B%H*1G?G6D.&";] 0RT57(,=T<4R7YZO/E,6"16$@$Q'M#E&?T@7C M-/. 4 %(X9&*,PJ[CA_FUTG$ >RP/-F>-GBAB\E'=DIAN08<'W)ZC-)P;):" MBJ,EMI0(^P>-(G%!^)*=DOC/JTFY;.J2S2,H@B='T1/X=)B7\&'W%@OE*_V] M>ZGRB5(N5='OG4MU+;.X%:Q>A;^9D::TAPI^M4>B7F.PTPPP;.G'19M1=<$> MY55&-E5%AR1SK^-C[,R]/ZC< FDPR7?L'>200BE40M0RJLD7FH $8K;(Q\\L M3< RR$-5*BXBMII97<"DW$E4)G=!D=YD1*R=5<5[E_TR!L.1"'I&\W\O&,_O M@[NBF'>@TTSONGZ1)B]7KL+8:F/0I=?=I4BX+<;>^XRF9 ._)$\:^E4UT;N. MUU1V/4C61,OJ1GK7\[&BIKM6=4^VMZ MSZ)[^0Z>CT05CQ=5Q[&[1\#N=DQ7*^5U3%>CBA1[AEB%B\8F#1#.$*;C@+!1 MM['R="N-,%;7 !@L7Q=GEUK',D._':815;"*J=3%F!T9@W=PHU:Y&[!:5H&5 M8[;^WC@R"J_CF-L[2'O@F-O#VE5$:*T9E64F :L,>5LUWK FCPV;$]; #WU OWXU%DUQZL:+"$>><1'W[.\NLV///3TM,,'0AJ55IW M6N@;/"T$,!M6O?C\T<]N;8>/#X0')^4G.% 56A#L<(TZ#6[9;BT^?]R N5Q, MN]>MUKJ08*GP3K,^&P%5;F4L14&;(./1\WV0EV$3[2 '4Q"C>:VN$;ZTGO*R:%(5%% M*F]U<<.R"X!=TG3JN)#E+W7?;!@5<0H45Y^F-+W^@ZN6!SLET;ELJ,H:53B6;*B?,K6 M&TY7,FHLMUR?K:G<:0MMB3R\!F/@6IXD*PH$8\VJVC' MBZYNW,2ZY;C:-CD^(U@=)A[,(MRR*6?#2;0.)C62S&%6SQ;G-,Z7:-VL11AF M3)O!9.74;<=<'0ARJOU:$;0YLZ=3W+D_=^YO?.?^RT-3Y%HMVOHO$A-N=S) MD&_P9,A5*A>$V6(BCP_1FX3Y?\(*!T,)/LTC$K^41J]2BP)>QJ2.B(AJ+0@Y MIQR6_36!]B?2%2DNA4AI\!7&3[B)PN)C#^A*[0IX(]>&[(&WA"]I(L^I1Z5Y M?&O6;N74C4AXZ";D27Z5B7+^5YJE2]A[GC(DR)TAO* M[\/MQO)J2=HO)_GZ?,L2$AW_/F4B ;/Z7S0!\X,MX_!O&N0)92X8WWXERY7= M;-./$./HYT-+>:676X'I+L?*8[3W7T*G8J2"+&V6;%J%$4092#BL+8"S &E? MD;6:'MSEHUR?X1_ER-B.C#T",O9X;B@H1FG,Y,HY6)JN N%:%YKO]#4R37QA M58BTUYE@ P/ 98IVF:*-1[@[SQ1M,$C?\=+:CI-Y+<[GDQL:46G&7<.X"EY>XZY5ITWQ;L&ZN65R,8IH0G?/@T"/8<"\ ^*Y&^C MO39HAXPG8)<$OQ)^Q_@525).(DYO&#R9BEN>PGY+IR";'T;E0Z5^*ZVK<)-N M %FF<7 3)HK\Y.A*G3.69+\D2NDTY9R6OS7M!OK4+^]ZY>1"U!BN!HXUYEAC(V&-*6$P:X0X;5*UP3[" M:BQJ-JJ.!J.L/N0;''4.9PG:Q1G2GHU,TP%E%9&A]47*!B)2BZ1//1O3FI%< M8X5A]5Q-5HWF;A?C1D/;'J954Z//ND&.P0W%HUO?]6OE<.\,=MF03]!Q"QVW M<*3<0HU@X!#YA7J1[2&2"^L%Q0=&+6SJ1!TBS;"]4-F)4S[T4)_=1>$R,##>1JCF+(Y43&S9UHDRN MK]V 4?W@\3'(]"]*RC+@%Y1PAH#B,[3"V97BS= 4>*'ZNNR4:1LCO MO9@F.R0)(N5W>#9%RGJMFD+,=:1RR-DA9]6=9_#X((S2+#$N]5,>2E+^^:,? MI3!H+F#=D&SO-,EF^FQQ3KBTI078QGF:6542D5;;=FC6H5F'9AV:=6C6"/KK M8.TV# Q_]$1Z)^A?J?Q*^H*3IJ 0WZ(I0*@KD0.##@PZV-.#G,S_\Y!:9,[9 MDI/U)$U6C$N69;Y:EE&4-&N;U6R__)S+U4=Y2:NR;)]2WSXIKWRN*-VWY.K; M3JO*#U-ZG97;&3&-%<'.!*8]\ 9GJFDM"H;?(0+[5[Z5 MSK'@' N6.19JH5ECK@-X[P$,49K=@2-8% 8R[8EW1R+)&_/$BM)$>'Z>_T.& M8$(6>&E,TB!,#J>EJAT*[3RG>S=#FW(ZYX-S/J@B4;XO9[Z8DR>YV*DSG:L+ MFY8;%M1@=X8RI*)2='5YT]+G9V-IL$L&M.%T);?I7>1?)D2ZHLEL<4L>RW6J MTXI938,@6Q%))!,<7<93L@GSJ^K6\OP![$IERJ$KFM5'"%A[RV1^]F,/ZYY$()&8),^RDY5HH577<.J9 M_?6#4L#C#)]ENE37,*[!=BU0OH*28KTG^LE&.*S.ZEFK4;-WC8Y2/^BJ5%;5 MJ$YG=$'AZ<&>?'>$%Z"[2]1!UC*JR86T1.@7F3+P,DY(O)3)/_,EM5P17"6C M>GQF+'@(#_;\"XE?_FQ4MLM8NJ\8?RKOT:(B1F4\&HHE(A:4Z$M"V%6R97K% MHH!RD=^J72VVLEI?NE3<&66''?):C I05EW!K/PL7MY2OCZC=Q6[J*)D+Q)+ M;]TN_VF%R$5%39^#DISS>/F%$D&1>SRND@UZ7+'8KZ/*ZWH]:G,=+E=@YO\F M\OT:I4E)';-:2,?%%F)4O@=56?-2'Z,\E.C*"D;EG_,M9*TTGA0E34N\(6$@ M3X[',%[CX&@PJ!41@%XV#?>;OM8>&J9CW/UZH=LK'N-:&41J,RZD_3X-ZD;.D&J:B[5 M,EK5P3K#6.I"MN0BU M,W3-P>UZ:^R74M* =5B[E:':$."8 ]UZVFI1"ZT#Y)IO%ADCMP^1UUZ!; ?C MNMLFDA]N'3S0.$2)")=9!],1@C]WNZDI'];!=#W]U.LKI'INR<"KJ MJ*O+R+ .IVN^W28G_JP#[GJZ5Y$LK /N>NKI\=D/RO9S-']?0'ALX?E$K+Q% MQ!Y$BZ?R\8_H[4"^KHCN+/Z8S^*_'N/R&S#A8(GVPRQE)\SLBS"621R*PD63 M->-)^/>SBW&W(K;04@NJ2(L,!OF,SPE/MA\F/BQ/(IMD&9J:+0#XBS#8IJG? M.@R+U&G>FN&3[+O+JX6\O1H6 C^,*&RUAWWWEDG2R)RS>Y X.'V"UP$0;.^Q MF,C$_OD*7W'TN<-'F>VSHW$X6[R,M95ICZID^ 1XAJ(S)@*LZRFGXC)W3@2G M*8S=Y%\TD7B[1"/=ZL9/M[_@.EU3&#.AO*%MRX5Z_L5125 C@ITN7IZ%8L,$ MB3YSEFZ@!GSV\TLK *I6W0/5APC#Z>/\1CQ0D\N5_HSF_^[5/G_T5S!#J+PG M)+\]I(M>KBV$\7Z^ 2VW4TD*4IDR^%NMWRV-,H! C8 3,>*];BM9OL]R[[E M49W2&& Q^BQ[<2W39]GW0&?.0^CNC71O/&4;9(D>J#J&3XN_G#N[>/&.V7;$ MQ2S1JE8;EFBYC8IK:_:B7O_:O B [WK^$)BJ/'+?5K,]]T4IO1:M=F4+/6NX M8]7JO,J".CUKL>71[I;V0CXM6CV=QHSJ+3G=!291P09=HJM^ Y;J5X%FZC=D M@[X'\%7S?2H:L%2_>N\3T9 -^A:X+/3T5#1@J7[UWJ=MOIUG[JAR55Z7,9^I M86^W25&V.U:)Q)7ES4N_LUIN6>8=Y?0T%6%,8:G9;URG@J4!&<&%X%?G\ MVVJN%]WWHZ[T$%"%MO@&3&?MV ^Z2R%2Z628+8Z9[65ZH2OVIL\7N3Q4)*6J M+-^;]$LNT:]J>==J7T)H;Z%_1HMG,)#K[G46[FFE MJ3/".BY\ X48RK%A(8$G\] M5LHEL>Y8>W]]I$](L>Z=KI#CYUAG5G;[IBHQ>.P;GEHIT_J$A:M,UL; MK99H'NI05DN,0L^SYF(8%D-9'#6U1_(6AK(J-GCW&)+04!9"S6[0.+QEW=K7 MTD!HA?-GG;^N_5FBS=>RSA_73I_4/;QBG;.MG>[H\ZRS=;XY"[JTT2%]ZY8Q M'+YM]]2X=6BW-?6>=5F=1!G60>$VNZ;55#G6P>8N!E%KY%CKT'5?O86@4A_Z MJN.$=#%+J/?>"P^1,0^*;UB\2\-V_$L@TT-&^]6Y.A==D]:[3T/77#J7@6[, M&>A:R!VPO45,WI C5C20-__DZ40!VE%^K\B#@*[9CT;EMRJ77YUF6L9K\O 5 MYCH/2:37Z945^]'G)MULHCQ3/5X79:5^]/B#\3\ET8#Y5.@I4UW3G6=QYUGV MH,R=9W'G6=QYEBZ=,KI;IG46LZ::V W(.EM74T\L[+0N7J2I)P(=#=1=BKG! MV(1OX:,G9&CMCN3IW@^Q-8^+U"-QX&T$\4CN9GFJZ6)H]A!#GH8VA'0.AS$[ M'$KRQ!_"0-D]%K_!D)1TV3GE"\;7TI68?3]Y(#P07Y^M',<)XALT8S;+N13@ M%IY8T-'*,A;D8)AP+IV\\K)DGZ&QI,S6+8O2,B? M76=ENO.UA!O)>\D4%+T-^^+'C[)O[1OV->4;R=NY8EGPD097:<'VW=OSQ]:[ M]@U[?=%&\DY^S[3N;:TO?OPH^]:^05]3/KO>CBA3_V";@'$5D?B*K&FA.6OB M4:[/\(]JS9W@8HDNEMB?(FH?264.ES;7G<&%6!'^)>N8PYV^1M:6\]"JV'2O M4Z11I+NE_G%L!,=&&!\;H2?_R$!)#?8Y-0;*FNC'(SU0ZH6E'N2!LCQZBP%: M=^[7DOZJ$;:S[LQPWUVI\LU:=QK8KLZJ/?1,4,%.3CSB^^DZS9(P>$QJDA&A M.%U)['Y//7A9+P]AH:K4HXV9$\@0Q_"L-EG0.BSM>49U6^M(TVXBFQPO% M(=ME1J>^)8_5FNJT8INFV+>)JV]4NS- "_> 0>[I+HNT=%4J(VZ8*D/6H=?H MWT&P ]2[#L6?"@HLIHI1'7*H.MU!"^6+4)8=EM2]CANP.@'Q'R>7D$:#O.:^A$1(ER$?IYO:;=Q39*$ MAW=I(AWLMRS?O$OT:M:86;T16_9<7C0#!JY&![33JM&>>/FN9 :]"?/#J4RQ M%">Y25YC,+36;C^,D!?+I%!L8J@ZCH?C>#A[C]KP>#BX,J( *:MC M4 R61J2QO%E'*U*/0M:.@\8JCDB[$]8&FD]'KUG?/34X=I.^E6W=!$:MKZR. M86CEK&US^QG(W-5]PQCCV3HR4YT%2L?C:E9A1[QTQ,OQ$2\;!72L6W%P.K?A ML1LHX;%E_]1 F8RM>BR-,7%@$0SDC9XR!5$L6!0&&>]C7R!CA+#]U0%>&I,T MD#S G;S5W)K&C^B>+=.2B([_XO@O"M_LE E8!K(<>I,XN*'\/O2IN&%1V7GW MZ@IF8Z.$QV&\E#>X9.S$EXGO7X9'*XKW*OLI$:&/%/Q9V5ZE/@NC]&C5J9#[ M16FCDG_FL.W-.5N$9<.CH(3A./-N=Y9X99I?DP/==[@G)\=S>3G8O*DX?X0! M#/ CC E_RH" O"M"VMHL M&6.X.Z1&,#3^RA!T'.[:W@6S^O4OO2TKUP#+:B ME$I<6,JHI,]NC2Z1L[",60[ [L*72ED5)?RJ <$KI)ASL$]C5.Z M6U#D_BIO,IRF(@')^/YF,'G]#/P7E+,P&[1D-L)-LY7O,RP?G$2 BR;!6J8G M3GCF^E2_0;W*CFE@GFG0NIPOSL#D)W9GBRTXRH"2F*4)V'JQ'-XEBM1LQ09- M7PE7@=OK-F.EKBJ<7ZL-QY)Q(0\7\G ACU<^\(;H::!A#ZR+:J"AC5(GQ4"# M%'7P[T!S(51:F@/-6:!CA XTEX#2\3+0(__&G'_(_OED9?]4N >QX,!@MCV4 M<@H/'58EVP /+KIC'0NR4FR%B@5VH'5HM8E^A?$BK(:V =-F7@SKQFUM=6IT MR1#&>8?]@?/IV<70>9ZA)0<&6/0P>7Y<#DG!IMS8B#LD!)FM/)X:/NI(]IZG!5])U_FL\.6NT.8DP6, MSI>,_$DL PZU$VXT>Y U_?5M92-I*',%2:#EUHWVS#R/UF8KP/-%0;GN8ZL9 MYG\E(<^L'2G7R[LK7E&\5(5[EEN)X*J*#U%V=[]4_VPSQ]AI+=]+Q>+"=">S MC3JZG#:(ESF 7!B5(Y#5W?:M8IZU-S5MR(#ATKB@EQ27QL6E<:FCI,MJXBB^ MCN+;&8G'-HY$)TXE'($8[&3#AZ/7^RN],!'%#.GU_] M)R%"8?!)HX91?_PDFP_[>P3/0B'7>Y@*):[YRO*&>3?%'9I+6:("KE)/_*$* MR8N+#9FW-08='/>L-1V^'#;E2N$+RIIES.U6P=.G_9^_AI0#FEP]?:'W-%*\ M [W*_>AU&6_21&3"G*B)@-4U>M?@O;8&[RW3X(.V!A]LT.#K$?Y^/=25BVZM M-L:MI;N7[AOE"#NF3_=.Z&^+Z:,)05@KZ[*-'>'H0 H51\NLT';)6!6J'BNQ MHL4Q7,?$LFXTUUMJBWJARC:SZ^&HGJA?:Q]:]]=ZI M@N;>LN/,.@)F6WHCN3); YSI?1[FF?)JTG<:>UYAG@Y+ ZWK_4-TSH53:J,VPM^CWWCDJ K9X?M=IP,3\7\RLU;NT/=6'6UE?9G%'+V&!#7>CMQKK8 M .[MO+KEH1016.57ZF+$#L3-K_U>&^QD@XON.>^H\XY:YH>J8RN:=4Q]\GA^ ML1',.T&62PY#,O.OL,7AEUHNJ!HM&W(VU9;,N96<6\E=U>K,T,[EO W7\N:@ MQ2TGL5C(.POD!6PSOKU^3>$BTZAIDT9*9Y-6W7%IU:LK;2<9I\$DF3- 29VV+:L]0J MH]_$R!Z(*ZN-]UZYP3@?EO-A.1^6-1=?FW!HG;SW8IKL[@&#"9DSB#SH2Y%] ME-EZ_"S/3Y#? ^<];*^)\TA^3YPD&JUWU"./'2Z(\Q:,RZO(MC>[;AL1VV^@ M ;:_Z[6FT\Q2Z0TYYJS6WCG_G/-/860J[Y)]86 B[IWM2>H7-\16R%UXGZPA MR8=Q,Y9SD'8C9^'-KF7WNAXRLY8HU+"U_C6OOM,6HS'V9MQ^-57?9HS3$W,C MLG/O.4/8&<+.$!YQ>OCN[XNW[=A;*SO]0 _%-=KSD3K_:)G."$L+J=E/EFM6 M:(L9=KU]\+:[C1?&"\;7.:OJ^&].(TF'\Q+F)2MZ['-AB^P;><:/Q$]B]U.\ MW+59VZ5F5BI3KK(^M'(NL#&[P$JRF9_'2UB'*(._P MX=]3F*TL"H-LWF9;0<'KKR[8@YR%,PA3= BR]LK*^LS!_)ASM@C+W%D%)8Q* M.-MM)S?;W43)MJHH[1B\'1^7S3I=R50L+&.WE'9-2IV*?#E^U(@B PG3 @4VZZLQR)0:\BGJ+'&-#&*51&) MYG/.!AYIBTQIC0W6FF&J7BM8/5O;JF':SO)IPU!M_!H;^2#,!J!N+^R(+^2=46#9<;:]>'G_&96D:[7A#_) M8,82.D)D+&%:-TK4T=,-18,ZE=Y%?;[!J ^L![#'0[, 0/Y*PXT<3JKX255I MHZX@=Q.INXG4A [BBB5G5(3+6 ;:)^+7?*4]*O 9NGY[7[V&HK7:-=H;8[CO M;]NKNXY6IYY5%^Y9;N6J4%5\B++WNIJYO,6E=8:M1<^C*K^P9IL3#G7Y:&'9 M7J0>VIVI5PPLFMT&JQ1:4=)L>+,RJWO?^=Q=P+B&4Z^VFW+, 6,DZ&*Z(,=& M'<>2=]M=J%LS,(FQ+*R+2%;.-Z:Q@UH5ZFEO[;$A*NDN?D:O(EW>D_F-WOQL M3[A9VQ*W;@SKI_YWESG8'95&OU&M$(MU:@[_YMXN9B?"A8-4LJ4CUH[3XS@] MX^/TM!Q=,\:(\:7-%.>7GN[HN?!A7R [PRL2YO^Y8A'TO/ H; K)DY?&) W" MHX/@U?R7]I[5/=NE;5EK<%MJ73CJ^^DZS8YCSY(5Y?(2&$Y76&3+49 M@PZ.+M0TL6:V[D5@<]F40>[:X)8]SQC-K)TEX>)[O,7KIS3 MV&J&\V(D1$JR2SJFU$!=V+3<(<\,0]F?$MXH,(2Z<,]R*[?BJN)#E+W?#![( M-,IV)$K>N\)>0#)4OA%5'4JJA/7;YU497;H6D.JMI[A,>1Z;HET[5S18QMZ:^JG"+6;2"F;JNR[?XB,]%49.?8=M%1UT%3 M9+?8=DN2678=LI,^6M9)C?WZ2+U_'H;>:/>^,39X?N/3B4<.%H''Y(3/KG#: MS_C\GG3^8DY+1C2J8LWKM0R+92BC8C]JN52+U4=NAIMJL'<5Y!F-RC()55*<5PT1Y ?CT,V.! .RUA1KB!JR1$J6J*PR9=CX&'1QU MOF\2^C"E=M3Y5O(!@OVZ/5.]W=9*Q*\HW6?NOU*)"TNYXPD8,O8V>X+$.,EQ M"H4\^7UF]\&(X!0LOC.:_UNB59.F#!-QGYLF\F*#"?/#:(82!N-&NZ';^[Z M5W=TH$]Y7>;9/EEE=I(Y7#[6#FE(+0 VU@WT,=M?K9Z[: L%6\>;;>G]MM!9 M5A']U"<\;)IB-K!Z'0>]-NU5.SYEY92P@*!NWW$*=_!I*,/W&SSX5&>MT@\Q M6Z=VC^>]7!);E\36\>Y+5,)R/@9*P&\YGC10OKZIV\=M8_4W#Z<.E+&/(B , ME':OI"I4TZ:WW\O_25X^?//_ 5!+ P04 " #K@&-7&P[L2A!/ # , 0 M%0 &YW<'@M,C R,S Y,S!?;&%B+GAM;.U]:W/DN)'@]XNX_X";]>WV1)2F M6SWVC-MK[T9):HT5IY9T4K5G]SHN'!2)*M'#(LHD2P__^D,")(M5(D@PB0=[ M]B)V/2T)1"82B41F(A]__/?G=4(>:9;'+/W3-\??O?N&T#1D49RN_O3-Y[NC M^=WIQ<4W)"^"- H2EM(_?9.R;_[]W_[[?_OC_S@Z^HFF- L*&I'[%[)XV*81 MS<[8FI+_.+F])$?DW8]_^.V/-Y_(Y\4I>?_N_?='Q\='[]X?'?W;'Y,X_>4/ M\#_W04X)1R+-Q8]_^N:A*#9_>/OVZ>GIN^?[+/F.9:NW[]^]^_YM-?J;^FKJI^_%V.,/'SZ\%7^MA^9QVT ^Z?';__AT>1<^T'5P M%*= D1!PR>,_Y.*7ERP,"D'&WB40Y0CXZ:@:=@2_.CI^?_3]\7?/>?0-ISHA MDG092^@M71+X[^?;"R7,#V]AQ-N4KF";+H-[FG"+U)Z#=O1V-Z0[.811]3PRBW3VL%][LBR H;V+^> MV##^"U8$B5G,7T]I&FES0?E]5$K->FX6[BTB?=H\'\'5].[#]^\DFOPW?SUC MX79-TV*>HI7 +<&RZ;?ZM@$PZ<2.BD ?Z/;W?8OE[+/*OH'&1A M#V[EB+8M\-!;FA1Y]1O!58*CRE_\]8R+[T>.P".]8H!&D,S7;)L6!PRE.WP@/_5- M:YN=^N!W\Y/MM10*8=]U/FK@,U*!)SIK,7PVM/F%#26<[LE0"%$^-5VP\SCE MFG(<)%QO*2@@V1+C]8TR+>9^"N* 74G M,\J,?4"=,.;O.&.>AEV&-&=*:U_IM$J3E>W-!&J M<_X0;\[8.H@/S2#M\4BU53FO;68L 9,F9/)%POZ_7A2]?A*SP72S)0Q_.(IJ M55-X3;.M9.H@C8X>)&Y'0*$W'Z Q>G.ZV?7_DU$^)T[0WJY>EA5'>F3IP&^<-YPIY*>?.)KN]I MIE E.L]>*=5-1%O,=7S,;_-PN]XFXC&-%0^;Q* W^)Y OKB =.[;DMOGWVXN#C693_=%KC M1=AR[V]ORJ?M;R?$_=A]'?BN.G"S/(1:-1S=/P5Q"D;&R4O+H\C\.3X\.68F M&QVF-02HG\S. ^YM;C-*,35G'! ORB8 M6.<3)*MV36V;(4MMF0,G.^CD"\ G @$_?*E%;88AH3,>NV3I:D&S]66R)GW)^PZ>$?T/AI@\%;"]T[ M8@O4:E1$@J+Y,3^ M]52R DL99)JMD.&&Q% 9H>+IA(RE&_7 MZR![ 0-DQ?6U7+C/D>:P)=A>@XQZ<)QF]!&XER3>< >#'LX%P*5 _-M)2@); MG&,\>&D0.[@.,ZT>8;B)U6&0=P\>%V!Z,*DK@[H!UJ<]W4/9UW&EG>1R'Q.G M^CU]AG]3U)U@#)JCJ#I-K+R'W77]Z:/$=9*2WAP_C CB0VVR1VFNDS.@'&Y, MHKO-&-B3Z1-(&%#3MU.NCTD7&,U)(E!(FHY7?*'<*J'*A.G.L4@>:IW3-@/) MZ"AIM7EAF&Y*LD'D<<8JXC(Y 9'8O$H4O-(]&,DL[9.Z2JQOAXY)JS>U#D12 M?5,C:%YLI+S8O!R''F9APRCG7BO.\JVP!C=Y4%F"+X9581T0CO3?+E2FH/3> MWGT63H^;NWGE\'CYRA1=K=T>H=WJ;Z'#B((JK'*>ESK2SHO5&2$[X$MTK$ O M!.O%@B8=/3MD"]@(NKI[G-VY\4\[=6+U0.S#[*L)7>DWKR%C=!L3^!>*:G8= MBQ %\$BI()/&*XR?AV4U5S!]4MG/_8KB/%BM,JAN!]<"6^[^@M!>$/-:RACK MA>\ZF0R>9_9P@E>7ZF]3U$TP>SD@&VW@!OE.5-L/P]3Z!'. W*'C)2$.C_:T MDNA>!2MK?33%4^Z0X8SE[9GB(M\R):-A$N1YO(S#6@AZERRFD/(B7\8B/SDI M/< _@D>:!2L* M:UA7CY]';%ODT)8 XEN6#!:8%G&Z%>$N8I*\_ V08 -]"B!P'R>>IHF[DQQ8 M3VOTFW3+?RT$%?P"HD]#X;$]D^LF/Y?K)G.Y;A!Q?-WEI]>[=1.^;O[':MWE M)+MUD^MZW=.4B=/BB0&BTUI;OX[H_)**-@1OQ2:F/([ WX#MT20ON35 MG_CZRCF1DM,M3B[2K$WC[C5A6Z2Y[GZZE>LA!2,<^Z9XXJH=_.94KN=?\NIO M7*J5TTY4A#EF0&Q"N5VN,E#)/6\KZMTJ#/I'8RNVM\_JX@#EBC+M'BH6:9"7 M#:29-?:8W^=%%H2'KU,#OS+++M7L7MF&?*G0MNUA3_FA7@"M.SHVM=+TAO 6>0OR]?;%Q+46/H+)K5Y M9 [C4:WOW@_E3D$6+(%O1XI(^TH3_/>0PN0W:=FT._QIS M?>I#L2TB!J(SY,1;7RDB +:!3NE/$@@1B1$1*,W(1-<;E4W76H*I.Y9\2_EQ MS856!"9F(5>: #)D4V,C?&F;!G6$8X8$@'[^G7LE"G$.V<@M&"EWH'=MM$V@ M1,0#IS_-+]+&:XU*=((?="%DH:+"C)6Y,3++% ZV)5J%)_A42DQ)G/:^G)4^ M:N&7_B(P)MIE;B9%K=%2(F\0,-P1L/'F1<2;%]E[\R+2&TS !^Q!7A@_(CW_?BOZP=>D$<686_#!=;X3;]2<^1<&/E>R_ M7;W^E8]_XH]G_*C5E% P[N3P,YKEYF$=M@_F[=WGO,K4R1!3U^J\AM;",YT1JC>*F7X'4.F?9DL8%UP_SZ8DL M#'*3DU=#%F%;6'U.I8 B^U(K!)]7\O_EE@'NJ-\NNC^\=T8%B!!ZI_ M=?/DR+5YC,+D;^16F7__%^VI)TY+S8R@^)D:L MQSH3TEI(:,>A_#Y/HTM[2K7AOP*!6]\U5]N.FEC.X4].V![@^?6+VH,%34O0 MCJ:V86M%7\)^I90R9%_\BF\BE:!R:Q&T[;*[W(TP/J%+EM'#0A)Y%9(])#-C MU&38O L44#?UHUN#W]Y ]-NWY%X@30XK1WBJ-CUNYYC9[1@99+N#3*,%NT@+ MRC>J*/L9M-8)'?H9)C168WKKS]<-%""_N$*B[O6@5R'4U>*P0:IU_G1VL-ZX M6F]9R=I#".H0)F-8XCJ[/0[/^#E?Z)R%<5FK4MI7B(O$V+S(.V4T?#72Q_A/YFNVA4#TO3,.!VTOB+\M!AVN7R^7K#FN9M;VZU?@ M_MB/3?0<"3Q9Y\<^FO[B>'^=EJ6""3S$YO[JCO=^$)_GR-K)'N]]-+]^U^;^ M>J;EKT/3>HS^TQ:*_"L6J(ICYR%LV%>[B;+!_!F]+WKZ3:A'8AM.O)[1MD0I MP9"(@_33GZ&#BFP :8SZLK@>?QC0JRK37*S"C*I5F:W7"MJ8%8>'\$F0E. MA[J6P?,?)E49";N?&H601FW2R.L$KJF=IG/*'FG*C<5/<1JOM^N/]W$1!6VW MRH#/,)>+QO1.2AQIX#'XIK&R-D11(\"CT0QN1BI49J1$AGP\N5BQ0B-E MC-;EP@+A*P8Y0X,LC=-57KV^5B]",Y! -)]Q?9//$,:R%"^85_Q;?D3_4?XB M)YL@$S,%0C7EPDTNU\-%/>10,NQ>.:Y!TFW9M(X956O$&*7#%.N@S=CBNB)"YWKY*4BW2WXE;S,N0\Z#L.S,UW9C:GZ"*JO;/;63 MF[('A\%WB/$U(6Y(B0/(]CTLR)26-?I:3.M%KO<6N:R1\G"3Z1X6AB&KLQM, M=B"Y*UCX2U=&JFH8\AX[G,ZZ8T[V6S=NW?P M_Z4?F@3;XH%E\3\@X?R8_^7XM[/C#S\(U>K#[,/['V??_U"/C?,<.K+ WQK- M/D#KXOQZQSE(^!7(]^]F!*@O>[G0L/SML?CM^QGA4VTHM*RFR8N7JTJYQ4QW MW]RI774)WGS!;BDL+DXH-T\;)>K8:9 _W&3L,8YH=/+R.0=G>-U[HNR?SL]= MC^O$)BBL$F@!)=L'L(%SZ3J46 M72NE=*5V((<><;$K4R?T+J7M5D*#&VX_? MQ2HS,)<[[.-^$0]9^;P6K?U7C>J+\;?.X"X%;BU9;X_;NV\\ MUOI1S6O=A)& O8N[?L*RP=0:QT5Y5C0XB/^TXQ[^PU]O(9:M-?A'\=>!G'$P MB_4N#.#'S(LX#!+RB090N!PL-?+EC*V#.'7;EDU%0=9#%F=BH^PJ)3HG[3=3 M:N6(H9\AA4C?]+9YJ.JU!0AHQH-9DB;:A&98ZEF5+9^"9W@$5DJ7UK\CY,O> M/+:YHP3FAS'45&.]I'"G'P?YPWG"GJ[X.O@_+T11 G![I5'9:;+I MMUF.AQ M]IJ:%JM9CP1OOS&IP(O$%6+B+6-9H>;=/6ML^YBM/;$K"V5 C%H6MOT=(PN; M\UB7A64TE#]9V$HUUDL*EX:92"J^"5X@$K/7*NL8C#?)6B9U8(_)9.J-!.O+ M&.NB)QM&)(.E5RK6_0I0LZYK:?J5$")Q)Z%3OS MXE0W2\>.F] M7IZR-(\C$(I(7TIUT"X3XY@I)(%5E$*D50TX2P#/ZT_PV4Z M2F4D%T;LT?BQG M(&GI%7[#AX@\P_(7WS:)[B,_8_S98(9WW=,-TZE.=PTUA. MFBKO&K^:6CONO+0^+5*J[!N?M4V&PBH+($V*["41UZ12]ID--;:$UZO?R<4Z'5SANEC]I< M9N-FPA4*PT"TS9%GAS6C9!P?)0D@ME=!"E%3BK;2.QM MHI?R7J-.%S/(0,[N.H@)3;DX>.$&M>)F:QN"O,>:4]F6$16L@56$S*"*+OL5 MZV)MZ2)MW6RF0Q9/ZMG %--A'QM1UWPEFKY2VR:9:SIP0Y0:G-F,4X4F!\5C M.8VC/P?9/M!:]-F+X4CK,K";IEL*_;3:_/X7:9ALP64,NA/_OV@1/"O#[- S MX8/ AT*TGO%4E;3W%0&.W@)FD*[.N/<\B#-Q\URDFVV17W+$D^\[DQ(TOD!R M8\?,MKD.0)._R#F]LH-.OF B?".C-V7H(T2O M%MS2_%A%/ZITW\$38/5?;4#.7/O:&*&\_3;6.Z95U4T5_0H^F?8(63_*_G . M9./)[/X*:"3?U#-:9<[0\V*9ZW,2&D].K5G\\ M6*L_MJ;5'_O6ZH^GI]4?4KM'JV\EX7BY^_[##X/$;N]XI-15SNM"Z+[_[L,/ MQF6NP169$;ERE5.1N/V,Q ;3TJN\?3]8WKZW)F_?^Y:W[ZZ5[1J;"(#@*YW<H2,@)LF\N(D_H- MD81!$FX3(4X]%=)"[PPS16[WPO+DY;4U*@=N M09M<'4!7AP$:"K?<3QG+<]G3_2(-,XB(.J/RO\IP#?Q4Z."-X2#MAW),QX4[ M9D>823([X^?7!:A[E(/^#Y"\J9[8>@YA&4_:*"#NYWK7H"T;3C!WO,29&QZR MN?) T_!%9%H'R6F092_\5T*.=V>L#I\ RVO:@%P]XNECA'G$L[E>1!8/H$,: M^,Q(B=&,:"W2UO$;SGYL/(W=U2,5(>Z*H[?_1VR]43&)JR,SU\CX-HLG.O+9 M>Z/C-H9MHX+#>#@H50)9$WEO(8/.L>B8MI8YK7N-LR"BLB%I\4"SLEZ+0&)& M$BCQ IDK3R)1! J[1&Q[7T Z2E"5U&5+\IOWO_^MF.,WW__PP5/X6]=^L$%$ M=L9P']>;A+U0>D>SQSBDPMUQPO7NZ)2M(95'N'6NF"@C3J/Y4Y!%N3B\S;^? MLKRL4G9;9R7M9I(?7,/;U;7B;8&8F^PKV@V$ MGBB3' 06I R0(O,L@ZJZ\.\9J5=&!)8S\O&YC)DE$D^N4$+F'U\=>:$%V:V/ MJYPBL<^+ /5_]MD$D#'Z*"TFAR9ML6C/*S<72DF>LZQVOU2A@Q''DV-[6Y9+ M:WNT-C$?YE%[#%S;$G(T@H,?Q-U2 R&A!()DAV$E5@@@*72X&DU2XTDXHD(D M?25TP042S!M5#BM$1*[%=OW[6N:E)&G2&Z.['DE':;7(10'QK+(&_^DP:9 MGS1_3X?:A0VGP3'.!/A=^$"C;4*OEW=T!5QS2S=08R9=7:2<&]9B$20F;U)B1!FHS.Q+@C5O*X, M'"4"&%O$X&H09H.$#EI)#9_HK<:6SZ27:=A@VHU\^?B8KOB)I*)6&*7)#2,'HGMWT2=@@0@0&I4"" SX_S\+"1M?MZEEK+EG.@Q-= MG\48CKQCZ]UE- SR@BOV&?]/M@VA'1T$:^^P>,E!;^NH?H>; E4+;Q@H!_47 M 1VRCX\(2VHRI$1I1*$\VZL>??R&$<+?:<2R*C.Q$SYLG9^".(60W/)]XCQA M3W^FT8I*C5S7V!DRRWAK1P>:2W,'\"%O *-O9X0C-2/B-0OP(@*QV=0,G$'[ MU6[A#-\$9^Q]5A:%;7IMP03KC.S6^PC)O-V3VR^57Q8!#AO@R8:/\<*'FI1F M./*YX[(X#Q,&FA>T3MPA)BI# *YYD>]>&.K"93W^=D.S8OET''0G*>?JYS'R MQ;>/W=3N,4M;XN$12NO-;5YWHKA>'KZJB17J/U-9@C?Z( MD=#ARX;ES8CAZ3U[V>*,UH1EOL,87HL%37W5;:! M]H=8#+Z,%&KR-!-1A_XR8D?Z47* M-=EVMRWZ^_%F:3<1__J??OS_^\5]%Q'KQXB=@5X/$;#C=G+&4X/,KEM81 MT)+-2WU+P59Z'R%9JWMRV^PE)^EU& M[PM>E[:)6IS$$,1T=Y4?A#+N'"^] MS@?]+[&7>S\$Z[?\JWC7'1+^'6]#MH"-H*L[;FQW&.P\,/G)RRNWGXA8%_^S MX'C.TP@.U56PIIWM)FR"PO*[!92L&V F0!HOZTJK&XG<[E'CDL^Z17VZQP[ MJB"4IW)^LNB2'U.MFYBOBC!-HWY?76UU=UOTOD]H?3.VP&[;W [KZC; ^U<( M] C>5DZWGXKNY%(M*-4UG%O'8.504JX5Q"$$Q_ _+ MVK1;&I7I*.K2A#Y00'*_2U1=Y6^Y7!/F9IHVS3$ M?] =RC-R3U=QFH)K$.I7"0"_5L)]3 >VX^T@&X5"MWH$LW0G>)%D; H[_G7< M5^VM,.J%?WP.'\#I!MW;/BZ75.F[\H.$CSMK,+)?Q:TU>%7.Q:\#NB-,ME,! M%+J4A2HQ_/7)7?QY-"5Y1VZVC^8]"L'8,F)\>QYG/5%V(%%-3\9@C&[UD.@B M;;^'4-NY4!+%=W%1;HP':;A7,%+M$!PX@=EBHBV G)7VT,8(Z7*TMEZD/U+< M9E4GSF6%2*-TZI0JIW9Q8'_%U%XRNU/IN7$!SY _Q\7#Z38OV)IFE=QX.95A MR_$C/0V*\.'S9E?^9\%NZ2/E5HE42R[2CWD1K_DE>;U<9$&:PZZQ](9?N:IH M3X>0LSVEX)2TZ=(843MHFH=Y(DOA%0KF9%Z+=#LK%H-$V'LBS RU-VR9P\N:*\4/P>S\!\SKT9@@B.F,Q;N**@J9IF<+97N5( M867< M?C"P;CNF0(D8T5V[#U5>S:&Z6GD/^7W[(%N:U@SS079,8+VAD6Y*1&"_@=M+9RFY(?LXD)4YR9?-DI&H0!)F5/,#2>1=+R7,:&R5_2_ MQ-HN_1 7"]_8BR"UX6R,&-^QQ*U'ZKO M [3/236Q_;>B7'27SH/$TUVK050VG%(C:R?=T9"+T>CZD69IO'HHZB 3B%V\ MNSZ_51=1&O@IIIJ2)@C[%6 $&J3&@]2($,"$O %OV!$ M<^D>*B\-93\VAM;C1'6>%0TQS7_:B6C^ S_JV[2@V2;(BA>H"-*2\]XW;.#A M4DUG7PCO8!( ZB,!OI>63)= 5KGBEFXX%1^"G,Y7&15U90XQ:K5D4-\B^$<; MA@>F\F'6X.C.1A'3DR'-#?J3T@"#TORU3=91K&/X!$;,["Y KJWNVNCV5_,# ML0M*"UR?M,[;W\A@@$7PW$AF4%=?T/QJ9 ,RN_*T]:&#L?.,K0SR@;BM)$VZ>TKS@TX,J& MX?Y4AUZZLB'$\M&MX Q*](:Q0(S_.Z&B*F(:S==08O0?LM9M!F_CQ0L4/RR@ M.^#?M_%FK7ZG-3W]^%X'H]"P7EFLT9LO:B J7GZ#!H:^^R&8V4Q5!W)C.S2% M@'[]:LRX2+GYS_/ZWL^,??R?^^)OCXQ]GO__=#YY">32V MBF'H[]!6S.)'D?_57R2A UO"#3;#"A;=TVF'@EV+Y@A KMCW1*S,H)A MP1;!,R0:09L[CA]'N+UYAXJ'1TZ'968D6%?J(Q8_C(;I@!;[2N@P_9-C(Y+V M2G1RDNUB9U):D!R0(SDMBD2VA@%#3O:() $HJIX$PEC&9J9WR-U3-M\+;F=< M+T\S&L7%];;("VY0@_02[;M5#]B:GV&?K7NF=U92KPVS?L-UMD! M]QG2I$7G5H[J(YX'[JIJ(T#7IM:RL\Z1D,2[3-A33H!/6O-X_?23'+$YJ(1>SYTH/P89M%N! M0NS"N.QAW;[A2 953>M* 57!QRBBYM:"4$AWG>6@&8QTFO@Y1[VS#R/+1/:OLT5%!)!=9OM<8>RK)AY/(F4?N"S7K'&Y*I MSD+(:N[AD&793__!8OU$[A!'(T/ % G#5UM@TNOE12I4'GI7< @7?"4I_ 0! M/H<6\=#/,(G"&M/;YA]=/ 8G!UM9&^:2%GB0ZR6I,"$"%5+C0B:T0%SF\^*! MDE2NDRVY2E*N,Q?KC.MU;@ G#SG/0TX1PU+77>Y %,6P.T%R$\3--'!N"*LK12A],B3M$.&E-C,R X?GX_'0WF/C22SLR-9)\66 MA3]/:$K5A=9Z1B./G&)6VT?LHLYEKDJW8D[1>.3'QD6]*;'_EMQ+V%Y.2!]K ML($D:L1V6& M(IT[A]\^*IW/S9UCL8Z^MCE=LY'?U^5NLK)!M'+'-^ECG+%4^%:26\[5D4Q9 MO(N+[I@%_0^Q'-4+P#I[-3$@#10(X."9V?3)S_ T=?C:578* 1SB=-7H?'5] MG\0KF>9/,_!S!2M5/U'D+.CWL4'07)ER ]'"**/65XXP[>K6F356I-GY;8?7 MC.@NWMJ3(HY+F:$-<>993;HF=4_OJ8ZS]'=X0[)[? MU5'M101I*9I>'>(X5C#)1FA$C\P:C]BS::G:X#(+(?TO7O,AU\L[_MM\ M6;;*Y@MGD>KYQ/3T-I5S#30FI;5KX&M-G;="*[MZ?H4RD3A##$@3:V$(<+S) MF_^D0>:GL;CQTS+42!B\K=.24V.$D L),RGQ84TV3.W@>WS!'<9Y0T_KE(]B MER2Y*X*L..,Z4<=CEQT@OM2'/63LQ\R;NQ,%X@0P]_DF9XD93-Z.'3L\B=>; MCJ.F^YF%EQLGK\L][S;^V%J;\)IO-GC64^0#7$"3DGA]OI75)ZKN)?$R4'<. MT_T&DPG0-[?]X!T!GY0(D!J#B_,YOD&8^55A.X-M^%]%_$7Q "4 %(L5-9'( MSS1)9"M6M@V#3T(/@?/:',=0!'<<%0?N(*C#)FL_;^&BD3W969J?4'XI MT3J2B>8?GXLL8!E?1I"]B-*"5YQ8D)W.DD2XFOA*:=X=66<5XJCH/"N8.7S. ML;4$?,C@1"B*Z 1;!D[>"R3]MX1Q<71>12\ZV#V'5F28!'D>+^-0+.!Z6UPO M&YT>1/%)B(K*Z --<^%8A[7U9#Z;F!1M)8X!;M\JW,>.L*WHF=ML*R(KF^ZA M2,ISYSGMVLBV,CM[Y>S(J) "L7 #OQ"M4,2H&Y87&2WB3&@V9:RSR ?DLD%Q M>$Q/CSQ&IM"PWOM!XD*2LK;["PFBOVWS0G: : 3XO_49(6]\4YGMG9K\#=3I MM1P_I>/;QXU'@L^5ZS0Z?&F]1D^8;US>@?YZZ_9]0TH"]\20,1_21[M#6!8JKJK MA!ZGM*H@K6"WMB'8"N>-J9Q5,V_ 1%4N'X4SIDHY2U='"YJM"8#>%2OW4YB\ M;?.9#G4FKW@L("R[3]::G=RQ(K*/Q-05$H$M\2W;#6^X 16E:Q?=J2I!_@"= M1OE_(!'U,4A$ZG)Q&F392YRN_A(D6U5FSJ!OL4J+#@PGI8&A,6<(_Z [//QH M*8/(SD;1TAD?5C$UBRQ(\R74-(-6>M?9'X[#;F!ST+9(/M6#8YL-=E%:% M!OP;$"$L(R4J?BW 87O!1A'8'7.6.'%M:%[S?;G=%FLI M:-S.55V$=Y5B$\$M-&KO)%B6ZU+PYK"/L;5CM8"X\GOI88/QB-E:)Z8T(V!P M= \HD+"!@U[1/%OEP0] MGT^W><'7DO4_K0S[?%Q29B\81^F6LFEF3J MV5W(Q<"G1 M(B4JA"-&.&;UST/-77]40':"">ZW29"1*,Y#?G%M,_$:#TEO8?D40@)1-( $ M>?67^R 1.6[Y Z4%B2 CFO^%\W_X ,VYBD. ,5,=]N M-@G_@5^(2426_#?+;0$P\X 3F?]8,')/R19L'7Z5KH-T"TG%VTPT+\^%.B8T MT(QL,A9M1;XQ_#.D>?X=/+,FVXA/'Y:[!P]5*4N/JI_C>K_+-?CH;C/N&#)S M7(6Z17,:?K=BCV\C&LL+E/]C=V_R'_YZ5C+B_]X&&;_2DY=;NF'9H>ZI,7*@ MR.F8T;J[K 1+:KA$ G;*73HD90/H9(D_YAQP!,#/DV#5PA6M?T?PPMX\UOL: M5< (0'.^[>TT8[V$L+3%'],B+EY X<\X6P5E58B"GL)-P@45BPZ]F ._0K"# MQNSVZR\ "F0/!U%8I!"77XD) 52<<] 0XC,D1=TYTF5A4JA>PA*N,O0V_>[_ M .LP5TYL72+5D$D%FGRI@'MJLM9/93:<=.Z<<1L*#@DHBJ=RI+T>@76"[69R M]9K2 (EY,AF%,>)=!. 1Z+_3C[ M+UK+;C,-@GA-OJ#%]5*=^*KQA<&4BW)F M5PS>@0*&X8VN"%$&8C_$6):!F$RNR"'3]*2)M-+-LGTJ7GM$#\]> U4U=(2% M>CBE,Q-U!]BWC:JD*AM"*DM<N@VV!P#S8V"T M4HSUD6&D[_QC7L1KB#8X93D7,1]OYGXW&(]XW]RV>4 + MB<$>;O.K0NB#-1($L "/-,>#5(B0R2P-W[&=UBL,RQ6"-SX3>)"\6NC]"RS< M@U];^]PP%&U-20((0%TP4$(26M *(@>N(1$TOQTE&7I@N)40/$MH%']TTVL !60 M"S:(R%X_H_>>^J%W\ ,;0")WK$Y%I<6?:$JS()FGT3Q:QVD,_ESH%%2&_>:= MJ3VH.;#'8P@LZR$K$ID9*=$1<0W[")$*([^90;@M8D;H;ODMDTL*J&__2,^" M(BBC*SH>,;N&CWB];)O6V;-E#1S:( 15C)2WI\I.$K.A=!MI7UQM@2.OES>L M@ +:00(Q%?F&I7E\G]";((,@J#;C8M"'&,M""X 3LT(+D\$*MJ7U(30#B0D$ M%C9P(0UDR,36B+,@RF5RFV'36&;66.9&(B0B_&ZX"I+ A?7G(+N'-)'MAF;+ M+?]%'A?4@S4Q[, Q_ Z,E"@5X23=KH)BRV_$C-Z);-U6.=O2Z+*LI@R! M+V7MX++&?;IJ_$UA+)F:%M^U8A1XAZTI1N%IK!&Y5=K@^I0#2L+49**D6:*[ M:DNVI3&.[NMICMX*0R;$7!@J=P4+?^'X@;;Q2$6!\"[SH?>C,::#'%H F M71TJ$+)[3>D;ZW2A=HY%7_4M!5GY/OV[/;K*R0;1R^/H4<%2NMT5> M!*+]F_+M23$._?)T,)^[=Z<#P+A7I]'8;T3[<-$F==B%<5(F+9(W<4IR@+BY>,SY-.NZ!4WW%L>&KJ&(1X8 MVJ:S_ZXE89(** &HSM\3.BG)=,GC,JI_#9E67/_0%>$ZG^#C^I53.VBCP&%+ ME7)6BA,HR5W!]RYEM.C.,,0<6U.BM?C6/,N MT5?JI?=D)O@!7XU?PJR"*HE MPWM:7F3"(LB%:;S@9^):N!2AL^(C5W!H)-7E>;$(LA4M+NDC3:Z7C6;B;<;L MA-!"U;OPC[X3@WP"ZQQ>A<,_SN[*!1*Q"M)<*6DLE9R\D.:X!K!F4BZ:U*LFI1MC7A"Y<")6+EY!=VO'JJQ?[]Z9\)E [9*2RE0LI:P# MN2DW+&[L45"0@!1R!Q*Q _! NUO!C-!G*(\"]Z)TPKQA&=FF@R2.DA<^/LYE#15@E>:]VE4+QD=%%?_\\YYD(JJ M^1522^V9W?HC= 5^PKJJ[@8P)%7=%?BF]\7/-%X]\",R?Z19L**5V^V6RR<% M_VE^A2WJW3V[*P]8#QH87Y+QE2%T'L!A1BHL2(D&J7W$_6NS5:5O*+/-_2Z-,V*6*HT]8>4*3[$2I^J&]R)_9-+Q;#0X/,KPMQ3IKZ MN$2#2#S(M):&5YVYO@LOUQCZB'#2/D4,1V?+SNGC M]_>+N$BZ'-.'0T8XI:NI[!_''*%4AG9(9 2!G53$LN_ ME?(8'7SJ9/UXP0R#%-&G0BI[$,%C&)29HKJMZB4RP^4\SL,@@;SECVET]MKX MT1F*J6JBF-+Z>U!9YE<"%H7!" <-V4H>ZIWTT94-(993ZWGG?#H)\CB_VV0T MB*[3OP19#.6$P0XY[C"CAWP^PI[6 >/2L-;!!VMAVUDKTM1N/ W,B,"'2(2@ MZ46%DE^C>Q +LK&T=NA:92&E40X-"$#]APOF>@G=U"')&Y!7>E=U/T0[6/L MV#Z*NQ1W8$,9LA[YRL\?0&^&)Z+#D!,HT',7)#T9^LIQZ."2@_GL1Y3(PDH" MI-^84C4MF3:!/"8QW61T$\316?E"4 :\5KD4\SRGA7[JTI#)C"4LZ0#UEZ:D M@YV9Y"3#=/@@Z9!"!TX:+1!>3(E/U4@K;Z0H!1K+=I:=-(AI.W.2AN^ Y=*I MTEBY$3' Y_QWAR=9:^R(XJFOYG16/;4T+25H(F![JY^JIBP;1"YW&0>]"H0Y MU<&ATC !9:%'33"K( R5$^#4T),2KT:.EA'UC*XEA' ^34$^O*9IJW10$,J9 M;+B%)^_KY6=^K\%]=GU?!'%*HXNTBK@_9]EYG())= FW8I6$>UBPT]A\2+F# MAFO]-0(0.V++HVU.2T6)L!([:+9&JQP,T99-8D@20-%[YO?XO63&-\BRY+RI M\JL47OO.<2.DYMY\SF1FJ4YY\]5W4Y-IDVA2TG)7K\"4O.R9T:+$5$">E,QD M%8Y?D=3LV]&!PIW>P"_]KYT?<%WKVDFME^JCR M)C5L4@$G7P"\KXSY?DHS!/E\,]<96_-C,8R]]K\QRV!R;H\L)A&8%),=T+N? MS=J(:+7:['F<4)G=T:+ZJ8:@J\KNIG)4218 EFECGHK'ME"/Z9#$ZJY_7--L M!<6/,_94/$#:4) >JFN:H]&\T#JK([:H8!,)G)30/;%(-WW90*)YBM\Y#T(Z M%RT>M.)U7@\W$I^SF]9//,X._OCXFS%K,1%O _")SF*<1->T,(PRFD9%. ME 6?OL.!TOSS"+\)3./,70+ _'7M:Q+LL%/?*RI8O3#OUD&2G&QS;H?F;8\+ M':/0%^3>;(XN1@&35$ ]W8?M9&2:M+'+!P\T2?KTI;9!>"YH3.:*"0"D9YVH ME89,CS"6Q?Q%*B+NP5R[Y/QWP2VXKO?&KN$CKH&V:9U="PW@Y N )P*^6]M; MF\AL*.7<,= "XGSUF&=OJ!G&$5/Z81H!>A+\LD]7-:^T$,NZ9R8[#0JZ8IGZ MKFD=-C#0E19E;I=L6QZG*_ LMX9!Z0Q'RX_V:1T)DBHGKX9.)'A/(J6' MQ&PHW3P)&2@_VOG4U#?M8[,Q$H5B_CTN]%%8*(179W,7A5@]BU%C'W:7U#396MVMN^T6()2R?5YD><1F*8NZX2J+0*99:QV"YICF7.R[Q M*7/:R<>T:.*,#YJ)LIW,H!Z(Y(C7$]IFB[UL9[^\T4%-ID\B9UQR4.-,/K:? MQ$''G;"LFBY+ M4/HN.SEVYYCA[1A;4B^#,-#B99Z*0JX; -#1G+-W-*J(GG)6^W5.)621DEG# M'M%1T^!*<+6+N/''_RIN_DUS<;1"QT?MN'ZN80,).)+K/P7/\7J[OJ-IS#(H M1 SG[Q8H?0N$RFB+Z![^(>8L: %P4E12"Y/!)\32^A"1*B4F1*)"*ER(0(9, M<(WX8F;K*3(.&<9OZZ;R0-0(^U8?5=J M?8 1$9T3VQ8-)?!=!Z02/#G&WYJ&%S3ZXF2I2) 1RVIFS(A?0-OI+ C=!K,- M8"@VG*C.;*@YU^TKM;XL"1K3_*-H\T CJ"($D1A;N7/7RX]!ED)]I!N:"76X M,S#4Z-Q(^\H(#JY"3HT@BXE/]40E3$_I!J9DARJI<"5P.DD#6[!A*WPA251V MK9F5\:_>;5>S9X19W5(O[K^.]P35, .N/Q>O!@>./W]/!THZ*IQ^'A\(N$H@ M^]SDU\M+>+6X7IYF-(I55U#O>&S"L6I>5U>%$@&,^#>QFOV:7,.$^@X^U%U, M(.R02^U08SVV\IY[V88-IIY?M_CU4N7%'.(.[Y_%I!M<#XY#*^BJW-&2K5,SR MER#9JMIVN0*+M6 MHV<][ %P*YM.ALUNHF7Q33]FEZL]9[XVTF/=WGD8@O&8 M5]5%.:(T?@3K0;]C#USFQ(^T_.U]+ASKJD@\W"QC(SSU MH%F_UNI"-=Q4W<.#E*5LOE2H> X(';@[;2&B&));S8I8!,\7$<0E+6-97Z>G MU$W/>'1>A&)>1XD1'#K9!^^W)$X?E=E@TME-K:'P;IA:)]&)HE]J=SQ!$[ MH"(7QA,_*"C)=,GC3&EJMM9I=0H?*"R]XY&*D')>5\:*$@&,86)P-0A/YW[' MI\3_RT,_TRB:/770SJJ\;$W/4/T9+1_=I&*49P&.5+OM_N&]BWA,@R+N_01MY4RZ!XVU\IV4,-D9\3[J MEO00L,T0=UVK9!Y%G'QY^1^X8PZ[MFJ-1!(J1LO80D:&F0U=C:4;KX];V$#* M^0[Z?!7:!?WH0\510U%6D:?9FBOX(,2_ $)NS10]KF&#B.@NV'4-%0'_ M4:9?77"E,EW%]PGM;&NO]Q$VT+1S_ M>4UN8CA2NO!+GO)_7F<+]J1^@%*.'.N3W,WHVB,)D FW(@&V7V]D"U7;?)$J M4EG2.K15#N/ZAC]EPXRFX5'-F*Z*H:=?3$JYD.7;Z@#-1? ,>;NGC!_*=,LM M@++)*DM5BL;P";".%&U KA00?8Q0_A:+ZT6?)"+P 3;HE?BZ+5'Z5G7 MH)D+R2GB*JZSFXP]QFG8*SL5P\=*SX-I7 M8+HUSO[!XQ]A'.N=:N@CGV%<:Y]=[S">-5 -MFE_A3&KAZ*>89*$/05\=>MNHY9M#'V&<9+2"VCU*-!51=Y?>WQ(,$)2)^WB^&D9^- MHZDE^?RIR!+P<>;7RT46@?.0/A M'L:@&@347&H*MR^ #Q$(N1=M&A1GP\CH(_SZ-,@?SCG+Y_IAU\I/QH=;OYK: M;:T&#IT(\!,*KU93NSVLNH>$=M/F1:6TNX)S=E\QP6$?X1/J.R9WE5TOR\<) M'&:RQG!.M$L#VDNVUR$[P]'2AR 3>#VP).+Z,W0CX::5MD3K_W:\:%/#<"KC MFFC\"Y&(3$C::>Q$N]C3):\SUA3UG%I*XERR/+^B'.-%\'P#,3,LG1=%%M]O M"] L%^PFR*BR<+ZA69'L/!*ZJW?:D6AB7*?.*8,H<,KQ(&'9,'DCZ@26A=7" MO1I5L7SN?9-PU/TX7TTQ.;.T/RX+*'(<:RG7S\JIM MK--93E5).4M>C](G>?>ROF?)P8E0_AWAR]B;QS:G5XY6"PT/!.=*G@[%"R-B[:\=\6A[ M65:4DVB1"J\9J3 C;RKPV668WU95+:AT_/XOSD!O,VXSVZ=BVP&!=.H;1L2TWFOC.R![&HE1\ M$^?]TCD[M,D.;_^F@35^8*XV>1(NU>K9Z\\T6M&?@CB%7Y[0)%@1<.PX&X=C,L4G*^#D3;MBG5 -80J(#!N[Q3P!A#D]W_]-$T$ MZC,"R-=_O1G+CX@Z3ITAVYS[;JIG(!D-P\L)0J>Q*HAF J MIQY,9=_G%D*!.@#HJ]> DGI,AR1>+E0#\VD[JK$R93F:7+=)N['&B]2($;VU.[0=-3BTQW+4);^STRP*[_99?>V# MD*=Q?S)7IVT?*N8TC<4;%1I?T)PL_#4-4VP\TZ.*URNI+.\XYD+JF\+@=:0" MY?,R4N%DZBHRMV:3%U%5I77"UU O7_9<0GJ$=W9ZK^A3F:/ <;G)6,K_&4KO M#?1E>X" ^;SN-BC&Q&D8;[A0[+NX3$Z-/.TF4+">!%,#!S]C&@59E)//FP@2 M$L$*EU@2;K,W1M9X^O="&MUF9G/OO%Z)G],M-. M3SL$1,>B;>\YI645E&"E M2@D;/9_!RU(+KL^;4PM!4]>H)6J8O%,EBO5%.B,[+ E'D^@2Q>$=.XRW>RY< MQ!8Y3$+@0NHBS[;.Y( EV:81%(40_]YK%[_AW^L'$$]BVP_Q(D6VI"7FM,9%9<=P!TI<0- MQPRCO5E=_WX$[3#%S?2E-:6+2H>=^^\I[3UR)@9N@A=AB$+L6:-=JGA7ADCB M'.S1.=2'C MUQ#MR%J0 & C-U>D?B!:J&["UE8\Y]S)T(Z[@DT!SC99.,)89 MF2$Z._1X%A#C(>IE130Z>?G,9O)'ISF#F*N]-+PP<:;1-ZO3P/XDQ?+^/@'CPA M',M/-(!HS.@ZO:60SUOV[WSM\,*S,G^NHTY;B![Q>DJ<^B[ H@[/Q@3#=PZ ML?68>Z'D))!36T!.;;)#PE]H:3>)#^-$->CF]6'IDH*=>,8@MFG ^U';9P:? MB9K36P\?53U]2"3(%XF&I_QM7=KW/&.H">HPJUOFR+[<>V:[VVXV"0C?(8S6^=%8)FN= MW+H260+URUO==&WC*PUB>;T^Y\^QBIOZAAN\+F%:Z]>DO VO@C4E7P#@="[$ M/:KV7(2O2>60?VI5D-LAK^O&*?E([S,T/W5/[RX8IQL/7,R-Z;4AJI\MX).F MZ2),]KR!S#__T^_?'__XKX1J+-3:L=)D,H:EKONK_QS>?1]H]!-CT;#[O__+ ML4J &H+M\U9!)BL [5*!DD0J,.UK='H.='B"A>]'Z,\M^N4C%,UT^ M3+3V?SE6M*HA6#\^'/)1G!YM)&R_LE6#T&VR59=Z(V7KSD/_63SMTHB#*;(X MY/\2FL3G-!;N^AN:+5FVAA 7$<,Q?X(,A_+E[*7SYH"FVR MPUL6]R8"[+#Q/)/:D0G_P4]1T*8F[G#C4;1)D)-I5!()H+'Y/A77& M3K8C6/NMMYCM5/H M PS1 #_'QP5@E5"4D?W51E2B9J9)J8L5C(K\J^"00 M3]HBDG,B=5/[V:ZSBJHF99V=S%M:!'%*HZK5YCSDDGXKC(HSNHS#6'4@]3]$ MGL-^ -9?K$H,""U1\,*" PC-\-1SU_EOAXA.WP %]R%GP?8"' ;-03YTA4YK MDPEH+H&Y!ZPO4S;&N"N"K!AV'YP$":@W4U[5QW3@':>W)DM"!7M^F"&Z.A,W M4.M?OWYLSVBD^%#,:EM,B.X,4ZK&VD==-I!D'F*'S_A9?Q19=AS))<'HYR:91'I6>.0AS:X9Z^]XS3>J,]/5? MLB>:_1PG2;"F14%_RMAVHWY+[1^-\;JK9[5?G?8)7AUKT$3 QK^IFEP)]EUU M2;,.1B?XMX,1N7[4'?[0&.[&!E'4FV<]91N-5^O%9/@GP M'\%[W7ITAGR"E/E=4UL/6I&P206*KWXS,E$9+8X*WJ2XS6^P/J;U#.[DC\= M*& .@=$5H2M=.1'U^:!OM MK]H00+>Q&KF:T96-_$6U]#/)88I_/ZWCM"]V][GW-3D:'T$W#J]49UCL7Z#MCGMIT]70(F ZM?OU$U6-HA6[BYK M;F@'4,+M$H+]JMS!E_ZR-KK?82_OOOFM%[FI$"")Z+[LOOE\(GTI&TWSL>[>U4S&N]QA[ @]0"F:+A,7._G[1L,+WFC#:]/8275=':-S2K MJCG'X3R-SN)DR[=U8!%*U&RC0\4&0769U%"P^W29;I'F[&_JEF=6V V*LZTT-=M1G63C+?AM@IQ@H[ MM6F"G;JQOTHP9,.RZO)F7X=)=DC]?GNLE:0^Q5=GX='>\>9$F)M2HPHAYK/ M:#^-NP79F)*BBGA1R&_8O4&=,@XJ2(M/<0J=3T]9FK,DAOZ6=?[>"5VRC%8A MK(O@F>9G=)/1,!:AB= $: V'^Q]M+75<@L1$KEI&S3;+NUC#X!C:R=$4$78A M,IAVBX#&C'(9,U(NA#17LM/PY5I(M9@9$:"9$.P7Q>-D74Z'BA9E_0, MUM K5G9::E"VRH F]Y*R<4W90E(V>D79H+$2LMEFT,.IJ I51;"SP2JCP@'F M(6;:E31D/EC%>5[.+--V/.Y^XG@FM_7".\"?I:)5D!-.8AURA" MMGG_;Q*A944Y"2L^OV1!UB+Q[=1 M.WM_^)IJ<4/=OQ;O(=-'W#;W?Q?%/*2S MG,?/T %S9V8I^$CCB]')**]F=I;_I48!E?]EQNO'HKKY>><=I6!U?K&R!/MP=S.PLRZD$#%F)E=%>+P' ;_ M9H##$5L>;?D/LL#K!%Z<5;RD?'#N)*6[^ADB(94*C&ZR. WC39!4(6Z*0Z3U M#;:"1M?*':?Q"NA3/LY2'K\Q%#D=*C M+6F6P<4(-@PW2)PNGFCR2#^QM'A0"?*1LR&Y$@G5E?!'HH>Y%IQ1 M J%U 6X$D!-)_G2O!&;!R#TE323)D\"2'+\G.N2P=,S'\C,SO#6'8J%)E$O^ M+_[+ZE?\?^[Y;<9_\_\ 4$L#!!0 ( .N 8U=KUOY:.SX #""TR,#(S,#DS,%]P&UL[7U;<^.VMN;[5,U_Z.EY9CKN3B?I73OG ME"S;'=>X+8VE)&?/RRZ:A"2>4(0"D+[DUP] ZF:;!!9X 4@(5:FT)0'@PB(N MZUOKP\(___-I';][0(1&./GE_=EWW[]_AY( AU&R_.7];S-O-!M?7[]_1U,_ M"?T8)^B7]PE^_Y__\3__QS__E^=]10DB?HK"=_?/[^:K+ D1NMY__#..DC__P?]W[U/TC@F1 MT/SC+^]7:;KYQXWFUFP0FO?BQ*ND8#+0J-_ MT/S+&QSX::Y&:1?>59;@G[Q=,8]_Y9U]]#Z=??=$P_=,Z^_>%:HC.$9W:/&. M__O;W?6+9R:/FVB#O@OP^@-7^O=?/GW_@9?[P&1.T1HEJ9?@%'EG/W@$!?RC M'P0X2U+VTCWVGMFW&TSR3R%Z0#'>\#J4]35_](J@!1L%CYLG;]<\E^Y_M]-Z M^KQA8XQ&ZTV,WG\XZO&&(,H*YBJ^85]LR_..Z>Q](1]Z2A$;[-M7LA,QQL$+ M'7&IZ&YH4A1\M\0/'T(4Y8+Q/W(%YLIC'_Y]R61(G]G\\:-D][C8OT?Q+^^K M?BZDB?G(PV2KKI:DN4%+/RZ>.7J*:(E %2549'H[BO@W_[YE+XC.\564L$D6 M^?%L]^KHZ)ZFQ _25^(HUJJMMH5/[_/)FE%OZ?N;0GAHK-M-JU5)_L)PM93=,W^?#W+Y07-R#OW[V,DD_5%(9&< MQSO+B 3O,&%FS"_OF2G$?ED@0E!X4SRC[Q!T7^ M\T,IP&D;[7WR*%KFGZ-D@N4$*C!^0Q>96C9&JMZD-8=>1RD,M!+JBI.3X>2]<)&UJ(2RJS]*'5 MA@N^AM\#4_#1@:WA60L.;#FPY<"6 UL.;.D$6VI6E&ZD]=E;^!'Q'OPX0]X: M^;Q;=1B(TG:TH2F@) X_.?SD,,>0,,<5F]:_\UE]$$U*%P35<'G!QR M'G/J#G!0V;]VPZ:,7)0_L$R814H5*I76UP2/!TQTD:5?H'!65U MR+_%VTJ=FEY85V2Y@;^A$P)?HB*U&Y"62N* M=R[MF$T*XL?7S+Q[^C_HN5+,BG+=RX?7:YS,4F;_SU8,;=!)EN;I Z.DS&B$ M5^I>\L(LVQ]!XF^XU.2 %.]G. M9;V*8G2;K>\1J13P;1$M4I$Q6U.6#$P+!7M3JG/9.$64L&&>FX+YPC?F:4[( MLW!1!]72(#NSOOP@C1X0LQ'][:P5""TJWKFT=V@9<6=+DM[ZZVK5EA?K7+K9 M"L6Q;'*7%>I>LK4?Q^<99688K5ZR2TMU+MO4:JBC5$5*Q# MZ1C(Y/;<['E]C^,2L4I_MR<^*9H^UH>:0&ZE4P@XJ2@"[C&T='B\[2T&0UQ+ M!XI$)2+#$*R1CW9H1!"/ JOBDQVJ@$6)G8<3+%3I:H31B-KI"]I=.'JOC.&2'@KN<,QT0_>JDM1@=;J"X0&SL!%$^ M]$+O%>>J3" M5W1*H::I'A7;S2A+5YA$?Z-0WI.J&F9[<$UI!I?^96FSDE2>+?<*J*2ZX$I*\;RI5 M72HRXUF%(&_)>#XR=PQ"_\ XO0,0+N-6O:1\=3";=6-%K*%.\#S<26J##NO@ M!;"&>AJO:Z(A,0(!:Z:GX;KFFBG#-6"M]#1DUUPK@(##,$]5J*E&V6,'5D]/ M WBUU=/2,M/3,%Y#M31:8WI*1FNHDAY'-/<%J(<7[!.3>85C]BZHAY@%ECYW M%]5L_FB#DQW#7J#KA+(9 MSK5_%]$_2T*F*E6T]H&A110MDQT3D7U\]$GX#96D4E&IHOE*B12Q^97>L1DP M>_0W0NG%A;7*/6%3D)3HGJ,$+:*48WC*NE!#176: MUQN?*03,9;A@TB0HW(HEG ?0:EK[++^^"M51& $LC#:H@U)7W'=#<^ZT$CE:(%# M$EO&#*C'N [@L674J&H( JILT0U\Q8&9>;8$$%7'#-R=8XN&'*5!S6W=#2RW M91UJKL/&WA^-T8+\(N@SC^G)3[8$C?RFLWN?1KG'^_C1\$A K69U>/D;".;. M)[5S/LG=B5T:P7!W8K?OWCZ:Y>-]4*_8WJ9'\_R()GP8/_![M+MZC'-7.L>> MV&9Q=V^[N[?=20!W$L#!YF8N%K6[M[O=[W6#OT_[; TANM_W%PCQRBMK W*B MQSNXUBE+8.E_H[3:) ,)2]/AR'2H23@<2%2M1 IP,VI.\[Y@Q3/V]'U;*)2S;W M@E*2'GE V:?#H&,?_OW-?XK6V;I4OLK?NYN51W_"Q?R=0L_4V/ M-)4:*OE5;Y[\?#6_\H,H+E_/Y 4-RBN, 8B*:H_OP[GFHOO, ML)\LP#-55MRX[#?<0B3"N0NMICD7S ..'Y@Y\E(N87P=5,>Q+BQ@7;@X^D = M#"Z.[N+H+HZNTOER((4EB&;HO08@(:R"/FS1AV,.*-C>N*Z-:XN&Y $-&'ZQ M)?('&3%@!Z0M2I$/DE,9'K"E1 %EG@Z!P-%,--!,!LL@$ 0#ACXTA.:Y("0S M]*5!W._J )G]7)'VZ#)#N9G)T674Z#*@J)-NPLR/7KA/)>E%>[(MS?.EK5"X M9+N8QSH4/41IA!2NB6G2NC:J32/Y' ^G4QY.>>+@LVKZ"*C":1"$#BDH43C' MNP3#ET\;?O=1M085JK4NY"U*9WZ,*%2Z\O(MB#5?H;,O/YR![L6!5VA'L(]? M?E222UI>+['D*&4J6UB%05UA6:W2W_)+4'?+ MHG"P"TIJI@6^2JDOSEPC*VY<=LD%=[(*CLSHR8S_69SVWQ;'33HW_RZ(IIX]YGZO18:3[-7]P:#21"2]O11GD&2N+(S:>> M9/".[6LD"AB*G:5L'OZ61/F#X>\2-"^#J4C^_SYS=C/E\ #JL VQ)C/Y'> M3-GEHQRMS-'*'*W,T##_BY,5QZF:]-UISM2]S,/9JVC M])"_)\!LH+,%DX%4Y<1%P-:T1>V4Y'&QNTYC=S?X$9$_HCAFB"--T5>",T$6 M%GGITP@G3C%)&4P+?_7)/2:W?IH1/R9HAC,2,"E(1E.$QCACDL35VJS?2NM= MF&4;9EUD23B+4D%.)7"ESF-F7"TI(FS;2)\Y6JX(YHF*=1_70QOV)E=L?]G? MY?Q:GM(EJ%9=O(X(2/%#^^ M8W,AC');A"\[@J TM%IO^B*,E<$K:NT/9[2_F+KGS_E&EEO=NZ^%MX\I-V"P M?UO1Q%>1R6NXV*2+3;K8I(M-NMADNRYEH;6/&QG60U=/@^T6U]C;;%$7V(;$ M]2TU6W0ECN#)D;@-P3S9"J3D11NZ0N Q##6H9HM>5!:7.NXW^\. 34&D+2.I MWJ[>BA/:_D!K>['FP9Z*=;%F8:RYB2=;=VCYBT?0 TH.>@,&D=_4TQ8NKGBR M"PR?S*'.?D5!AM\#0W&=F= ME]UYV9V7?9AHJ>>8VZ&EFFBIWCZN&R>=?>]%"2N%O-1_4J;<5M36AIF$SW?( MR2$GAYR&A)RN\[D\]Y_@[$I(%8>0'$)R",DA)(>0'$)R"*D_" F^=VM'11^] M!*4[;+%!I$C J8J.Q*WH0TD0.1Q:S>XK^ROA7/-JUEQX*D*I;T >. M9#(X8.2 D0-&0P)&#EIT).=^G;SDRZ0PU;NPK$FI)5<\2$J;EER<9UY6WJ3T MTDLHI.4=C'8PVL'H$X?1DN49*Z^&UFA&CJXA6YLUSH;: ^4TCZBWYX4:_"EK MYX4JMSQ@]ED;7J@7;@L4A(5VKA,:,;W.B1_R"TB/[IMXZ78J=7[P5@JC-0@/ MMJJ\R49^J+K]:.QX*N\M^_#O-P^OPLBPPHV=4M62?DM)/$=D32>+.0G9PZL M!*QPAY+>XN0NB]'9]_>?S]BC1R'>I"B\BOUEB:35A5OPEBC+.B?K) 6*>BBK M15*X2DWJ$ZS,)IHE'";&I,(42_EP$3U))ZH"6VQ5+D0+IC: M:3!U%JQ0R(;X9'&]?1'/XXSPV3-*0C;\MQ]RZ%ME3C=OJ(6.' :6PA [[D"M M!ER4TH(HI7!PBPOU74X;T4*#V>K"8E5A,?&P&;H#TT7"'*'4N?*/-5&QG>'V MK#G=D.BSM_ CXCWX<8:\-?)YF"+WD=>#1]#FM$$E-8$<;.H4-E6:']"W!$(> M:J]7I8#;R^.=SF<)O#;0ZW.=Q6C=LTV$ZZ(=V/'GLET0-K M_@%Y44*94HOM@5^-SGJY9$)[?L!^SKM4#^@U>X@V^->&F X4F@&%S=X=""JV M,3RT \B+OIH@L,%FS#PH@LN7G."#I@&2? MY3P](-EP]7/PTL%+!R\=O'3P4@5>=F)5Z8:8/Q69+>]]IE:/E=Z@A.;/J@OVGTZ).0 MC@H#YEF%C-G!@[I$RM#A"L+$:F-?._J]9),?/R,T0^0AVNK_G,LZ/A)U%.=R ML;\FBSL4X&42_8WX:XLP*TQWN=;C7 MX5X5W-NI'67+T +SBSL#*+H]"?O;V.MY#JJJ:_,4B 5PG@$SH>.JMP("P.)7 MJLEDOXBHOUP2IKK=:IB+!++DE>HZ(.J :)_E/#T@6KG^..#I@*<#G@YX.N I M!YXU;"#=T.?LS/.#(%MG,?LZ]'"Z0B1W/!*T8H"8DW*8&FOR<^LUKN\VD ;B M.5"E*=PZ7O&,F?0Z&1U>U82_J?'QBRIN%^7L!94(:SMM=XDAZPU1$,)L,OHU M6>IW*(A]2J-%M/7'9>ED 7A7( N_W<8=@G4(ML]RGAZ"K;F^.7SK\*W#MP[? M.GP+C@.V:4;;,HSDSH$N[$_MWH./7H)2+\H%\S9L@\WI2S6]!:#&]'D'%,1Q MW@ S(5;8.X+!8877K9]O_.I28'[( MOT +EH-?#GXY^.7@EX-?*O"K@8FD'7YY3!=^$OU=+/\\;=T]S\;KX85W_&@O M1*D?Q=1+F=R9'ZLBLX:/T0?:6A'4X;E.\=PM>U-SO$_NM5^"+HIW,G_Y2H[Q MFUK--D3-UO>(3!;?_"1;^$&:\7S75WZP389=*J.X2@MWA=6.B]!>_@S:F[4=([W=2Q M/72CE4]>4-S_R,SO^[0A)H$UI@UYJ(CC\$6G^.*"O8!#:N$Q?D#,]DB_14FT MSM:7]U$:^F6&.Z!:/>.W0LSKA"TBT?HJ2T(V2T=+@O+A%"W\;XA/XS(9H75: M$.^;_\0[/D-)A,D->F!+[1+=\?E2)EAUZ59U-B#H../7(Z%PPE211,M5NGUT MLF1:0;/)U5WU6U:LJCOT,B#8D=\ :UD3M417($#W,$ MCS%.*(ZCD*(#9(@*I:*)&0[.4FWQP;*0O(= M/[)5DD3U)G/'+/R(Y .XK).@BH[/T2<^1X6P?Z XIE<^6>)S/_GS=E0MF[AD M\V 3)>E1H(E].BPC[,-NR)7*5_E[]U(5\[I:JK+?.Y?JCF>Z+%EL2W_3(TVE MADI^U1JX'.?[]9;Z6K9#R0L:E%<8:A45==2J5GOW!^++-0I'Q5:XV\VY6(). M"6H9ZLL-2CFDF2R*L3/)4F;@%N$#$5U,5LU4;QA"VLE4)?E1D1Y("5B'9,6- MRWZ=, SD4W2!BG^O,"FNI;U%D+< ::9';^J&XSAU8SW96M#[5T&8W_# M?DF?%?I5U42/WM@=XDIGLC7I9W4C/>KI;TG&;XW>"C;&ZW64YAYIA-A4"KCC M8UFU/]5NSU#_[] #CA_X>W@Y'D442U =1[RU@'CKJ)0#)?XX*J6C4I9UOMR5 M@24^A:'W&N"+P"KXWQ9]./*H C[$=9&)+1J2+(E4$(X;^M 0FN>"H.C0EP9QOZM#U/;3A=MC M3'\>J@H<8[J2KEAF@D)#"2?(HBY3ETJ\S+&I 7PU1ZSNE+EX@J3L&P'9H+OM MK[_J4&2-@%7THSTJ:A1Z!BOL)VL4UOGYHI^M4I4" PVLH2_6:*AL]M7B0.@^ M:O.CQ]Y$],":?T!>M)\.-+_G8(7")5LT/#]@/Q?I7IN=PVGI:=H.Z;0JKSO! MT^D)'H9BV!*57#X%*^Y681\??1*>51]3 %4XK0,I=RB(?4JC183".=ZM\9=/ M&Y30;'B$*E*R_?@ECS%3K[\L/9\<8X>_0WU7*!*K0CV,/"54RAIM8>E9N+PJY JFCMPU:?.Q5S M-%X]5\2%#@%!<5S'A6*+ MAJ1&"58W 6S1C9Q=" %X0Z<7JZ\QROX'6U0$R9@/]0W:HA/5)1CN\1DZ?UU5 M0ZHA5UOT U]XI X46\ZY* T9A2BI+4.FWD*L&L:P>8FN![L \5-;3M^H3D$@ M(<"6%4H^ V'N4%OF& 1G*7)M;%FL:ZH&0)*R9:UQ)_W<2;]ZK',8H^$$3_4I M,(U.Z "?ENCL"9WU:YDQJ?MHPT\>73$-W/M,A1XKS3?:XGQALT,,RNUJ.ZY0 M4S)W,*'3@PD#XO_?9MP,G2Q&_$@+FJ4X^),MG>R)[-,T]I/7BH-5:O=ZC^W3 MKA._CI"":JV*.46$[2EK]N+0B/LXZ36E&0J_97$:;>*HG'DOK=25B#.^;.2/ MG/MDB5)^\#VN3/RK6+M5H>^8F4.B($5A_@9_2Z*4LHWZ6!K^?:$^T9F0VLVT M<>\+5]@Y7Z7'1XOTB!#N%,]/HSX?BDS]Y_S>7B[*Y5]9GK]A[^?*39WYRD\F MF]R[=8N3!]8U%!;C?90>O9')XJA[94KI@5AM6NB8%SY8J%4$RF M+"VC5B5PA#/-O..GEHJ:CT>M'5K729/(;T_]I0*;<*@*7U MLFYE^S&MVI /ZPNS:9AM>^NOQ?SH+A_EF-6.6>V8U8Y9[5+WJSEGRXU$K'/1 MMD65\OB;P"*W)8@O'4\@V\<6;;ADRZ_[[)(M6]=OZ=1OQQEJBYIT,%4&SWQS M3)67LT=RS.WKV"WCG9 MP;JW)Q.VV:B2;I;;SYSHM8W/II1OR8H!EFST9T3C*V):,QDRZ( MXNJ17;^5UKLPRS;,\,V2X6ICIQHRM])F'?2I87:)BW1.\ MT&8[%D=+@E!QR=!+>4HWV%IU]9*!DH>(X(1+YH-/^QT; N?/^<+);^F9/]UF5%8OP&#_7L>!0%A MYL+8)^29??6['V=HG!&.*$']$S70BS>X5;YP8@%J.#*6(V,Y,I8C8]6+H0NM M0MS( !NZ>AILF[C&"FZ+NL"6+:YO/]JB*S%E28[8;& OR58@)<_7T!4")VVH M 4A;]**RN-1QT]C/>VH*!FT92?5V]5:4GQK R91$;[(6:7RREQBZ_UG4 MM:WT!X9J'?V\:<38?81;.?C\9_O $:%\).F=6G53*!BR5$W*'M6/PG)!_K)$!90Z3?VP-DU>V9 "32V1Q MF-QA\DY %;^#)BC M_T57=K5NQ'[VO1?E5Z]YJ?_4.!D)L#5MR%U)'H?>'7I7/F&]6* @W=]?./>? M^ V/!3\KXW-^@X@OO.L!W( AM,4$2)A4_T)^U84,1R4<(G2(T"%"APB'@F4& M"^<(R FN; M A3[5>F2+TK".ZR%94U*_?H&.K'<;^ZK,RRY^ )M67D'DQQ,.A&8))G&6'G6 M6*,9.7J"+('6@,G: ^4TDSDZEJ7S,E1[&6K:KQK]" %F2#EAJN)_41Q'(4_* MY=W[<7YK(%TAE%(OV.:7VN041B]+_"R,TD-N"[EWH9WGZ/ YM"FI\T2TXXEH M'A,+ C[3Z-1_YLN7^!8*<6'=G89A?/>G'/-W<=3+V-U%Q>^6:'T-ANT!5 MY\ 5]?:'4K;*5U%8^78V2D/_# M$R8^^#&3B([2%]DF*WJA5%=SPJ[]?:1B!\!17%C*=' MRT'66(4>U2556M?;K8 JP]2_#(9F#JKNB.I)8A1_Q5E##; M^X:G<;UF("!9\D34Q:):W158):W]^(IQ^!C%KV-G53]KE>TZX4X>3)ZK-5I6 M1*N,1X.Q0L2C$H;L@B,)V,Z2+]4K'(>(4+YIIJ\O-H96,]\;RP=[<1#0;Q4J104W./,)N/Z?,T M]MD^FH3[6QFJK4I(%]%40Z1F05["&[U9H7 MCNUV0FPW=RBHSW0=0YIXV\_C\T#R$)PM"A%W]3ACNWI SY;I ]81P,"WA0$( M'S>J83RPAGI^G2Y80]61$K J>GZM+E@5RIX*L(;4+V;$J1_KI9&"U22DM(!5 M\J,U@P;J$P*KYJH-5]+,EHZ<\C@Y6PQ=+U*!"@(#;=;88OX"X M"UPIZMG%>K\5U=Z#>F[Y Z]*!I(";,&,@/Z^N+%D,/H]EB_VLD%\ P/JP M!88"^OLRM""F<=H"0]74(CXD:,\$4M&)ZC%L6Y"HFI94J:"VX%#%L=0D7X%5 MP%1-;W+R97? M/?*43W_=U"5J11"^P+4PPLO\.G*6\3XD;:8/0C^"(.)@U2% M=#F#.LU>?('8*P^B8L5(PH(XC,KBY*,U)FGT=U[RE8@MM-1*(N:$#Z<)F?HD MW7X8!6PY*"C0N7$W63"P1*-P>^?/UM%>UIWFK6G.N//?&2T0X1S?(3;E@BA& M;%,][+!SS*F+4X(?F,3A^3-['G5V- XGB]=! M_ZK>"RL9.D&YM<]SUAA;0S.VBE\7?J3P/&.C-_T72KDE7]$GU>K:<_"\XMS> M(39J(GZQ\):3^_*+HY*L&S';59+E140WF/KQ5X*S#:O!/@?%'6#,+)7=4:I3 M!.\'IV4-6OX\/"T7%V:SCA*^IUZ@XM]]QR^?@A5;BQ"_WJZX]*X+/2L+8>C$ M&!?[BMF5VYV;,XQIOO7L+),7VQ ?) S?L(5/LO>UU:S9W$9;=O$Y2M"B\J K ML);NS$9[HW)*(J;N#7=1/>?&2$4_A'6\Y&V4)_YNKN MO(K*^SRJTY^YN#UMLEOJ2T^=@'L(: M?(+577E;1G\BKSV@XZ)LMZX*B2O+FS)0<9C1+$=MTJSK.3J0K3-@ #Q **;^ -!<7OKPKMF*ZLWS9^50>;MM>[WE><1FC0?TF+>M.^J6Q]%1N;H;MP MAYN.<1?BD&$02!4;TB\.E1H.>#LN":!+ NB2 +HD@!7':9IZF6S15@,]8)"C MR[H))AQ6W?,';1EXG6H*M\C;[6X FT@KUK'6]\]18I+:/S" '<'A]Z^%*I-F,V:;LM:IUQXD*F#(W(O%3RW=P@WH]!U)?$PDC]7T M%NHSWFR!DXT\F6 &9 <.)9.67@-U'.<3JD^]ZWFP"(P^>QHZBJ#TXH<\6 M<[#]40=AWG:PS U_\*F=N[8L3-#2.&R+S=]=&KVA3V]E[K952??:T6?]L[$= MN/.'KDRSV5DZ\/IO7\@F%XT9TB0]N=?2, 54=W& XJ5<)H/<'4WFB^K 7.DQ ML&TWZY$M[+S6M/)"TW4R\=G"'VU3HZTF\;0%'G: M]_KPJMIY:<>IH]MN6W.2L$*.9WX?,EVAD%\/7=S.P(QI1!X$.<_ -Y0Q%!NH+T(=_[C-S9J2.3':FJ75C33GUFVV<3%E6_PO@@KF>G''YC\R8E\ M.$!4K3/RFNYLNCO7+38NN]E8W %P=P#<'0!W!\ K_'ZJIH5UXP2F'>C^;HL7 M25$]4#A@B_]'43T 4[>[:(.1B]Z4U%."R'1[L7[R**=9W/O%969'/ M",\]/ M0F]#?<\O7'K/-9U9S1ZBS:?5AIC.M=6I:^L0\\SO1?PMB?+CK%-$%IBLN8LX M_W[TZ).0?D/K>T3*O%@-FNG2/]=L (+<=&V,<5U7F''MS]D32T:9L$P/\OB- M".&1"Z[W\^=#D2TC*Y>ZN,SS.F$C,2MXK)RC-5_YR623Q^6O,%D@?FDDL[]R M+D.5>T"?!*:297;>11Z,_@/Q0!0*1P^(^$OTE36>7K#)<^5'Y,7MV;KUKR2< M)>\E[R U-O++'V^E;OLW[&O*9\G;N<5Y4!V%MUF)^:+]^8;N;#P=_9JYK5%# M__JWL,!%LW?4#_JMV#97?L_[;?EX^XS[E_WKW\BO*5^_W@ZMZOX!FRJ-OY="@;A[UV9GG!T&VSO)L=A[F'&"!'FYY*&71-VO$5#^_LDG%[Z?8YFCCB6Q^1>$23?.-$-I1E59,]33? M2,?' ^YP.T=^&&ON/\E["FG%$%/*3%_-\(\ 4D+'+JR^UMY=,-/V@=D(#VAW M51J/=0F)(I JAOIP,&;O(OJGX.0*I(K6/A3&^'BWB0E?@+"L5JFO,&'0X#A5 M& <6PND J:(Y#4N*F*F<\M2ULT=_(Y1>7%BKW),@.D<+ILT[%,0^I=$B"HJ4 MHKL%=4.M M05],;Y?9)$R9+?IYJS1%7#XZB$L-\O&Q?VF3(&'"TX+H[1CU%:*^*&-H(.\OXY1*6U+2E,S!);HVXSO>RK"*[4:L,>[AK4MG34LA.DEKE;_?H8&NQCB*NQY6C=P!&J M"^J:[(YLT-MPE<"Q91WO0*B(.CBEN^!<;\<+P)]P6CF@5#P4)YF;2>;:ZRZ% M4F\GD4;/>G>YD?HX&4&.[^[2%_5VP E]UG!;T K;&1;IM05/2'LKT$R)#\86 MW-!$+:61:KAB>JX9V"1JYJ^T97+5UD(-36J=C,R6H$CO1M:A+J$A@[ZQ!E\> M08[R#;PS_B#L8;UA$JJ(ZSB%O>$4OF'Q2C)7"6H8HC&X/$[]R./D,B*9DUN9 M)F5$RJJ# \*SX^TG-FKZ.%-<.-&YBQ?'QW?'RD<+-D!?GR$:)3SX5#LC5+,' M]49?IY8NJZ'4$K),RZUKU:;K+CC+$+DG2R*2&^GPWN3 M[ A8=06V12\NG5ISNB#$VK EE@6?1VI6I"WZ<-2V;E M&.M-&$AVKJE:\@-I(U28)):VK2. ^EOWTMLRJ@V\B[8<_U8=YS#T'KI,63:$ MI&\=JEV!VZ"1F91?HO#96_@1\1[R*T?7R*<9V5)OV,Q#_)\D].+(OX_B*(T0 MW94)/3\]KHH3CZ @(X2SK>Y]&M6]YE.?0#H83D:ZY%A0G5[S>;%=R,9'=P-S M,Z(TK*=0HP71*N]*T3<$C_O= W&T!H9&N?#[*YPO(LHW+29W18Q(6EXS5ZQ\ ME!925K+%()4,<=XDDK\L9BBMB&,9]H-E>!#HYK#N2(4_*NLE7XP(OE\^SI_W M?_X:(<(LR=7S#7I L> UJ%4VTZ_K9).E-!?F3,SZE-?%+N MP:<^].#;D97Q=J@+U]M:;3B*](E0I ?+TSIE]E)OX(FC09T.#4K1V,*M[$"V M*,]QI1S[I;M1H^RFLT5!\D%3!R+:HIT65FP9%K6%*=2NJDI!KRV,HG9558JN M;1E5/6 O]GPP.?:B8R\Z]F)KI#V5>%9W5HZ!K#Q0]8B#9M:M'$)M ..W':PE M+SF;\_X/%U&@3#?GZ2>/\@11]WZ1>>@PT2N_1]N,IO4H3:T]3QMCJ66)'2&I M4T)2I1^[M=<((O6T/&AT<7;B_$';I''G7,CCO5]\Y1&LLB%F29$+?^;'B IC M:97E-(?_7MR3YX41]9=+PIV5W.["B\,OM1QJ-5K6YCJK M+9MSDIEQDM5X82!W6.V!X&XW=Z"_2]#?NISS:,VO-%O,B9_0!;^'@U_ .2'; MZS<%+CR%FGWJD="EIU17;Z^V$C'[9Y1.<92DUPF3%@E]>;!*IOHQ>4!$I0OE MY4_%159G2W+.L--QAJDLQ[C1BF>+QN3P57F+L\6Y47Z6NPTB1?#2B_EMOOPC/T4:Y.=/P^*N M0^]Q>Q6BYQ=W(?(8YWH7]?3PT26("TSX17O;*ZBWC=#M-ZP!O+^4NJ9?KJ?2 M:_/]];K_SK]HQK_8TT$!\F'V5':MW@;A7=FO/ VE90W1_R2764LDWY8V)/LP MKAUT_N1NY"R]W+GJ:N=#[N:*#C5LS7S/JZ^U5NFQX')L,S<'UKH.'=93R)7J M]GM[^[IY.X_RZ7B4=?AL!NNV\SDPG$4YA+F.UO) M[)(7-"!GZ<($*:K5O_>5,/PV)7@157EF2TIHE7"R&X2S[1@4LD@EI1UWO^.T M!+G2A?-V/G[[??P VPBK MV"5#UX?:@HY!^Y9U.GD3!(%:V$/W_<-FBY*Q.725U(B0R6TDZY0B6T7JN%RL MBP^!E-3(T6.=REQ.;!>1UWZ*PI(U6:BN2K>6[O#7CPR6[?(O,ZBWNQV@N+YL MA<)ESMP*V,]%7F::K=<^>>9X;\DL49HSQ5#=,%='3]<6SNI4?A>VZC1LQ68? M,Z!9LVQS_RN+-OS%B0) LM)=QGHZ&F>@F$ZG8UR3]\]=H-VW"[0/ M%;G%X@ M&BT3[EHK5YWJA;GXQ87-BRW M<#V0%>]#&G&7"%U[+XJ+LK;9%$'749>6-2+UT&[1OL7,'-XMZ$*A!27U1AVE M%RN8OE+!Q7$'Z)HQ8["[>*W]\5J@G895[2);].*N G!WL';-!6V0=@RZ!1O6W$W;YR3(2 !3QLT8W1.])[ M3H90MGJEGBY;-*.#*:-\-+HO*C#/E'E Y![W\SATZR$KCP2IH[D7NZ0D=(XKQ)OM;S$]ONOKCH\QR@;7-F'XE"T].+Q# 5XF M>2N_^W%6Y4O7]5BMNASG*PXR5_PRW V?^@-:[$^%;PN-($#O4 M%FU(^HKKXB);J!U&.%(]'S,]X$CU?-08)7GTG "C$,>7@R5;IA2LRTUK'/H.,($)BU90'J MP5&0N;@K_6^J3M(_\16F4HKN5M^^:D7KA;%E@]%W6!E]'OA2*2-"2 MFPI]'!_:^ _6[?&UU-H6.P*L3>4KN_JH3;VT3[!N?[1!MXU#;6!U_631LME" MO ZLMY_KF22723\U)R-H@/7RQ2Z]2(./&L_4%%=PG'G^P<_A8;ZEY7=J[/>T MXF9N\FK7XJ=*0!5KWD:H62QM^5O-=,PE=NTTL6OU!3>:WS8HO:J9(:CKS-)! M0"&Z@1XN4VC$5#^/3FB^0!T%I(!V5*45S2>G* .B7S$.*8-*6Q.?SO!A)WYS MA$I6P9VEIW%DJS9E7Y_[3-CW#=C&M$+^BM"DJY*O4$I5"EY9R1]8@IW.V M>5_XYIH>)W\IKJS(\1P;% 0QM'V!BG\K>M6D*NC<.DQ,YA^'R7INFD_5<-SV@D_5<0ZV8N;@;@]$6'4..B;4% M-NPA#_=C7-I,T#9S?&8H2JG!\E>.]5C'JG3IW_MTM'$HHZ;&5%./-MJB-9?U MV^6V'NCYD#XR6Z'!?ENV)9A66@X#V;+V0I77T%]NW7(L5%?SF&L':W?_R>50 MFL-I'0(1\B@@W.CM+_Q__)P(^^;_ U!+ P04 " #K@&-7!7&M9DXI 0 ^ M A( % &YW<'@R,#(S,#DS,%\Q,'$N:'1M[+UK=]I(\@?\?CY%/\SN3G(. MQ)*X.QZ?0VR<^)G$9H',_.=Y,T=(C=%&EAA)^#*?_JEN2=PL0 A=H78S"1.7"EY&E\TLE06BP+59M?NWJ=^Z5_J2%KBKUZI4V5#P_FTQG_ M"GXC59?OJVT<0O5,,VQ'-A0ZO]Y6@V8&UXIG__?MZT"9T$?9OUA[<2KPZ)4? M^$/1#%TSZ/]]ZG\]F]2@[FFG O<1Z16A5JN+\H7#IC\T+RKY=>F3P M;+8]3Q(J@E01)?\F,[OBO$[I8A''LCWB=_&_88-L5@1Q:9"VY6SZU?RK@)_- M'(L^;"1 ^PR^7\QMTW5B=6E^2[.P3'W#+/@W0;-PIE8P=M@W*]!Y0Y15Y+"O M1[(]1XYFFS5);&[#FGO%"N2=0,C77<@["U1JNU%96<>R,YD9*K54\Y&N_+I_ M_?E&@^$_V!\4\W&)4.'(]!+(^SO&HE(M>-GABY55-YZGJS" #[0I92/EUPGM MJC"7+AM(::T2$N 9B-F5BY2995%#>0V^H__MZGTU90.4-&7E0OJB3(*O9-^L M#L.<&8ZU:13NEZOW5M0-MU;4E0N!*1YD>1K(+>R+E8M5QUIC]A5(P-=G[&M/ MMH@522Q=_D0N)E16X5]RX6B.3B\9+7V:_24*?W\ U7!QYG['KOI_*A7RF1K4 MDAVJDM$K&;J(O0;$DIYI.;).*D04SR0^.-(\%YKGM0;I?2.5"K_#(W5DPD98 MH7_/M*=?2U>FX5##J0QA="6BN.]^+3GTQ3ES%=/9Y<69-\Z+D:F^$MMYU8%! MQG!MQ=;^H>=$%*;.1\(_&,N/FOYZ3O[S]\QT/@ZU1VJ3._I,^N:C;+@??B13 M656!G?RXO291E7_8NO!%EX0O9?M"N,+0V:\ M#CQUWC5@G5^O8/:6K-_"JK[\1E]+1 .T+,F%2O!EEP)P,_RIMNH79RO#B&=8 M??J@V4Q-.7?PS:91K5UU>0>(F#Q3VR$]D CDROP0\^ ZC]10X3_G1I>C[47J@(:=!#XE_R?F)]]Q26,ERPIH;M!@ M,3_OVE1FC_,']N 6IGH#G]FER_]6$WT6FYSW)';YIF?=6++"[!<.#D44JB!$ MVC6IM/)P;>6),T-S/_X^N/:?[TFW\XZNF\],(]V8(%]F(V<\TSL*EZAVGRI4 M>Y)'.D"1C1!^5ETEOS%[K*BF4U&IHCW*($6\%R ?*U681ZOF3\,?]HYY5 /F M(;F$SG >U49[SWG4(M-# 4S,=";YK^G4@F%P:Q5>ZY2]Z!AJYQ$87ON'?]ZS MS"FUG->>#N( ONN"N)\R3$6&IH/HMV8@Y_8<71#R0M$B M^=$!4AIAUPXD[V B6W1]E#UPCBFH!'7@F,J/GFS=6P.'X>=W69_1Q:\6 PZ) MA]N[&]#O'P1QSQDUPZYW86;4"D6C$'/AE]B=F3,Q+3 @U:AS$(4R&%[LOSUG MT@Y%FP+,I"[$2Y-;VYY%F@63FON./9QM$GKL]S.'^=#,LTAI F*\,$IU\<,9 M5#E>_-"6U";YRO2::>1$N-9#FTK%F$XX?;YK(K&)UWI$\1I.B>=^&@=H[C?3 MB"REYHI.!%>BO9=Q+;0;!RBZ-U,X3%@=-(_Z :9'S*1HE]M2LUQM[ FFQ@%: M+PE*1)W&&FO[89GF:ECFKS[XFQ9EW@]S+EF8M/.BV94>-6SF>,)G]C4=:P95 M/U$#7CC?Z..(6MM=JGMG0BU8#/!L)^Q&3_364,Q'^M6T;>_.X&KQJWJF[5CS M,7C/X(\=RB\1W=L]EZI9#;=4U]32GL ?9[.!0?,05E^S?_ %NS$MJCT8W1=E M(H/["&^?94L]=+&N9'MRHYO/7ZCZ0#_+FL$^[(P=:O6IHLNVK8TUA8<(8+5 M+1X0$MASS=HQK-DM_!Z8Q.F#)A\\R]/"K!:Q@=3P"I9MSP!9JQZP;M)BW21D M2W^IVF*XI3INMJQ)>ZY:D-S?=]4*RYBP7GL),E$0-@A_$?7DFZ7:(//7E^J8 M&7(A^:M[;?&(@A@D^?==O<(RYF+=ZM7]UDW:H 9$U)AOEFJ#[%]?JM-@T-:> M0*L&:8)]5Z^P#'HIB:V]=MQ:V\+#L$@C9[$\BZ71'F]FW!WN/%B4]9BHTI2W!F>C,]!>C*=-TNU&-&=R>XJZYU'E@\0<;W:'_9B)%BN+1L? M499+C'.]NM_[":^7^&$_7[HI;0GUQP^O.]-0YRN6 9R:'_;+LFA*6V+M"3Z,T6.P3^^-=C]GRC?0 ;D%E'3Y3[$)'WQUOB/5FGNL_<6\H6P_4^4J?*,LZ97.6'Q8[N14I]'P% M9MKMZ3$U:_L2+S"!C&5+*\X?FC.YFMD.F.[65TT>:3I+I7;S_(".5[*C3+Y/ M.^K_X!K&)T.S#[,V9O2*L\>MT;4=F(M#[\=#5K+CCK=G:0J-!N:%+[3-Y U* MXM560U]\E'WZ"/X'L.P2&>]'NO; F;?[,J4*L.Q0>X1+[L<#^-0>NX\:.++E ML.1E#IQX;_=!-=E]*GR\(BL^6"?/P<]SDZ'%TC*GM-A&YQ(E6-W7N3JS7JEL ML>66]DJ4+^1RUUPV26>YV:[LQN6.,Q=^[I1/*7.I67+ZVDAJ+$]=;!-6Z\+^ M$ME?$MDS=UT46AMD3W.C[ G<<^Z DE U?<85!U5FEN9HU :=J\]4JMY8YB,+ M+V/*JA]6@X08-J M9[M:F\;5%B*-:VR:CF$ZE!4?GH/U^P /-2HSV[WYF K2J$95H5(7FFJE5E.J ME1:5E$JU#EI9D>$K.BI=#B>4&-RP)N:8] 8=FZB:K>BF356B&<29:#9Q6'$, M 18AL@.?4/B 6:-$9^8H^QU8E/]VR\K\084:8D,8B2+\71F+XV:E)K0;%5EN MC"MJ?:RT)(D**I#L$APB_E ^N"=JLZI'$"#?9$N9D*I8YCJES"\!UIO)^M*$ M%)YJ1&QN>L,E,/YG"O/0>,X4>99ANM2AUB/;\6"UE&"&.MI4?P7!L'CHEEF7 MB;QQQ*0VE$I-5)N5]D@6*[*@4'$LM&5!IAR90"A.+<.$X2QDNT]. M?V3.Q**4#QCD.25 <&=B$PH>LDH&% 041T-5<)%"X%=L+FL#Y^^6BTAY>C.% MB=KPGI6MG]N\2!N8G_#F N<3WJ>!^6P5OU[WPXNMEKRO6:GOKR5;>YSJO!)F M]1[N U<>PM_;YLQRW_(F#.>>R.$KM\DHN_2NI;P U'^GJ7S?0(.Y\Z?2P(X+ M5[>_K1:NKO_XTO]H]>XN]?UWMF_]7BY&Z/]N\=U\F.K2I6P&BT>XW_CO_8>< MK:S%?&V8.< 7QC4'_/L_4MD&I_K2>SP'BW\+_SO_/;M%X%I[S@;X2E(]!POL M=@9P+A>#FM_(^V;?-6,N^OJ*>;T6SN&[O1=LDS[,?NW6P=E,!9QOUB; A,_9 MVDCAUT:*?6W6C?W\K4U8H7;8VBPSZ+QDPW^*JCW!)"Z7+N4FH>R85D1>?O-[ M]N$U-4PPB8)N&U:HKMSB;'7T$45)Y.25A*'D+0E]8"-SWZKPL)>IKBG^&,!& M?'2'N1P#"II.Z7)>8;5C7A=G@8^:K^]\1$66D4CTE(B>G?"/,8\4B9Y34SV$ MQD>BI\?IZ9@R871Z]"S+G))]VX06Q-\VL]/0ZTCX] B?*]V.A$^5X_.CWY'P MJ7)\073\AEJ 0I,\>$ZHUY'8IZ3+D=@GI+^1V,74V5J^]NI6]CE7YKCG/N>; M.?K-:7(U1\GO4AS/'&')&HQ3>=_)FGIK7,E3S9'UHR#E/U^5%0,O0\"T7 M1$9CX82)CT;&29$;C9,$C9/\@B)BDLRQ6 >))=6@?9)C>!;2KBD,5-&R2@BV MQ;+("H/74[8)$Y*O1;\J6;6)RMNBV;8'PB];MH=FQIV77[IE@B19M3F%YQ+9LQA!%*S8! MN!ZC_9HQ3M%RC56>GH;-FK5L/4UK5<.DP10J!>(L7<'DOXPJ!=(G8K%,D]P8 M!UF3K? *.\\J,\F:0*R72XY84KQE'>&(A5KP"(B(6K"09$,MF(X63(:X^:J7 MBV^.FQK5H-*/#9LY:5"S-Y'16#AAXJ.1<5+D1N,DK:AVKD"!]7+%2(P_4?L$ MZ^6*!U6TK+!>KDAX/66;$.OEBHU=M&;C::%^+/9L@9+A3]2BQ7JY8L(5K5JL MERL:9D_9LL5ZN>+C%ZW;0P\8."V[]F3JY8X56;BQ,U= MI4 "YP2BID\(D+$>>!B.6*CICX"(J.D+23;4]&EI^KB(N^FL;U2(L=%M):B1 MW1G?>Q,9%>D)$Q\5\$F1&Q5WBEW@\@,*K)0- M1ZQ"&F%Y,X.R)F*Q3)/<& =9DZWP"CO/*C-QXN:K7BZ^.?H-'GR#%8ODDS7G MI/#F7/Q=//8C,AH+)TQ\-#).BMQHG*38_R8_H,!*@6*D!)ZH?8*5 L6#*EI6 M6"E0)+R>LDV(E0+%QBY:LWBR3D'3 $_4HL5*@6+"%:U:K!0H&F9/V;+%2H'B MXQ>M6SQ9IT"I@FC18J5 SB&*5BQ6"A0!IVBY8J5 T3![0M;JS-!<#/=F%IV# MYI'*-KR_]&X!+_W?^]_X[]GOMQY0T&+9M-=TY"SHO8"_]G@S,U00"YT'BW+" M:&,Y[P!>GTKITGB>OISOFE"<6%D];J$5;_HHI]AAQ/OK=]G2Y)%.&0/S7PRH M K!1[Y\HJ(&'B7.C&;*AP(\YB]_?]$^-ZJ$?O;Z4WH-#+FB2$FH9=SLDU/*E MAY?DB2 ;I>6742 ZF(UL^O>,*8,G^&N^8[KV.0(Z;D!O6/B%^@VDP-$RDH?A M,(RT=NFA18&I<0\R0=),<)@-L8:K0\ML%H72:/4E1K%$#ME"BA7@0!B_E$VH M2-)?7S6#WH^O0(%ISHVL:#J,A=/M#ZKK]HUL/9B?9./'72??U-HT#8]FP9-) MB%+>TL;E405TD$"B'4MS!769%Y$MDZ7P&F-NH_#:I8=;RB[C!A"T3Y],_0DT MR>IWGIE\)#@(0L BP+]E 0XWE#.'8/)6%Z+JI%&5_%&!20/LKS[++.(7?-,, M[7'V>*11LZ-![,['VI9S/J=JZ9*]72'M$8?CW.]4(TAK^F86K ^+)< 5E1VO*JS?//-]G0-3O?M$RN&)1X#!?^ZD37K=UF? MT4^O\Y=?8/%E2YF\?J5/5'<3UOWO;HWIS+'Y%^*I@B#T$,(M[E+2^^951D2& M0*2$B$P!D1(B,C0BJXC(%!!9/3I$;BM_*B:8#BKL.BX"GJS1E4YQ'UI=:0*R MT#97<0!Y?$974H LM,E5'$ >G\T57+Y3;!SM69)T+$0[>0LKJ5(TM*W2 >%1 M6%5Y!N'QV5/Q@_ H+*D\@["0-M3QJM:356['JZA.5E47O7RAZH-F M/%Q3&R[A.SC>MI?[GJH=V[MD<>=\@R /493@55T\/<3RYC)3:'X*RE7G^LTA M*)IMUB2Q>0[?^;_?[Q24 ] LGBB<^3[LUB5!,.\$<_=[?R.8X;O4P;P=RW>F MH$(D)3U_/^H1K-M4,UTO![_KHU%/.1#ASX MB-W_JZDLKA_(.K6+#-GB^4>A'[J%;DMG\RX(&"<7K!]GTZ9-B[[3>*H4:< N4:;)N/%D+=-Z0@9.3JU"^5 [$7T M4W%( ZSJ;1[CE6D[]^,"<'@HU^G-;$[#MD8"'[F%C00^)A$=8&%5>UYJ)$L+@@J(D%C M(Z@8GJ!BO 1=\7J0H)EX*[$2=*=]NV$I_NJS0C=^Q3?P[AYGCR=!Z)W/LRWG M?+XTI4OV=F5]CLLXC@U"\@M":!N$EM>G^!":GR[U)Y47Y/;/D)HYUOF?_D_W M.EA*9$%BII.NS!G+*IG"!%[OY$<79%_-9VK]H>DZ?. X]+-ESG)Z6#TC>= 4 M/,=L\T22,?/]98W)S'=OQP7&G&!=XTFS3(,-3M;[L-2JQD.+ \WQ9(AI.;IL MJ%]D:V1:@QD\&E#K25-<'O>_LZAZ_T0M^$G.>3O$I!9&XL;9)6G,Y2>7 @&0/@!R ME3.! ,A$ N0G-P(!D(D$R$^>Y9X Z#@]4S.<6^-X41 P1;0&$ IH%R 4TI,* MA;40$ K%MQ56LG'Z](D:,]JGC[)FP'HM[:O%!-7_,7G)6G+?[H)KL/A4^7I$E5&0#-N=UZA?#!Q?>QCEIF&(R-_96\W*Q MFA=GR3YISC=+"YB?Y*="\D'-E1C(!['P0Q,9H9*+9@&/=<<^AAI?WB>LS0O86"-BYW7*_-Q:AKPUN8LTU&4V>-,ATO4 M:SK6#*I^H@:\<'HZZ.:.^K^9[; ?Y]OJV#K'A;VQWV23V8*(^]#C4 =S;^UW M'AH@_@FH=]19/N&4]F0K]PC)0V_S_5$:9L6/"*8;^E(B0!-O1'FBT-P4JD&= MF0.=F9/P3:PG]: H0UU;;'BCCD8=G5](:ZC%1 P1HZ(\$IBBHD1%F2HT-Z5PH<[,@<[,/JTK_N.G492A MKBTVO%%'HX[.+Z0UU.(YT^(K6_NQ!CA0&Z,V/A:8HE9%K9HJ-#=5MZZ?>'8_ M<^['2Y._=R;48HMDT0E;2D8TUDO=2]&/]N-]T5Y@?7W(^B[0>-A"9\$T&:>7 MY:=F&!D,&>S8&"Q7E=C(8,A@Q\9@N:IO1P9#!CLV!LM5AZ'H :U"L.;QQRJ2 M#::=JGS(.N$]/SXD"@@4$"@@\B4@B(:E,"10*&'= H8!" 85"UD*A.+$&% HH%% H8'P!A0(* M!10*)QY3R)#!\\J2N6:*H_)=$7RG!;Y<^4@(OM,"7ZYL<03?:8$O5S;?E6G8 MIJZI?(%NP71V/:I[N+7,SA(?N+.TU_VP3S-;,ZAM^]_S7W6-!_@0O!-UX%"J M]\!-86>F]+1I3O%F6\YY\ HL4+1A*6)T58+6TCN[?>>*GH9QB"A%E.;?BD24 M(DKS;VXB2A&E)V:7PB(JLNW<&F-+9H%UQ8$5[1CJTEJ_VNP9B-E(F-US?=%F M100C@D_,GD4$GP:"C]?6102?!H*S:XQ:K8CP9.FOP6QDT[]G+(OA"?X:OD[= M8/_:Y_G$V9SDP9-8@"UP-G%2=>7L%KZR\_F%;&9NF8Y@.+1''[-.Q M_6MI3 5I5*.J4*D+3;52JRG52HM*2J5:;]7;B@Q?T5&)C"WST?V!(@K5=E6H MU00R?RDM7M86+QN+ERV T-G:3',P]X8P$D7XNS(6Q\U*36@W*K+<&%?4^EAI M21(5U%8[<.Y+4VOF'WBY>-QM\D=?29]\U$V?OG(O[6U?^BY M*$P=]^V3;&G <>>&:3W*^L='V0*A?LZ^A@'+9&+1\:^EGQU3*04]@_SG[YGI M?%Q[DOOA1[)X'F$/+%T.Y9%.B3DF5XR10WP^XU&0P[P^[@XFSDKW-Z(QATK[[W;X>WW0'IW%V3[O]=?>GZ2J_MO MWVX'@]O[NTR&]8<,O&<\.*91)M6^7TO 9PK5]:FLJD#C^7M[*BO^>V](*\S+EU$SF'4%/ MB M );.&9DJ&##.7$P\4WY >R7)PY:L#*R#/'3'AEEAB"M4#3QJ]O..*_WSO]8;?_]4_2 M[_;N^T/2^]X??._<#)6'^GOB?W-V3XI4N6Y-E.Y\,LB<&J M4";L0I=L:Q@>[91B\:^F::'4S)/4'%HR>,[,5H]?; H%%)O#?N=N<,N%(\K- M6.2F,T>8+SB99TG^IV[/]/7 M<>^Z+[+B<(*R,(!%'S2;<8%#9)O84ZJPV*9*-(-HCDV4";-76"_2["?)[";LVO*K7F^U6:\?J MN)HVMT![QZ%#0%>:K!Z _&]F:;:J*5Q?@O#0EF'&+[,>9$/[A[]_GW<4O+O] MT/\P^$"ZCU/=?(7IK5*K9E QO!$@"2*Y MZY*>;/T@/5W^1R;7EO9$RV0PTQRZXAZ".,Z-9[A;8GC+<04O[ZVA^1Q6BOXN M Q/-GIAKO#K/,@GW1,ZC]U8/Q#?P8VS2?1&C71]8R''U3'BP_O]I4U?GA!.< MK4:KMF\T,P')X$V!R;BI!:NJ366=T!>JS%@+ O@8A 0\4S94 A,D;(9IFD@Y M #W#><>B\A[$K3:$(-(R=UP0Q8^[A,]7$]1&;V(:>SL>U79S[4$-J9X?V?*N M/[?!W2&V/]K$H3J=LLD2@\^VS)2M/F-&,)%AW6'RQ<3DYD!:Z=K;'.V=#G4'':=%T[@Q*1>9U\"1O3S1(-/%LS]=O;[ M^D!I+\(6E>2)KU=1&G$XAU1)+/0&2S-P3.5'F4QEBSS)^HR2?PD?P#J>LK2T M",WP&:\\]9J9TRTE\%^)]NJ M_/<;8_VS;H[ >!V /:$XY!OX7=0Y[GA_X.[)K:$ROQXT^"M1)E3YP?*#?H!X MHCRRP0R*I5#H._&].\J);).QIH-1(NLZ7,%VH9BM\O=,8Y8*&"@CZET -UXU M5JHL(N)NPW@FRY*YXQ.?F3'L:[8-0U3X%E0%NW1J485RQ2%*[OWX%JQ-WL%- M 2O$GH%Q?.1';6I_(LKXZ7#=;]L3>;]V7NQ[R3EJ8\ MC!1:/_ M,9W9(5G@3VJOXW]M #Q?8M/0[LRW5V\'ZDDP P,$8.%1>I*6@5$Q'\'\ M?2TSU0"W RG*QOI 'BSSV9GX7W\ 34'YV%1VL"3?G^;!*)<5E(^;ANA^KWZ< M7QCBDLV#G%_*](-_^88ASZ_5C"66!L/8YU[)5X++FN\#.O [7+[:MCT1LLXP M;X>PLD;$6Z1%;C3+B_;^J]?XFGUET'(7;@D\[@<<09'<\VVSB(7."_FUKT\= M\Z93N RG11:%=07K^V!:KP$N +^(+[KB713:&^ALH%V(E*<="R:F04OIXYX1 M@JS9YFY5!R"_1(L'N[K(7;VY0G+?>HHFAY#=P>5\4GYQ9VHIC)&9QE>:$0 ; MZ:>) JKK62ONR%R3I>!P\J?TF4_FRIU&RK Z\EC1>(MMSC;B ET*;1SD.'-W M&8QOP^3>[LQV[7H8 <_0#TI !=> /4M_90]_UN#1\%ABP Q-9J4_:38WY@W9 M4#199UX R^UB%[/*756V5)NP[7Y-W;J75GTGOP^TR0FZ@\ONH#T!O\"G/GD' M-.5.F9LC&=[560T3@/N^1Z1@P(:0"J?O$R^0CA$@PXF_X\Z(R/=AP/.>.9RU M&(^9ZVR^V+-7W'T=F^WKL&Q:N/1><A<>4/)+?\ @0_.I-()3? MC.\1#?@H[A># -\4M!/E7NK,T%Q:\ZM* $Y%@XG:OY9N[VY6*WE@7A75Y+MX M[))5J/A=%H2*5&=5A65!K)7%=L-'B#]0CRSNROC^>RJ%O-LKAQ,H50Y5.1PS MSE7MR=T,_[74^_SIM^"J'_?G%9V.>=6/,__$Y">R>K>;87]^NR4V M(-[^U?**E.:5[?[/)^,*J$'W\_4O6."$]#[???]6XD7RBRKYY3)Y_]7BQ8*( MO<[G;N53O]OYK=*Y&7;[YT36G^57>YTR*ZO@4U[:B_(N+=>6YLMU\-*P%3YT M88;W5U]Y;P3O_JIF3W49O%#-8+OGE9$.+.Y5,7ZBEN*LN\)0Z'@L-2#KS7'D18APMY9ZE)ND-^4_TN"FO9>/_- M:FC#SJ>O758$=W5_-^S>#0/R3PP[VY6^LT8*NV$T0K6-CR)Q0(7K2OAS1*26/S![5K)T@?\5"T'QD/YEKX! M=R)>6HP;C5SJTY$6&_A-0/B(6-_(V#"_8N9SS]BEA^>?@=WL^JRK!+J4W">? M-)\<)*/G3-&"2Y=YHM):8PE%2YL?5HZT(NZ95L@9NS@#Z'19/9@MWJ)O+YY( M2*D50G>,[.09Y9.L@S%"R6!"*3"+&[_.&O;75$G[\6(Y6V8#6E_64 >EI8-L MFK8.XGLZ$U.'W]G^YA%QS^1&5;2+.X!/293-H+J?(\VT)V E=G K>- C=&:%IQQOE2AF;G [=0R0T,V+2R M@R6LX5'#,G!@B2/3C#-Q(%UDUC^0>UYK=FNXM3D:Z[ ;"9UO2;HO.F$=CQJ= M&0A-^E)8:#8^D*X[RNSD)2S?)3LU.(>(#)Q*,4%J:P]Q;D ,8!ZRDZF_S6=T M6=T2V/2+UG]R7WN%Z^Q-2G4>L9;VO;DA7XQE:FVN[MNTM["I/8I7(4)$;QWG MA4_9EO"]68(]J_C6?K]2R+?VG5?#1[R:OF#2[5G8QQY1W-J^-2"LHF+Q.J $ M<'M173*";[2/-/-J[+Q\;:_*SGNW4F?7@\_F F^O1ZQJZ+U^>AO'$_?=+*M& M&^N.@II%K5TZ(C@/X%JVZ%+#S(92D^(38G?I7G M+#\->_#]T^#V^K;3O^T. M=J]!(J.[NK^[[MX-NM>L G5P__7VNC,_,?P;*TAEQ:GWO6Z?,TXFHUPJ1TK] MT;<&<2;FS)8-%904?5'HU%GT1R?R(VM\8^\85^S@72BWO2MW/7-BK!E6^N?>MNQ;0I_U*'\,F]_6]W1WW;1"[=2+5V* M8JO<9%I@K:%MHM2+&2"GCC@I ''2 G%2SA G2>7VXD!S1%P!$5<-UU$])XBK M5EG3;A$15V#$U8)EG)A/&5>M"^56M9D=X@ZT;>MU;M86U[:],FU^@FPA[-MP ML8(0'E#2/!IZI%M9N1Z#@S_^;)JJW3'4 ;6>-(7: U-7(W)LNUVNL=+$ MQ!@V,!921+UQ8FAMQ&!'L*":+UU-':C,$PCQVM4K,.UE ;X8IP M78-K*P:K/GZXMAKE5KV:,[B>=+1Z_I_H=JK\;)DV/\]OK#DYM^YSP*L[F+ = M@SW."=+C](@:%FR7I39&!8N%G;80@W5\.':D>ED4DW3>$#L)8&?#1ME>MNKA MV*FWRM4Z[G\5##L;MKSV,AP/QTZCFNU.5G&CO*DW^1Q070>3NTP>J$$M62_S MGFBR^J@9_,A:WM>/ODQ9I]B<6Y0GYB2V-VPV[F6?>N3_[!(?_,3."N6[+N&C MFJY"64ITLP?#&\5$[H9-R[VLXZ21VZ@GJ< 0N<5$[H8]NKUL\T216ZV"RX#GW!W+ NCMXIG1\$!)KY5H#-RL*AJ$- M&UU[&;7Q84BJEZ5JDKO,B*'8,=06-FQX[65>QHFRD7(Y24)]^A"K MARJ$.(KODH#JI8@%3_F#TG:Q%T=97;)B3Y)2]GI0[N54[L51D)>(W*LG61>! M8=2M]O M:S9#;0T^0XC\DT9^'+6%\2!?*E?;J6[T9(?\XFX( M))61+C4WI:2[SBX948 2]3<1'/DE]PU+?%@?#2#-EZ98?:V'>FP09BF3RAS!5(L]RJ8M)! ML: HQE$AF3\HBM5R'3<8BH;%."HN\X=%22Q++4SH*Q@6XZC@S!\6JV*YULZP M$ATW('PK&K<@T1;C*.:419$+&5&B)U':EQ%&_&BU2P MN>M))GLB4HN)U#B*->-%:KWMQ V1FCU2XRC.C!&IM=)EJUP5A9PAM;A! M]'B,>'8P32$J+W>S21781#5G[$3D-3[)LM=^^%%NY>8XRCJ!U@=7P=3+K42[ MOZWS<+6HVN:TX1I'"6D<<&V7VXGFJ")!5JI;%5M[PFEQ;;T%6WH=>W)OCHN.BG\;-TUWTDTZ16&F47;K\)-N:@D'6/+M545JA]*@U M8*;,NGO5E2T#/!?;_YZ3?^YF":'=K-N[F]*E\*&>-R\+X9L[^$9ICY(*?,4/ M0IK[?@C?0L(W2D>6E.";: ]3A.]1P#=*DY94X"M]2+22*8,0;;%C86M^P;6F MSQRJHF>09^:.TLPE+'-[ $#? &<'("C]&1)#<#M-/-7$<"%!'"4YBHI 1C\ M@S1+!1# A01PE!XI*0$8/(0DNP5A$D=!4Q9P(,>3Q)'^*;!,,-ED9E.5:,8B MYX/ 8#K6[D['V M"#F;2<'09P# M$%?W;GR7&8C;Y;:$F^F(X;<8WKMA7I88;F' %S'\%L-[-]K+$L-"WG;=BAM< M.]FLD)/C\+U[ZNW#X1[1WS!Z=(=!%-#80AB_A?'>#?>R@G'-\WLQ?QQA_!;& M>W?CRU8:"[GKE8 PS@.,]V[5ER&,F?.;-Q2[CL.9,S+55_9.!@)UM!QBCHDSH39E$%-9$T>5O>+])&7 !1EKAFPH M&EP.R'#H(SS._I#VA-:6$:A&%%VV 7.]SY]^*ZW#2A#^'<2-WB>$NS(;8)SZ9(]CDC\H7/LD8O)W*?M=3YW*Y_ZWZ,),8+GLO[L\#_%^0->U^5R%G0]+]< M]P.GS]9QY;G>XJW\?#*N6.:S_\W*5\/[JZ^:\8/ )0K5]6":J9H]U658.*]^'$(+E%T:EXE-+6TR5YZ%( K8&IW]_WAES^Z@R'IW?:ZY.K^ M6Z]S]R?IW%V3P?=/@]OKVT[_MCNX.(.[I2Q%8 )7]W?7W;M!]QH&=C>X_WI[ MW1G"F\$0_OG6O1L.R/T-'W._^P6NN_V]2V[OX'TWB_&^^V[(,U4#*?P^]4?? M&J 6S)D-QH"]X^FQ:\D%)W!5[8D^GK;*1(=G LS?VU-9F;]WA0TH+7U?-3-+='89 3C"(PNBU)WJ;[!/2:V^[H+P%')@$[!=@*#V_VP*I1=@>() ME1@)%]CE.JN\)(1*(%3NP+8I&%)";KX+N MOHU>! T*LY MN(XBL#')O3.A%F')4Q:=4,/6GJA_,,T['831^S(QJ)LW);]@@Q)LVY"'F^.B MXZ*?QLT+U:#D2&H.Q=8F9=EC"A+L?UV31YJN.:]$5O\WLQV6)ISSF&$.Z@-V M^%'AB@G_ZE-'LWAB=D^7C>'KE'9>-+OBD89]9E_3L690]1,UX(7SC>>7;/>_ MN!5TM6P$N>[8ZIWXS3MSBH/3=C\>RB\]TV*SZ3B.I8UF/(EO:/9D"RZ)YLH1 M&T@ K\"G2[(JN8"A@?RC.%PMX8FA.,E^JHCB!% $J M"4\+Q8T,]ZTP%+?=O?AN6!26XA^JD@=9,[P ' %8 Z4I+!%19A: 0'EE'SS+ M%B]>=!@=;: WHS$O8I1MHLCVA(QU\YE,J/I ;?1.#I0E&TY<6/=.KJFE/$ATH1M%UT!J6^ TE\8H3\#;MB' MG;%#K3[EY3K:&)B,RQ-#9<+E #ER644=6"S<;CAH8=T?.7;"X7(C8;< M=UNANR%O;-T).7+H+DRW=LH0CB_Q>B7-^CW:(@=R1GU#'MRZ8W,RG"'5DNQ MF@UKX%Y,5&>)=7RQJ.T0"[PA8C_+TX)[1R&K9G(@N$*/=+M\VY"=N9>S=>NA MH ]$'P &BBG9ZJEN 46*)VL(7"$;+>5ZS8DLN[E*A:9ZRYKB69B!Q;_%=!S M/$*VV*Z--B0F[.6'%IDO%MI(K*>ZDXOJZ,CY;BO;;=EKS+E;;(CC42K),\W0/5\:ORRE5TV)-?L58N= M";M<-@1T\TX2S]OE_X8,C[U*PC.6_V(#_3-DF)04P(;,DKWJWK-1 +56DFR2 M@6-5[,T^N/M5@,N4=W8_X/R3++M9Q'-*2SV.IDX!C.\S?>063\UVFD&3PIXJ M=-+@;<311RI^\(I"N=[ (\T1O3O0&T?OJ@306R_7$BTN0?0>!7KC:)<5,WIK MO'E6HYFW8S7Q)#<\R6V)%3,_R:V*)[GA26Y%/LEM9,]/FKLL6D1]!2C@V,,'B$+$3*::+CFBK+X! 7X)!R XX\9ZNY M@B[9314@4\>V*;/;AYH3KA%MMV6,UT!X' RJ7!JW;KING?,^U) MUMV04,%2-/)\D$ACK>!%"[^9!V3I&"K[I[L@3L>YDBV+A=%_E_49C9HK51:P M=4ZA854/@)54$:5*5[_+N2+*0<[O#B'1B*I[ M^@MDW%''R+ Y)?H+R_Z"Z3:E M]2((*)P/Y+!69,? (\0?FC.YFMF 0&KQD/!A_%9CN:KUQ3NN@3N&"HOA7;S-0Z,HI0;56QP@5!=AVHUJG))#JJB4&ZTDM0Y MQU:+G_+>0.ER:#JR[AT[A/&+)GF5-8DE?N)[ $G2FK=_2W:A5E]CC3>56D2J<6 MD):W*.47RX^LOA-VU9!%BJE<5F??^-VSK\5FR66_4&;M[&(QLB;][Z ML&''4#I@V'5]Y$0/(XC5=KDEXH&_!8-0Y$W<1"!4+8L%/J?T2#P KZ4Q4!>4 M@_$ ND2VJ0O-BCFNS. -^@.Q,%_D_=TY<;XRVO39P._'W\%'9W2)NG/0+C>$ ME(_30OE]*(0B;^PF :$VR&\IR496Z"V$EM^?35-]UG0=A?1A'-:*O)OK4R!J M2\-ZN2YDR$R(EBAHB;R36W"TH.F\$+VWAB,;#QIK^N$:ROST#Q3$![)6Y"W7 M&]8EB7[5GJBZ((T;'HWNK%:ELBABSGK!,!1Y+S09#-7+4J*-7]%>#A_OX/5. MA0ALG%@"0RORMNE2OL*=:2@';9_6RZU:FCV:,;NF&.",O#\;+SCK-3S:(H_* M926=IAC:Y:3;5+:KCF:5Z\Q<$SE MQ\34@=UY"T98+DD0VQ_A4L+2))Q7;,RXY1G8F#$O$RAP8\:CBDWYC1GUA:#! M[HS!:"WFT(M[\T)U9RRVL?&FVXHG%50ZROOF8K$ZY[4BY^5]-8V'(;4>KX$D M!U?(->M8K%-D%$5.S3L>%*$1MR2O.WZ+Q*G\RIJ?Y5QFYV"'9CN#M2-GYOF4 MZ+F$.(S'JF)91$E=-.Q$SM.+%3M2H]QN8 NLW,AG:T;592\;1?2!;!8Y9\\C MQE)H]4!.JY:;+932!8-/Y'2]N.%3%H;9GFA(+P<^3*_-+$KJ^%@M^B$4 MYML.H3[?O1[HOC:SS8]%)$5!4O1S)Q)%4JW @9#C,K3]P/64=2!QNX^8:]7F MQ9'L)Y;OVHZ<'[=:^L@A2K-':>0TN810VA2.+#W[2#R*P&Z' MQ5$^.>#7'8P8?2LU+M>]U2RW&AD>.8:XB8*;Z)NG<>&F+91;U>+V13\2E\%- M@/MD6I;Y#"K.)@ 473,H@Q_WXBE,C+Y@R(F\B1HCUAA#ZN0/:RNS,='S6&'=[D-K!B+ I"IH;"65N_N3(>2UGOL.+-^\V6H M[3P!L585JXNQ> <@%FN^Q;WYOI2JI4\IU 0Y&,A):X*UN.)R&T._A2$_8]9Y MQ>YC&3?"PIMGL.BXZ3 /_VPXC-K?/[:9Z"B'/!>Z 4L1YKIFZ?*#(,X5LGO\ M]%2VR).LSVB9A+I)*^3#VKQY$GBL[+^U9]H3V8+EE&?.Q+1@#=5PSZX+X9Y= MET)>)X:\#LQ.<'CIZBS6YJ39-NM]85K$G#FV UX . YC^CE("JR/=PA1DZM MG;,25\*_,X!O"GN,M1>J5OZAEKD>\:C@)G^QX!(YG[;H<$&S>[MF90$:T]A+ MK=9K(;5#/0:U6@^IP^N@P\5ZS&HUI$IO"*Y*%VMED26,KSR;1;U"/:P=\F$B MVV-O2\URM;%AGI[&94]>4KE$MEEIRX!.'?HXHI;+)54!L VJ@U]]397EKT3^ ME50F<-,I!<9]HOHK:NX#17'D=&N757?+X6V[%76&U"2WSU![)P"9R*G5<4"& MY?04MUCQ2%QCOY&@JFIL^64=]*BF@C*O*/)4I(VL&V.=4 MM@Q6>(ZB^T".BYS\[).BZU&BHRBSQYDN.U2]IF--B5PZ+ F-5 MIR,G*R\1FY<@7"V3VJUY^PKTOJ/._7@HOT1C<&+#\L$K\+'KJ:J+P)32CZP+*@8V(V<^Q(=-L566FDD> M-I"O\J#"*AQ][;3U BN@G!&WNA/ KBUTF5#$,O56IKEUF& ZZJN,V=DJJ_L M'3LM\9+\1$ @J]J3^RI0=?RR-IY?]G;9_&%,MSPE@ENXA$Z% OVMU:<.)Y3( M"HLURL8K2^4R3(?I* L^!@3!#QXLGA)@.2S%"_QRFS(@J>"64UYTR>TF'K<< M:X9L*!KWK^ #7IKY(>T)K2TC4(THNFP#ZGJ?/_U66H>5(/P[B.>\3S@[\X]* M_'9K][O[_FU^PV4IX(V+K#PDV)38!.?2)7L5YWJ+M_+SR;ABF<_^-RM?#>^OOFK&#P*7*%37@VFF:O94EV'E M-(.UUJZ,=!!,J\*8C\-;2'B"3"86DW$_@P@KK8#QV5L5#<2@QNPYEU;LBO4/ MYZ;?ZL,R=J848YZ+,]D;_1($5N"PD$J+5^P% M^]+EA!"R*WXFO!A=PG(S_6/3$G$TASV2O?0H %? U.[N^\,O?W0'0]*[[77) MU?VW7N?N3]*YNR:#[Y\&M]>WG?YM=W!Q!G=+68K !*[N[ZZ[=X/N-0SL;G#_ M]?:Z,X0W@R'\\ZU[-QR0^QMX=W_UVY?[K]?=/A^G;\O#[TGWO]]OAW]F,?IW MWPUYIFH@D]^G_NAK4]=EB\B/[K'AF@$ZPYS9X/38.P83NPI=L G7XYY<_+7$ M8DH@5SS[8/[>GLK*_+TKB4"C<:8,%D'[2?35''F!1W\O/$,#?.7%$[]0F8VK MM,-]WNP8[S:-O&E4:R%+$4/?,6SEY'XWO!C-[SEZ8R &*=YHSVKL?%92<\#% MQL5.G99G!"-+ MA)M#R!T(-*&2TNH7]'%YT,Q=GH#;NVRDT\?+8LI&)$:.B'$"BFH+^19U'4LD M1#V6N!Y#CCI6CN*9AX5FIM.F'T^W2(U^QV9GSK'32!8[X=*O%EM(^<+8EJ^\ MGB=\E]Q#(8J2@HH25BI;N34J2,+"DM OGD,2%I:$*U4@2,?"TG$Y<6Q.QOEV M.=IIN832GG9:SA#'6Y;%+C(",^*/48X4FO@=GG^"Q#])XE_YC:N0^B=(_>Z\ M^0V2_P3)_Y5WRD#2GR#INUX!79;$C^)JA/ ==F,M]!6-G!QUDY=QM'$=GQ;EFR MLPXS@CHL;:VIK&UH -6H5(6_!GX)G*N46!C3-%A13^=%LRM+G3>_\;[H2S68 M/&[QIF4 #V;<+WJNS\LNA=!EE[=W-ZO=Y+&%X/8Q;RK[S09M08V5#D=;8NTI ML!_\82!K9P&R^H9^.R% MJ''<'J X^V(6^5Z0T+0%0MT08UTPH%NO3MJJFB3 M!*'<:F380171MN&!6SL4UC?T< DCXW:W*$P3@4LM/J4DFT %K/"I=O/, [JW M@CNHSXL'[K2:DH$2;@C'?R9 3%& W;>)P?._HP[1N'S*.8-EYN=OCBK["8 G MK-3S&'VIKYV&HGJ2KED1Q*6N;/&ZQL!'BT[$A3JMLH"PRD:!-N* U0'.,$+L MZ"'6C -B45S?4-C:U7&RW!+QY+#\@ZP5BQR+Q^%%F7;T<&N'@MO1BZ=B[4"G MXGO>!QQGY/JBY!T[UNC]>=$J.0ZZX9:TEYR,,/\WQ#4\_(9;TFMR,L+\WQ#7 M$-0Z%-'LWA$HJ?+QO!U2GDDPF,V]IG-#KXUJ/J)&O#"<0,0\<;Y M-P4[5I_,!].9\[Q_,F'/M-CL.XYC::,9[ST]-'NR!9?L'?M8;/%C$"3W09"& ME"7$#]AS0+@CW"/ O9HEW*/L?R#.$><1<%[+5*S'LP63-O3#9BY*J9["C P0 MB0%"IMI$9 $+NXR'1Z-^6Y8%*;_#U7) Q@&!# ,9*6P'D2964!QY95]\"Q; M_-@ZAQ'-!N(R@O+CZV2;*+(](6/=?"83JCZP0LD#HCA-5I""41R,XA2.*MM4 M06^9O_@"N'&Y+^UN/$/C#> /@0PRV(YZS,EY ;JO'C&0,MB.V$L1URKS1^ M;&.(!4%]P+IL[9G5#-D5(0&)?5S1E47^0#WE_($3[=B53W:*8QM9XTA?8 P*8* M"LI\,/A=?I?U&\M\@KMPIM'I9B:%./AN0*<. MEZ2%.OUNG0NKP(6J.1OI-(]QB,VCVRHD:L$G5QP8?3B"T_36A4"UJ(KN .2D M?!1?3)"N)P+IXA[9ATA._;B@F)#0WII>TMIP,'5ZD:@$3CBLIWJB7"#Z3S:)ZBA9:"L';3AL M>W>8*KYC%*OULEC-F\WB!I?.G)&IOK)WK*/2)?F) 'A5[] MF<0?QM1]BO\X_ *U75OE]:44A'\' M+-?VU5T).PE<6%QXJ^182T_\0F4OX+ U.A=;W"W7?"E&4%%24L&24RJU101(6EH1^_@62 ML+ D7$DO0#H6EH[+N]YS,L(*28+8_HAV6CZAM*>=EC/$\13^V$5&8,'-,)?Y+$]Q+(D?HG27T_V1K)?Y+D9SWID/0G27HWFS9;XD=Q-4+X M#KNQ%OJ*1BI/*E\7+N9^^&FY/*XFAS\OS.#KO0W MD')>7Y)-WX+2MA(040@J 9$J0B//_0C:Y;;4+%<;219Q'T4)8.H=!;:#3102 M 5N2]4GM#,\_+SK&LCB90A3%R!C+1PU_O5P7FPBZ8H%.B@RZ3,OKQ6:U+%:3 M[.J#:(OVP&V5[Z)8C2[C\EKY+I9;B;8NP;-"C%4[&VF&-P+G=O*W/!P0]MG$L.SQ<]+UJ- MQD$WW)+0DI,1YO^&N(:'WW!+XDQ.1IC_&^(:XAKFX8;)K^')1 /\FZ(X1X![ M+4NX1]GX0)PCSB/@O)ZI6(]G[R5MZ(?-2F0U1<@ .6> D#DV$1D @8O;2X=' M8[X;%H7I_T-5\@"& 0$, UDIK =19A907'EE'SS+ELK!S(AF W$909EP);)- M%-F>D+%N/I,)51]8">12%&?D(BUT%*6T[UHR)Y;YF_^ JX<;ES.Z+,I&-!WKC\F6:D1R66W %['X#W/Z%,?MG M$!KLP\[8H5:?\I.VM#%(5:Y #)5IDVC&/MKX!3!Q0N9))87J!((WB'!$^!+" MJ^%2LQ)#>)SQ&H0V0GL9VF+&PCO9$$W\:-]5M%Q/N4X401\!]"'W4R.#'L&* M1:0Q!6(TUJ:/V@ZQ0$82^UF>;@^\')0]TVZRN(N(<1>,NQ2.*MOD?L[)>0NZKQXQEC+8CMA+$=#@I/8C)#D/ M=80\-2(;WSOTX%(,G 2>*%% Z7XDA-^B*VHA]U9CC;,LLAWMH;G!I^4B@TN, MJR6!T:?P>%L#E42M)TVA/0"PJ8(&,1\,?I??97U&\V7$(S.D8!'%PPPA=V,3 M"])DQ1B[-JK*8B/)7O?((87AD)!;M_&'>E!G($?DDB-"5LZF$B=")D$FR263 MA-L!SB>X"V@ M?+C#@1&(XA\XMRX#JD75= < )^73ZF)"=",11!?V5#L$:21[X&T7$N\&E M,V=DJJ_L'6M-=$E^(@!>57MR7P6RR"]KX_EE;R;QAS%UGP*/(SQW[-=2[_.G MWTKKZR$(_PZ"A_<)1QO_J,1OMW:_N^_?YC=5R5R%C3]+]?]P.FS=5QYKK=X*S^?C"N6^>Q_L_+5 M\/[JJV;\('")0G4]F&:J9D]U^96E*.E@8%5&.G#4JJS@X_ 6$IX@DXG%V/%G MX+W2"OB>O5716*B7A0U=6K$KUC^<1QA7/_;)^)^_9Z;S<8V8[H=EE\9E8E-+ M&P>)XR%C$U8)>,5D"FC;BS/9&_T2!%;@L&"GM!DK+@VW1#"/;5:>>C&ZO+OO M#[_\T1T,2>^VUR57]]]ZG;L_2>?NF@R^?QK<7M]V^K?=P<79Z#+5TGO=&<*;P1#^^=:]&P[(_0V\N[_Z[ 9LRHFO6DWGTWY!GXYE1]G^DPKDU=ERTB/X)T M6IR_E[>RHK\_>N?!MK!F?U M8,&VGYY8W<@0N/EYX>E=QUIZXAR'LK?L]L>WDY/I("7[#B]'\GJ,W]E*0 M.H_VK,;.9R4U!UQL7.PD%[N-BXV+O<]B@U?!VE;\6I*VNDT'._?+0TC34H4_ M2[$Q=RU'P4TZ\H1@9(EP4A-0_ M2>K[!3Q(_I,D/VM%BJ0_2=*[]1G9$C^*JQ'"=]B-M=!7-%)Y2G'&T<9Q',LX MBM6M>4L)RJ;D\KC:YEQ39;EKCEB(KCG9=,,I;2TL; 87%HI2I2J>=)>;HR@M M3[U1S0ZPB8F K; -:(X<8YF<-]&4(F,L'[UAFN6V*"+HB@6Z:F309=NVI2V6 MA7H5T98[M&WMJ-*L19=Q>>JH4EWJJ-)LI:QIL75*3F5I<-]-#NZT6IV(K;+4 MK!7VU*;BM#6)WJO M1XN#[O+5(__X8)6-A@PZ4G%O6!W@[2+$CAYB[3@@%L6W#86M76YMO=S LV'S MC[)6T'E_^PNR>%Q:%&I'#[>@$_7>PNWXY5.QMIEC<"]W;RUSR<&/ YZ+#L\; M)>]TH/3[\Z*5:QQTPRVY+3D98?YOB&MX^ VWY-#D9(3YOR&N(:YA'FZ8_!J> M7-A\_I_8VF38])@Q X:PKLDC30?OB@ MW8"(1)\ZFL5#$CU=-H:O4\I#$1ZSL<_L:SIFL:]/U( 7CAN!B#?2ORG:L?ID M/IC%<:7@O]Z/A_)+S[38[#N.8VFC&6\P/31[L@67[!W\6.SB8Q0D_U&0H.-O M4X/X ;L."'>$>P2XU[.$>Y0=$,0YXCP"SAN9BO5X]F#2AG[8Y,06;B;FGP%" M)MM$9 $+NXR'1Z-^6Y8%*;_#U4)VU4B@&$@*X7U(,K, HHKK^R#9]E2.9@9 MT6P@+B,H$ZY$MHDBVQ,RULUG,J'J ZN&7(KBC%RDA8_BM$N7U1J&<3",4SBJ M;-,%(=.7KH&,3[+#Q;7M6#,FE?N:_8-KA!N7,;LORD0V'NB-RY9I!G)8BL$5 M,[*H0ZY*QP_GC%8A-A.&-LA M-WSCQS:&B1#4B7FT(9L[)""QCS5 )-:EHW.*D9_"\E,<6\'!_(1\D#T?G&Z2 MT<92]EO;GK$VZ2R4H[CGN=K,K02TJM3R7K-*=T EQQB9LKRTE6C0L^9,6"<] M]QR:(DN=+,((DA!+8Y/]&ZRS2QGYJ7H]LX!V/1!JINKV7>=_?Y)MJEXMT3YJ M"_96H]RJ-M">S#T20^ZHQ]]]_2T.?Y?U&=T!PZBJ#9&8=TL,P)9QV[JT8'DI MEAMI-]5&ER,O<2E)"+DGG5!?^%@ CC5A1X'$D*6^Z;6,1W">%#BWVP/A]EIS MI-,Q?'(\N34;PR<<-941@\UJE,1KD)-SBRCD":C9^*JA!Y=BYDS@Z:@%E/%' M0OAM"B.+=OJ+M(4ZFJF/E7,!X/?A2NI M?.WB(C.D8!?%PPQ9'P*0%6-LL]-JI2XH-Z$H#[).DO@L8Q&;1[=53 2=,YY47@]/X+F?.;8C&XS!HF;MB$)9$&ME ML9UDYLZZ$*@65=4=@)Q-)^KF&])!IY@GER!T\$F]=0;H--49(CEU$RXBDH,. M2$\GORB.\Z=%J5VN"DE6\B.RBXKLH-/1$\XHB@/2DM H-UI)IFDBI',,Z:V) M(&(CNK2.,3Y.;O[:FLS-^SBD 8GF8,V4]+ZTLI"/\.6*[MJ[L2=A*XL+CP5LFQ MEI[XAP&%K="ZVN%NN3[#C-[P8S>\Y>H/N90FA4%8UNC?,%Y&"'<]*:@ZX MV+C822YV&Q<;%WN?Q59,I@[!KI9*,2[06U-L>0CQ64%U$V(C%R1(P34%1;R+?8 M.5DB(>JQQ/48:F4Z;?D/325$8'IN=.<=.(QWLL"AJV 32_&!L MRU=N4@[A(7X/A2A*"BI*6#)*Y=:H( D+2T(__P))6%@2KJ07(!T+2\?E7>\Y M&6&%)$%L?T0[+9]0"F>;Y15Q/(4_=I$16'!SC'*DT,3O/)HSPT'BGR3QO01R MI/Y)4M]/MD;RGR3Y65]_)/U)DM[-ILV6^%%:0KG>:&++YEUC3KFKP ZPM1(!6Y(U2NTV8BPJQC)I M8%]M1\98/NKXZV6AD7+7< 3=@:"K"9%!EVF)O5AOE]M"#=&6.[1MK7ZOB=%E M7%ZKW\5RHW5\AR4@OJ-(TZ ^:1Z\T^H]TJJ6JZV4#^2*,1)0O%,VX.YWU"$: M%T$YYZ#,'/GTCK@HH-[.8WBE%G2AH?'ZRRT9!! MYV#M#:L#_%V$V-%#K!$'Q*)XMZ&PM[-Y>YY.#'-\Y%A^>-DG=$*-@ZZ MX9;LEIR,,/\WQ#4\_(9;LFAR,L+\WQ#7$-LR8 M 4-8U^21IH/W1.3Y45-E8E"'F&/BR"_^:=7L[;\N6+:V/^B*396*]E*9:"K< M^=RUID5!$DN7PL49NS(X3[DPS@A&[$^+*EM4AR(\9F.?V==TS&)?GZ@!+QPW A%OI']3M&/UR7PPB^/EP'^]'P_EEYYI ML=EW',?21C/>8GIH]F0++MD[^+'8Q\CQ[,&E#/VQZ8B/)XR^1 >)A@)#)-A$9 (&+NTR' M1V.^&Q:%Z?]#5<)VE0A@&,A*83V(,K. XLHK^^!9ME0.9D8T&XC+",J$*Y%M MHLCVA(QU\YE,J/K ZB&7HC@C%VGAHSC-TB7+=,4P#H9Q"D:5;;H@9/K2-9#Q M27:XN+8=:\:D/TS M.!/LP\[8H5:?\E.WM#$(5:X_#)4IDVBV/IKX!;!P0J9+)87J!&(WB'!$^#+" MPV5H)8;P.,,U".V3@_;6LLUZ.V/IG6R()GZXA_5QI5H=*T=/E:L:(3=L(W,5 M;H]2H M<%39ID]";A=OU2>W'B/V@?$&P(88,T(\9^11-T)N"\>/9XP6(;83QG;('=_X ML8UQ(@1U4J .V=PA 8%]7 &BRT9#1+CG'NYQ[-0&PQUABCDZ$2K!;VU[QOJ, MLTB(XAZ(:C.G#-"D4LM[S0K% 34< V3*TKI6@BG/FC-AC>C<@UPP-+*O4(BE M+\C^'64"['@@=4W4;E_._/\DV5:^6:!^UAWF]46ZV,VPPB$@, MB<20&]+QMR]_B\/?97U&=\ 04_L+:B-MW^0*N76<;(/S6!"YPQAJU5,6BKB7 MFQM7H!ER*S>ACNHH7&2,UM5,G\+C;_"552^MCZ1&5*PBN)AAJQ; MYV?%&+LZ$I=KS23/TT0.*0R'9-;Y'W4&7%A3'\;;M-@(Y$R"G9,!%!'+0L>+I9!;%*)YQ-% ND6]6RT)80TJ<)Z:U)(*UJ=&D=8U[2P3"O+R4?B65)2-+&?DN+ M(/R?;$[H43+15AZJ;>:AE$1\56B5&ZD&E\*(>#>X=.:,3/65O6,=J2_)3P3 MJVI/[JM %OEE;3R_[,TD_C"F6YX2@1&7,*A05BVX]-1Y9*G%1S"<4"(K+(=) M-EYAY8AA.O XV8*/W1X[#Y:LP[I:;KG7A-J4P4AE:4Z\:S,/GO*>.V/-D U% M@\MM7R3;'[*W2N=F MV.V?$UE_EE]M7W2P&*-!UP8QH>Z,),8C7KCT9X'_+RB2ZGU5(F=!T_]RW0^< M/EO'E>=ZB[?R\\FX8IG/_CJF@LDLZBLBZMV!7K'\X#N*L? M^V3\S]\ST_FX1DSWP[)+XS*QJ:6-@[3=D$DAQG%73&0#(UV% MM%J\8B_8ERXGA)!IR3+DQ>@2EIYKI7&).)K#'L]>>M2 *V":=_?]X9<_NH,A MZ=WVNN3J_ENO<__Y')*-]]-^29JH%,?I_Z MHV\-4!+FS)8-U=[Q]-CUYX(7N!+WA!^/@#/AX1D'\_?V5%;F[UUQ RJ,UB-5L@32B/=/>@\ M55 DK'W>KZ7&5DUYP,.C[O;.1]W@LMR5^@:WF-CNZR[@1@W8 MVW/ER2BX!^$!2Q>X+;N)F"'W8X\'L5)N$9L!8,%OK.8"ADC^C,@OY8+\*66% M'""K$LP0@;M?^0UN;3*VS$=B3JDE.\R)9W&5)_!)J'T>-X6RXL7X;EXM[M"+ M>_-T%SVEDL5\2H:5W+'2Y1UUB,;W.0H7D=\<:6=XVAEJ/U 5[PBG!U4.5!,'(4PM\TEC(871*QJ*>;19\.9H*&9D M*(KN[LPUG8(8T=Q.%K+A;^A2HE/9ID1^9"N&V:O\H *BL-:C M\3Q].5\F5L=0;UQ2?664ZK/9W(^_V[1CV]3I+-$M:EN;&+H8B6"8GRT'0#$\RW/VO-D.:OZX;_!@F4KW MX]LYC3A'1G4!P0.L)9F@AY(^ 32%:^"8"9JJC23+KY(5ZL=FW8^I95%U'AR0 M7R@*\D-9+Z@[Y;Z"W*>,&[\;RB]=MXO@)VK0L1;UI U)2K(\#.5X-#!M+7-I MASN^+@,T+]LF@L>W\KB0?TI]U48\;4LKC$;3:BG6H>&FN)P M%(5K[)@6BE+H&H26?G@9SNM<^0E=**T/Y+,XDCPX.>Y,@VW#ND:99Y$=:HJ) M9:F-B1_Y0]1V&S^.9(^8(759%>IHUA^E6>\FBUQ-9.,![JD9R[D?/++'-WIU M31YI.N:!Y"$E 6^.>2#9VH]#2U8IEPLFTS,LMXQJ3ZPL$N/%AQJ4A^1]^-H? M-+[%-N&OJ?OOK=%1%,"D8W<,M\E-?T&Q0XW,6KDFX,GB^4/9=B/SD-R/%&%V M*8GE>MH9QVA[IJM.6 <+1EC/X,3 Q.%ZI"K$D4#REL%]4OVA.9.KF0T8I19/ M #@X5-$HBXV4?4Q4(X>"+(Z\DA1!5BW7J\5-(3PN'^+6>**&8UH:^@R'6G-@ MSR4B[)=(%+D+<5EHI)P7?J+M*@N TCB25Q)!JA:=RIKJ M9ZG82]$KS%B/Q1:,(V_E+7=[=/-SUKQ=+#^^<$CN\<(L;)9K(J:T%PQN<22X M9 .W5KG9PISW?*@%/V!)IO(K"U.B%CB0+>/(A]D<5^ZY5(IHY]7*[286J18, M4'%DPR0"J!J3Y-4L,V/1P%^5Y-:,JDMV_5+.2L[%>CSGH:;!K*%'NCT2D-@F M-X/ UP7=?V=3>7U\V]5<,YZHC&AV%*",17L>L7HZD!KQACVNO9M'XP\U:1IYHCZT2>=W9G M];HR@Z"M^:TX1S-;,ZB=]V!- 21%' E-/)3Z1EQ\\F@4W2\M-]-.9$>-EL\- M&2G+.@*<6%XTC@2V]XSF_>\1N58 *$21^+8AEW#!!2C6"^W_W_VWK0Y<21Y''[_^Q0* MS\RSW1'@YO+5W>L(VD>/=[IM_VWW3NRK"2$51M-"8G789C_]DYE5ND ( 4(( MJ(G9'0Q2'5EY5Q[-4MTX,D9LK\FCB""Q]9)')TX>K5KCM-3XZ:T5O=MMBZ9< MVO/./RE8WJ M^Q9VV(+@B> ZZTFALZK*5T0T5%SENW%='[N% VG;UO,3P -ZD57]?O9 M2E!CMJ)61+S1-3^>;W@Z]XYA:<9(-8/S6Y(2CSJ[5_5?HNA2*%I$)-$Z4'2] MB>W2EJAZBL:3^@9+\P8#V]3)XG"8J7I,5SP;6U@H+O9/55SF>283HJQ/V8>8 MB/BJ.KH47ROSAB("@@(V\,"/[\F&@_TS.M=KVRFT$VZS=GRT>[E=$G^7PM\B M(G9*QM_3HY(O6:HO]G;*\.*I(FD!.A4G]WT+]VL7?:,?"[ N>QIX$_$D"J0"!%!VGL"8"2;33W).:HMMK:!8I<47QXJE<%"E]J\][60NRDE+IH'ND;$KTD O!JKU MS%#FD@#& G'T ?VT+X!1EFP-MNJ5?[N(V!'D _B_J^A<'ICK.8;F,1U_Z%IZ M\HO8D_?,,6Q]NORY9OI(@E=O&F'!@^JQJWZ?:4N'#Y3;$4"&HZR.FT6$HVP% M;IZ4?5LIDYPFTA_39$M-Z3%XSD)3#PN5$C)47.#LH"J;R2(F0F0,SA>:K3KZ ME];&%T(.<&FX(]M5S:] %R-X _[&Y1B6SW11ZMRVEN[-43L^76DWCTA6?R*CZDB1TZQE(?NNO=S:%NDML1*"H+3(&D<5++/V^C)5%I%"LBV'#-*';<++D/EE02LX4 ((QKZ,(L MV]YN/EM&J:M$[EFOH[>/0M^_<^Y5QQ-_=*.3^[=J^NRN?Q$_7''BLL#%?J': M*E%P:T*U[(C1\V;MM-PXT5TQ%1, MQ([@\2MVT!5;5-$P#;5GF%L16;Y=)%]$M!N=[%W_A\NZ>*QWXE!OK" <"#-0 M@@.EH@;?Q'&.EU0-S\K.29:"IE"L*R*.K7RL:ZWS.F%G[9&*2YIDM28I9]9$ M\454;LI#\?'2.:O2.[;BWF")9HEU*V-=$<68RL:ZT[.-N[T^>#U;'^-?:L]D MY\K_*< (=>.%?TIE\_^8F/H?"R?]!,L8911>7-V @)0"G0."XPB6&X8I424E< MH<+CK@=?4/+U8=D;F@ CG)JBF2 $_WEP__7+'P>3&-1H_)867B*^(8JEKPYH MN(GQ;G]\#P>,$[I8EY*8)%W4S\+<@W.<3CFA24/<4SX/0@WHOOOUJO[EX:K[ M1[U[_73U\%%1S5=U[ :Q,:@]6&QB$0/&=]3"8 VA(/W2H'_2="?QTX'R(6W[ MOU\^I&X?X9B85P O\?J@7W?LU^"7Q$]/=Q??#.NG H]HS#33STPWW)&I N0, M"RO6UWNFK?U,\EM:AP DS* J P=YW"^>K1TDD/%50,4 -FB@OL7/"I^8_#)4 MS9)?YV#G-7[&-<5ECM%/DU5/R&V0RBZ09U,NFRI6'T.!!#I$7"GZA!_P1TX) MR=\X7[WUA[ &+9]&,M%\VGE6+>-_Y+JZ"(D?_5B6?N\ <[ \^O.N?QUP@\>0 M&6!\DVF[OL.>8-HO>&('7&"U.J(:'LXJ_!/+ ?7XI-S?W%\I%W??[[NW_U&ZMY?*XX\O MCS>7-]V'FZO'SQ]@3,&*RMS'[=W3U:/R= <+N[V\NGV\NL1/CW??;BZ[3_#' M]7R"+[Y?W3YM9JWO?EBJKQL@/=[/F;MH 5O:-*1#")[\SP.\ MV@:>)H+GPK_=D:H%?Z=QNX29UZ#VHXW>&6NI]P;(Z9<0>Z@\DPAHZ9 M8RJYJ1B>J[A^SS5T Z; 0P$]$N53J]'4/HD7^9_ZI_<*P%A%?P12"&ABEM\' M,P"$AH.@?P5AXM2#XIV&U7=4%X0%/8!A.CI\A GPN+@3';9M6$J&F73<6+@N MY3U,-E7^P!_VF'/7#WUNC^PY6;"VD;"#ZB[3T!9Z! \.@Q9A).HFCEI_$N@.[C_7T$680*/*$MAN-(UX+QSI4G@9P4&)! /F((O Z:[<12V&H\# ?J5#3QSVV2=X M<&"P?NR^ Z'@XB!#]2=S:H0[%_3,U1O3?$0KY:[?-S3\D;VHID]'#.\3;-&5 MQ>V4$"%Q9SB8&XZ-Q5^?58?P"Y]435!%U. :'W9B^X[&W$/ED3'E%L2_(+&9 M3"S07+]>_^L_G?KES2THT,.ZHS_7O0&HT\S1[2&K:Z8!\*B'X]Z 78-\I4.U+.5'@L.VH2GD&%-,A46(;Y+Q$1< M1AD!)5$[+%=0 S 2XGI*EQ1HM99 M-BH0!@>K)4/@PCX"K3#^)\>TP86V%?/ MXY!?@6$&IUW_KZ^BXP2)B4@47W1@\7"H&C>V-8=Y+/;:R!^.%-/H>V1RXSE_ M$CN 7#7N(4:6'9._=511Z/X*-K81(W"$<_@9!EB&FQ)CH6"N@)0VOT^/$$M M7/J3 %/^M@UB5GW#0^(6?-D=,;0+X(AQ-<,1#(WH"'P,V?4SJC @.48VOS3G M)9J'C'G*,^\6HZ2"=4(46%@&+GD^(UZ9QL4,2Q^'KO>PRFH(3B(>%0U7ICCD M(():],0=D*R/![SFVJ:CA>"EN005W M<0@"#!!<"Z8+EH'S B>P7(X30 TJR/P>8Y8"S&4(H\&F=OO4$QY9/S"1R1WK M&,.%D"("'B#&2!7\!$X)*16%#:EG O@D,7C#!1/V]0P,SB%F#+^S$5\"G6D2 ML^"@!3%&^N*/P\=##L*OW6Y,!44>&^PCP@PC4F4X,TS]22!5AI12+IG&D%D% MIX>6Y>S'VTVA6F4\@_Y:%B@ MR@,;V>AMMY1KV/@\U?.\V> C-#_]P9>)$,;QQTQU,!^;90@(DJB?(SRHOL2#.T"JH/A:Y@\@LVP/%1O\+P<'VF.ZWS/OJG&U7:P M1#20AEP(HJ467.$#$@T-EPRFR.2[NDB:?#$NCQ0.V[%T[&@Q@QACMS? HNEM M>V18PCP"-J<^T\^U<."05RW"F0(9!*< ZCKR0OZ]!0CINJHS5MYQ08-R#296 MQ9D)$&&@/5U8J:COO0_1OJ\:3DS2"/C!D?MF).."3?,Z!3'B#%2Q_-MP![9O MZG#0,(<:8-'?OL4U,4(,3NUSQ3=IB>@+"J$> M8&D&>+R!PX2M-<IE[F6HCA4:L$=Z+].(:PL YD8#NH1:)N$LA"/HG1A MV$YB>6#TB%NX,H,*UGHU>&.] -!M9SSOFJ^9?LTG+TJR+TI:E;TH"4Z>H@;W M]#8D!H/ ^1T:P&!X<\?5.Q*NMN\"8W???RQ=[BU-X^0&>M0&3 (SICA)GC"A M)+N)%OP[O\TZF,6!@O#EXH))EHAPGC=H,MYYM7H$>>=**ZR@V8@6UC\/6IG1 M5X4M9=FJ?8D]+!$>/G=AR8BD(%@\#1;)"B@H9WKG$ZH@J'K\ ]?G>K,%36'K M3ZV]5UQ%#8EC&\>QI#X-^G*(8JT*HEC>)!/)I8LO?U/%J0JHNU/%;>WF5)L\ MK$+SH+>)O90G<9+2Y4%]A6_0AZN:BV6JK03/Q;*)"M4'UI=GM,Q:LK*.CCK+ M%I8-S4HXWN_!Z=XR[Z[_P&!Q+\MV#CH_.JMU&LL7;"H8>*5AD438? A[M&S/ M@+4A;.>D=G92280M-!%;BKKYHNY/V_E9AP,986O3!8M+;0?O6',?AL+915J+ MD<7D&Y[IC77/3W1E?M$Y.#^K-4^7KP,DY=O.X6A:2Y#%1%JQ.(I*6*VY0D7# MZHHT:;TM*M*N#WD9/D2.=65:=),6U2F/?JCD;EHV:SM8!35:*>W MMBO4;+9SW%A9-@:HL3+'.<)V>.W&9@R]]32'E!10?0IHKBQX"Z, :@C9/-Z, M&;F!5I'2MERE$*"\RI6;B_=?K MI_22BRD5)U-+*TY479S\#2/NE?EU+=,%\^Q2EL%L&7E2:ZV@<\JSM((]QVHI MSBJLN.E"FZM6VESXT$7-S?A9;6>]S$5.F2@]3FZIJ7EK39K[9EO/3\P97K*> MEYXSTRXS6ZY0"R-/VMUZ3)IX_EZ!,\2D0-SYEU 5@N2P(C>6F18HLDN57'F! MQ:Y*)'PIB+Q\^D)R_F9F)-+,,?&9DI.W;)G/U>;$F@$WHJ3 M<_3C+O/#HN* MW61G97?]9Y]JZ^5(.FXM4H"#"@?\B9Q N88]V,I5V+M4U&ROP<*UPZAXQ)_7 M5]=A]8@:5EP!?C4WK?Q?JN6KSCCG#MKYTJ;G/Z5\5QUMD&_6YE%AL_[+-_-N M-6>&>"U7OK]R:[\LD)Z>#U-$[OZ[H-A$LCCGS74WA@UA!36JE/;\C&44O:B: M1E^@OJJ_(&JYBC_"XB:_9I4GF^S$*6R6QBG8+'\A8[FQL*@;HFSWS7#K@LP$ ME85$9O35[P2:;#LG.>"UJK'N$,NBA#;/\4+>^&;C<#I(4]0P,TQ35$R9[A?, MRQ2HB@7\)[7 'Y:(PQ%JO'XA_H+2D]> LN%- ,)0,6W5 AC#+%CLPX3%F08\ MQDMW\9)-\8*8HM5+K($QKW8"9XR*A#A'+%&G>O0"34*59^"E.QC90KTOX!S* M YY]5'7F[OHA*CLS,OWLLG2I?1V#N@V3L^ M@0N?PIVT"J_)I5 QX,<1%GVYL^(S-D-DJK=R8Q/V\CL\F8YW^ T. BR%YT%Q M[#=OU8J()5$!(H"2T@4 JL\LQ^G.Z' E3W?B=*F06-;17K.>D_]L%SK:/)BU MF,19J!Z*J/:)AB K?C'95#^T>^Y MP+3ANROTTSV-1P+SD]]O+X&TL+Q)RL7V;Y&$4VJG6$!6+5,2^BJ>-HY]%D:M(,H-01 -?>$PUYU 30R];79\2*EH\#D[V7DW-? ($" MD_.^<^A>]0Q/5Y?1\H\!%:8%=U+'SU'4K6_[#L<*/.>@D+VH3B9*/2-K _## MN<(&@,&1V7VH=.<6/5UO4;*'M>U2Q$BW+GFK&+1IDDZ^ T9D8 M>YR1CUJ\A?DX #)$C^X7V^'ERMVU&9>\2<>97N.K+2W3*5[CJ5K71W 6JTX46^W;TM=T=5 D8,/_<7U?I94VY)&P()VW5=6VA+,5=W]/R$QUM'I-P@_I3S$.XTS\YON^0S7IHQ@0WFI@VPBI8$\%D"5[HCQS!S M+O)L(:TB.,FG@>&LOL[\.)USF=D>^:Y @LF5SG33@T+Y8ILOB(?H, ;VAUH) MM6GA?R,X3.:1!@J*E<8'%M9!Y.57R5..3^1PZY^DU51HUIN->JOUUS>8^Z[/ M-R#:B(Q)]2)R(&I ^KWMYE&XT@83YF"H@EVH*$QC+8D7,P":K7D60,A3'@C6 M8$Q?A$I3[&!XKP5+L#>Q\W<77#_<;L7JP M">B_U[9SS[#">CRL; '8GQR<'\VRPD,=.&9E$^*[\;KYLZB%^Y5F_0H'99I8 M4]IP1&!F7Y8T8)/3RD,O0U;-M0*K,X%<[4> >A7$6SJ9/!.+$1 MCFXN>@*P\0L6EP=)%I2QAR>5$1C5)L@XQ$U$6)!ZB0-0,@G3"TP#X4;>YBA )\OJ^^V$Y ,4+S MX 0R/478M@'=46 Z>2G]]. 1,C^YH8XQ>VZXBAZ(4XNYU J,VIV >62@!H,5 MW+%/ 7;GJ(7^,@S>%XTAX T-<(EW!1.MQ+ +M)WXQJ:&"0 E%&IMTB!>=3M HUWV\:[UIR)7S27\@E?2,\TD_HC[Z,>:.[EMZ- MN:*WT^=Z/]&;9];))AL,8BL^V &0.?ZN;RS#D SUYSZ#8($]& M;O9JN$QP.H9? F.EAGPUDL& 6BBL[5=$1& #)G*D$:#TF+,V6XLS8V /)")B M$@*@@PUL>-N-4.W7-&:*[C"!9(CK/U$[Q&P-*P ->FFI-,-:6)'$G7V6>QLN*S0,]U&IX&SG4 MHA-=!J-5I+4;#'Y%DF"[K#^B/]0X1Z9.\>P0L,=@?,8FNW?P&QWWP.# MC%RDNPB4#5]\S2>%2>ZOSY'M:15, ML\192'QS_AW.#WIFLSYI>\KCHZ/6S. MCX6,FYM)OQ3>AX@+LUHV',\R2C)L&H[2 MY^)^G;TW"V=?9VGWZ"*[M$('OB2)G;8/3PIB7T1JV:#,J#B\:5!6E8,=*@\) M@.?253&P,Q'7Z5##8H>99,KC+9T(]IS6BD=AR\R8KP ?S>]EKBG,0 ONH_+. M>,^W^P6=^SQR?A$' H6?TB.1A_4[*4LP;/N$?8(9@BFZU$P5AGFB^'V,8BUX M+M#V8;JI^2Y5[.CX:("-QPJ=E]N2X0U8RK+HAH7B6K+(+N<]R;HI\*\'[-U+ M#P@_R_9&[F8D+MC9AW%2OI( '*(L8L0Z18*^6PDY+KP,\X"U 9]5UV$%# S8X/&]-:.7 S&';$ MTS3,\2(W>")GA+>3C\>U,G*\]9CWRECF#=I)HU,]N56&$I&VO!^6[S(],*2C MD)=KQNZ9@U*@&2D,11]?GAX%]H*FIZ$< MR3249=)0CBJ;AH)'K]#9*]^9BB<_Y$BZI]DH!(\7@H<1:0.JT/D=0Q/QU*\4 MZ=)C%.\#Q@-)8X"NS9%JT ^>HUINGV$(?9A&5PMT#!@5E+01B'YX M@V*(J.H-:E2V[Z)H_,F\,$HI'#LY$(:"(_6!\D&3"7TV,$/$()A68N!<(C87 M!QQ&QTXI"KL;&H&:&)#8P :BY+&HS[ZADU((MB7@-+;TP)3'?H0$ P-T2$<; MC/FQPUGAV[ ,5WBD1J!+XA'CXR)0DVD#R_BOCU6+7(X8 L;Q@:GZ3@;+\$"N M,>XSZ3FVJE,HI\GU29>)OS""YB.YUH+TEHR(11&N*):,L3@4<6WC2AX'\&#FNB)R)HQYHHN\_Y9R^-3T]#["E0-/D2GC& C[1PP+OR&V" M^P]%!PMWKQOA5? M'$T$$/%,BJO+$6<;6PK?+P,+#D.37;0K5%%#A R",*H-HR4U%9YZ/V56"-^$ MB D&*Q$- \10W^4F3P2$8!.P>XI*G7@ROK'@V=QRSFRJQ9 M%8U3ZB&BYK<^YC'%*?JV:?*P!J[=N/X0GB'*CX=E)^/5IUSAT>$)\J$4J8A^ M(EP7/$)'OASC$WAQB$+&=QR>MN[":;\CT0'2 49SWW\LG6.OK'$^:@.F^R:[ MZX>Z9Y?@T[7T;Q%TA$JBWUD/ 03HFH.4ZG0-]3A50UU"116F"AP@S9:NLRYF M#CTLU7QA=KN%]O'JC>]GCS[5ZM[#,G4(<@NK]LRU MN9>;?-E&)HE5KT5%$9N;LB)ZO-D$U\!GV LK "2U]4C&$P3$1I=$&7.%1 M%L4?4&DD"9L+QN]-=5PI8(YV&9.4-8<\B2IL1)Y$538B3V*%C13:9WG;Q.I$ MN\7K":_9QZV5IVL;O+V]2]_>P270)=#W8_!R@;[7)F7XO^8I";]+UF>.0TU< MAB-FN:+.DJE:"S4=GKNR15NKSM]J2J/,=35&S3=[9HO3[&+.CO%",0)1@LV# MX?ZD,-O@@"YBYW,/QY.O;5#ZN_SV:\F&J>W:<6,Z56>MYUHPZNP[+J9E\1: MBW^%MZM?QN''WX.0%O(LTBCA;S=TWT\_-#>(SHW3ED3G+4;G].X>&T7GUL;0 M^:BU?"]WBWW(W#?>F%[_'W/L23RN;PZ+M]BZ+JXUI6I;>E<:T$NR ?NE92VDA$70)13[)* MZ6T$47-J_)*O[B6Z9M4+6:1SC8$N70\=%TD9OB$" U3'0+I=.^87):L:<5,'G/ MK0=)!=M)!4O?]Q9/!66:)E(D2&*8)H:E+YR+)X8=,'R6H8+MO=,H/MZ7,EZG M?3^IU6R]%HWRSUCQ; MYR6+1/F=0/FLZ_)UVR@+HWPUC)4\F+Z^JYL1"2EF( MM*$;*3FSL?)R,G%6IA-687 )= GT_1A<)L[*P'AIVBVYRG=9MMWI6B),\UX[ MQ:K2+NO!*#/R+M7**[)V7:)2W7M).15VBIQ6+M9UP2B@'+0WTY6BN+ !^%0] MGXHDE.J)F*5C/BN2Q""EE)12%2:^3-I;.DJU(AD9NRFEUN=BE9Y_N9!->?ZW M.Y?H4ZP(=;);=[M)-:A;L@;U/!>=K+=;@0W(DZC*!N1)5&4#L@9UU>[390WJ M2MQUR<$ET"70]VAP>94N:U"O[D.MP!G6',JS.UIE4*-%YW>B7 WJSIGDS=N,S&G) MJQM&9EF#>EM\8S+4=O?J5YZFY?;FX@@;KT%]TI+%4K<,V=*R:E=&MCTO(R<1 MM7A$/4M+$=@HHI99Z4TRUJW#U[3(_(WBZPX48Y-5J&45ZBJ0?B&%&L_2,A)R M<8@-5J$^/2ZS.)4L.;H=F)P6W[\")N^Y^2"I8#NI8.D;W^VN0BU%@B2&:6)8 M^LI95J$NB JV]U:C^(A?685ZZY)&SS)N^MBK4K5ICK5&N$N5W N6S[LME%>JE,5U6H98+J>!" MI W=D%6H*YW;)@>70)= WZ/!9>JL#(V7IMT:2H1V&FL),2VIOF?GX'RMK1)E M@<\])YU,RJENX7I8%UA3W8&B6G!:@$*.:BHC( 1# M,\<*6)DZPU.TM9_T1,^&_QOZGH_13V", M ,:P.P,FU1#=Q/?PDF;",HR^ <^JKD*H*\#%AG$P?827!W!4N*_FYP]L> [& MNC> $3W891\H@,^O# +ZJ.& K\S$F"SEV5<=@!R#:0SKA;D>$F%D/H>+5VFM MEF:,FCVL6V2X:0-'P^#/!BY0"L^0N6KEV<:C,+JL5G*#J,!A7,WT\(C'> M'0SH! ^(\2]L="NX\!!\HL!+%??S186Q-*8\#A@\?#@'3[>;'/IS/2F$W<9T MBA-!60\9IIM$=UR*#=B"B(Y_#VV=F:YB.XINN)KM6PAH(J^^:;_"'*HY=F$0 M;P#8!&=G.R.;YK)[+G->D%&%M .8.V2P'L SU]<&B&')]8T-9NJX)5P6+C_< MG4!/_ Z7OUXT#4!#OQ&6NHFM<0("(>X""]'QB) (!0QP>18#)N&J#K ;6W%8 MWV1 83CCR+%[7#Z-D4T!3U-]TU-Z8_J5@]ZC,]='-F".+B.\=-E(-76%O2/CB<&U.V?!I[K[B]VFI M$W0US4$DCC^W'\QBBC-80&J:ZCAC)%]UB#CE)F0B?6#_]0'+3<3;&A>*L3-Q M '\-HEVD.4WC8XS4,7Y%WTP"NR;.S@.<[GDU(5D=QWZ%5<#T_"A,PV*T%$Y MZ@CHX0WT+R]!BSK\#^@&7W 'MN/5 =.&H/!YOD-OPP\N8D"@@D:'EZ8,E7.> MGW7CA7.E?Q[B3&NWYZ" >,FQ$:4K,3 M74W ).+]Q "#?AT.(OAE\B<--8O[K[<_OF?.D7X?,$OM/3CG<\&S8M(/,&NP MMNAS_.,@O$*Y[WZ]JG]YN.K^4>]>/UT]?%14\U4=NX&1@]'5CGJ>$QEBG_ #_LCI+?E;@MH3 M=JLN^B8"7)W#XP@ ,_W9'JA;\G<8U$A=I#?+- M?!:6X.Q;1\\>I09YT=W<["O!*;XX<+V(?J M>_;F]Q'3%6,(1-)/H) 2X=#$EC)L^BU30>8!ZH9+?_XT:KF.2XRAAR8'*,JU MN*:K&"ZJB38J;* %)/7,5&61"9<3?Z1O^IHGM/9#4OD,%]D/:8KQB0 :K4;S M[),+4, WGTGMC&5 D7X/(%"?&1YKPY3O6D\(,>B:8X5W=8"Z@?Y[C"3H^# @)/L,>^5,8L&Q;&,"5Y!D\$Z M/39T$]X> QZ80$-8ZM^,^Y[(P17'75!O0 RH/VF]L$B^"7C"HFY=3[ZJP';Z3&R$%TD;* 5 M=\1?!]#A/ASFQ;\3ICZS@TA%6// &(&% #J2X&3'YV M,"X@I1KN.SXNG. $1KG!["@$*@3Y\OY+9UZ MN#_B/W%$YCN-AAB!*1<=H\L2#R/7%XX2OK0?%M ;LE!=>4;*? ?:E_L>]SL) MT<"XG&'G/WKP'W&2?0*\PP;P')?9<-#L4+GIPRIP"3JZIX: 3;H 5IR=P.\9 M>HME>]S!- F[&G?EH'O,([&A =IRX88D,0UKVM:43'308G?X>^2*0[;DLVE& M17(!F/^(G$XVGSJVC03M[9&$X!T#,TY0>03"BK43Y'KH[.?;C1H_\2RG(Y@> MXBD\3X^2K %5@! PQYJ\,P%CRZ$JO +Z_)IQ?W?23$N^6;V/K%!F+P->9UNB MOC+_F^E=5SP2C;S8O=VM@$F70!)>W1WGOS<_0MOA;.KBCI\E()6)L'KW&:PM M*SBMNLNTNO%6'Q@ZL(Z/ 1!;C8/SB^[EKV>'[<\?\/GD(.^)\V8>0ZO@IO/- M[3J'YN%T(^UESJ%U<'[UXX%DGZI]HE%3CJ,F%+O0)YQ]-.OIM#SC9&Y1* 6' MLX&3.#H\*N0D.IPB3G"XY2@BK=K)^BABTW OB@*.NN!YS\$J= M3&O5<1!E$9VW-V @3W11PLN=]*).^ZDYVPC]%^88CPOOH] I'CE]T)=)2P' MUNEU#!5 H/. S/"K*,QG'A+'E\IC%M#C;MK<&Q>N=:2.N0-H".! 7TN/'#"P MK,>[ZP>:#1YQ8;FT$KXWI(XL_K>TH0V+;IYUFC.*^*7>2'Y5#>N;[;I?QH(_ M/L3BLWGR2!!1N;8I2_!=$< MR?@F*UN9RY0^G30-K;K0+T%5:!Y.5^9)2JBYVE9GZ12E'05JZW@^4#*8;L\6$CUG@ZY:,&3 PGT\@PB)SB?0. M%^FD'F!T)6H%NRNC[ZQLJ/C/\%:^0S];V/X.)&Y",0#%*24D-':Q)!"DQY[5 M.8O'(\V)L/EHA4>4K*XMX.9)8^AB4L%S)F:V&S0IWX>NCI?3,H[2#&"0C B1Z>'9>A8QPM[2C>!.Q+4#':A],=EBHB#<53&Y9!IWLE M@WA"@FE2B+?"(QU=?PC/$.P1:GAS[_*K>^:^1Z9K/UMTIP\G$H],R [5C\IJ MQ2[SW]$[MN\"8W7??RP=S"O'GCYJ8,;Z)KOK9[*$&RO<]%T_A,0]HKI8_:_8LGNI#08V52Q+8LPLC+DUK&U$F)Q5Q':'U;4JB[B;P5ONU*D( M-DHLV!P6M"062"R0O$!B0:5XP3+ZB:PK+Q>RJ;KR.UA6]VSYJKJR!KVLS%V% MP270)=#W8_"MJD&_4TU8;IFGN*K)MJ^4_&8+B&87!FU.1-P%EUPGR4NN4D*_ M_^)YN^&]V#=;BYY_Q*-?['H\=NMV:WN960#AM1Q@V9)=]-;:*'4GREU7F@Z: M*730BNB@)>D@;\_@L^ED74D(E2*$S#KMS5:Z1&A*B; 8)41EIX\;T]'S:T4O M6>.](I2626CM=)'3E")G09%SFI*=4IK(V5Z'9O$VVKUCCQA&Z&)4-!:V&>$) M5YQKY'!R;UHD=[;$2 O.OVOI5\'I5YAQ1!(:;^2D@-X/4LNDM*,M,0.WC-+. MVR436-6-PDI00K;0.=X2.W#+2"$2.LU&R9X2*76J2FLG6V(*;BVMG4W72]MV M4EO?Y: ,\)(+V<, KP+\(9^P*OY4*1T9IB6#5ZHPN 2Z!/I^#"[#M#9U!1"* M/]$3L.*V8MM=[KI^;Q M;*&K<]]([*R *P1)8H+$.I+ )($E":PU(V1YH8L)26!!N.;1= EL26)[0&*9 M%Q*3C6Z6NI"0-#9Y"W$R76EOC;<0J=2W#5<3V^T#GC"(G[!*9=6MX+ELI UL M1+=]+#(WP4MUVVGA>/V.@,")"UL"RUD:\$SXJXG+IPVXC.#AQMH'4:CY U62%L6P/R2J8>]FO?--=TSS MHX[H(X=YZILHKX[=M7S/]51+I][LD^W1#4OI:IH_]$TJIFY3:W@MT0<="[3/ M;XMYE'9AD5;G/(N<[G#Z1!=V[KM!8HGW.&!A2P2&7>$>&%4%-_J&\.Q8^I/Z MMG0WOSEM?6IXTJ*9P&CDV&_PLH>-S3+A&WD9^ %K:DQ!;WYSJ>,T1^'RP%G"J5@P;)(0KP:_"4C8$W\F(B=ID!R9:.S52L #, M66S%HPUROD)],5SLW:'B@+Y)K5%\$)...4:.0GQ$C_?R@4=-%U>,/V-7!T>G M/D XMPOLQ+"88@ K= ^!)S(%I*4HR3U[24'5_Z_7__I/IWYYZ M-Z"UZ, DZIII@'2MPS)MW]&86[]PW0?Q1WW@#.C_1ZTFM4]QAD@<24FP) 51@S^KH_!T%!27HGW,?WT0&H9'*@&LG^,$'JC# MGE6'>/#TB:A"U'P'[6C9?@<.Z_?ODCO0'$M+(G MOB$]DKX2+2B2XUT_/616?8U-$K:PB TPZ-<=^S7X9?(G;&6AW'^]_?%]?F79 M*<_M+%WJX)S/I32;8M(/,&NPMNAS_.,@='#?=[]>U;\\7'7_J'>OGZX>/@(E MO:IC-U".T5%LL<2^/P$!_SF'*U/B1UQ07**V?9L]1(Q1DDAN[C &30 M%^QN=B]ZGJ7WDCE+[26S>"N9-,:1W0IFQK609X]2$U%:)UDY-]I-[,LM "(ZGMVR0 AI*KSGGEQQ)M8:H8QN6-VXV0_Y4PM M.W%X?G(-82E'[:1( ),R"C>/Y- HP?(O4)C8^APU-MJ $NY P2T$S4;!,GLQ=.9R#0T5+#+1^6KL$==4 M08T> 3$!Y&&=B)OT#) BZ+W\T9IX TT]V+-0YI#27%*Q/6#!U((:MH!&>/C% MK.'BC]#(>%JN\B[0/A\>?X3:Y7O>[7H4]?/BPP;["5^Z?^Q&+QT"1$*=M);H MRDDHEJ,7_?&).%/J0P^PSSC+'.?5.,DZ+^)WX:FQ%VS<#N;T,Y@4!%F^5X<- M0?^->S/F=<]; [E6@4V$C?)'YQ"_ ^'0X28&"8"/'25UX;-4P)^V9U@$[@)T>*M?1::+I'^P(58,,]M6>8B"\ =U4;&$#$XN#BO"L^%2V*0\7E M($)GAP4HR^ M(*1@=>1]\4TO<.QE\#;+]H2CA'E[QH\RVGNZLVA..*J\$KSAD=-] M9#_%%=TNP(S[+N_Z#R&"WA,"D]F5:F2=-F3#SBWL8B?;+T:6L&S8*3%&-NS< M658GV[,E\58VZ9-84+$F?1(+)"^06"!YP;+ZB:SG)A^Q MHHMMMW(6H\G* L;3N>OG#J@43CRFI_OX1-CALOEU)R47&=V^]*%*HV/.PBW; M@HZ=DW463Y'HN&9T;.<,.]\6=#QMKC/[6*+CNM$Q9T60K4''LEN^[$;!R,6& MG*M?)VIE)*\CZ[Q\QB,S33".:\HSLYBCFCRN2M6'AF6XGL/#]66MR0K6Z6KG M+*N1V7J.G_Y7?O9=2^\F#EZP@,USD\Z)K 0I"6"2 '+6TM@% CA>:X,-20#; M20 YZV?L @&T:JVV+%8J26"2!'*6M=@%$FC6CH^J)@7V^O9"5B+L0NB%L0L^A:>HQ5 M$*?@C*(KMDVYJ^F9LDV9*;NL)^GX5"8+5"%9X#9DSYP'AQD#]&_ D1-E7**I M3VF@=\WWHG9+)=(-)!YM H_^9+P@6#V)0%W@)NHS4[Z2LG 9_3B-3($A!6]A M@9%K+-7R;ZS$4@FL6B&))8O5R92-ZE]Z\/-;;\I&H*%,:L*DTEZ"6AU+/6_" M-BF_J]+7(A6X#LWV,70FHI4-[EAHMNKMYE^D L8J/L_5&_%[KC=.76J23CE5 MRB6]8HOC8$TA-+^^C*>*8M+X5V2GQ0K\4]7@IX%JW?$Z<[>VP"4NVF<4V)$($!2+(IJC5("KL@?9H0[3P:[;;$P)&;@WEB\Z-FR MC*#9[M0Z9Z5V0JV^+*P^>J<%,Z\9O3SD# /?8LEXS>L ,WUUX5@[.EUG:%+*X>UIO\5*$$XF MW>3K&K#](O][5HRVL;O M9:=K@BN\_&JE^4K^".V-\Y]B@LD[IRG78#L@YHNZZ&T=U]IG918#V=:Q( H/8,4&YTWZPUZJ!NNR!>@/I \V\.#(9BGF.R%F?A>5A?1D[0(E'2& M-!F$/\UTIAJ,IL;M/]'RON'JX'<,6 46$3*$>BLW1VC ,3:FPS]^.YSJ';LT MKF:*DSD(LD+?Z D=-T;:A>RJ$A38V@H*O!8M&N-N12"AC'TIWU5'&P1'AHV7 M9S_;;M9XO\#L_K9M\12U@=0\7S5C7"'H)\MSMR@!ZY4YV/_1]6&QKV )Z0R3 MKPP+_NR-E2'V,AR9XZ G([>79K".# X* D*L2YW)EFHXH1KDY_1)/DES)S8B)T@C-=QN-6;'E;(;.H'O'-Q&3/]? M@,>U -!'TW=WORE![]!LS&G0 =5SM4^.]^;D/31KV8!-2P%N1H!M5AZPK6E5 M,B]@FRL"%AT56< ]38O\2N175QVX[6E/65[@SH3;M&3?EZ[P?N#FZJDF 62J M.S+W>&4)I@EOV%SAU,@GG/A#AJ69/J8J8VMT^RULEIN%X\<%ZIX)4Y=GEY;E MU^EZ,97VKA];Z](1&R>-6B-%M>4'ERFP<[1S/SWATOLP:.B."(8;0HV )VB[ M85-YD.2NW_N;:5Z0R"T$,K5?QJ3Q,%4\2XQSCI=;@3%,,]YRN1>I,_@+_)FE MTL"2)XRF&4H(8@*^TG?L83:FYJO:D@]I_WI !*0GOAN6,?2'&^+26"4CQ7S" M<\X$1IK<+P(8ZML&@=&@A)I9QN0NBI4O<145#5C)!YY/MVSGG<>-] MZ:F+>V12;$H@B:=\:U;/]ZCON$GK%HPME+$CVZ'GQ*[3:B_$!"\:(+]F$\7&IIF/\=^RQ<&M[_V%>U*0\&HF_-"DC0QH\SL^/C@[. M.X?3"6T<.X ,3/@K*&X"3!Z/41/GU^-=Y,5IVR_ _%6P@T7*LRJ2G+D6&?.) M+5"YHHB3*NEL^#7XM>V(K_"YYD$2)Y/%E%!3^*C[SIBI#B@'AR>3KFM^!OAS M5(WC?_7I5__)PU?VCWKU^NGKXJ*CFJSIV@]M=O'JW6&+?GY0!XT!LX0V) MB"CXI4'_I 4;B)\.E ]I$/_],AWB>'1%P/OI[N*;8?T,Y] -=V2J8Q0<)NB0 M]1X6CDE>#=+4(5P_J\K 0>;P"Q#U00+%7P4@#*0SC$_@1X=/3'X9AC(DOR[ M80Q&(MT" &>[0%8&1LOG#^IY3F2(?0K)-^Z!7N&"=(IRUUAKC!<82R\B5A)? M*DMW"]S2%F"O M:3-P!Q:.E892T]Y(74%72M H1F(1Y!PC3/*J=-3K\\: " M&#S<;-;:IXWXUS40L6CM87TR_QE)3O8V$2 -=/,(Q?\+89 MY3ZW+P.5+MB]%54C4W0L:@*__]HZ.SQJHA\[!-RO[<;AR9'XJG58^G%/2S\B M;?YUDH"7KL@5:"5P D/#([\'Z#/(32._G!'DNOMM5*K;95P9OH MUDFY]V#(GV;;+*>'W/*954&GO-NPR47'<('H(($-$^O='W\LES;W8"2:")3? M50=P6WGTT3H&E4=Y-#RV\T4L;[(O08.*., P&R""",%5P$0M;EB;-H@0Y4\P M[( #>%/B_JUQ9+X9C6XCS-(+MB35W$>W'RCON!M ^7=UW M^4?]T_M#Y<^! 3PNU5L0[*"FW#GL&4:"$_#[Z 9UR/D(?,_$PIZZ#=-GP-2R M/>[8X)R4)IN$';I9%=OW^BIHO>36Q*>"*1+51IWA*VP86.<8Y/)0T1W5L!"6 M(,A5Q4*9"O/@ D>.#2"/OSURC!&@F)XR&AZ8:QJC0Z5KNC8*SD61)09* M.F38/?'S(QO5 M9M#*%=-0>_Q( ,T$H'$I#AN ]H'E4Y-C/X!69(-:4E/BACGW>'\+Q^IJ7C3[ MQ=7#Q; >N0,^8:$'.'B5YQEOA^7WY[<]>\# MR)MC 4H#9,<]S "4N_05RK0?*3IBXZO.&(BC>1QP4H'XTX@Q M9[!_^6 OQ 82OC34JCAUB9N4V)I5$X[;HJY [J$RA^W_"UB;6.M)C) 1).(" M!ZL_/Y!R+PJG&2["PF4F\ED1DD*3C^FV6#,9C#D*>'OERP]7B[UGN6Z*/ MJ\ GSWO< A ?"4I8)A?A$Y+&67X7ZQF%/J8Z6'O"\ "$ H@DSC,TRQ?9SO#U8E6K28FB8A[H.:3 MTV. 8NR>\G5@H]X_U:!TOJ*"^<^I M9F@[J(* !I"!VJ>-E*IZZ\'GDAE^2M>*>1S_4/G"--5W0[^ B9=:L=OC>1(C M8,2D/ M&;' ME,(,< PG F."F=;BZB)BAF^1H0PX%]S&H38'Y^NC1N/$_D"A M ].HT20<.Q"?D,':/3,0,B2?A-\FN.B:HS; S+!*<66?B>@B8(C:;[C M( 8$FJZ/C0QT-U!U\^ 0 >Z$.G4,804G2)A]0"2U5(9VJX)QS2TSH@!7 M>7)@3H8GY@/G,2-+3/S@1K8@:3VN/63$",7(&+T-D2RW""9>BT#%>8-]P\51XYL0B,R H%/^$N3%*1 HCF7;&&!,/= M,6 1<:V32TCNP7 9^O5-Y1:&&;RBX^;& GEJP41&#X\B8V7> .PT(:683L.H MPGTY5[S9EGC3]4@4D__G,+E%0% %G=(C1IYI(Q8 XP'P85Q]KIX! MIQHP>@-E 7ZM&2-H#U-^BX&)XC$$N(! %->LYVHREH2637 MTF6.;@,-S+?WA#W92?':1&.E+'=J=2C?@%##ZZ+0J1=L+,M>.VV.,50CIYT9;7F('WP3[22<;CU8UPL8YXW&Q, MXW21;<;%<LBS9?0-#:_K^C[Q M-:[X!CHWL#/3C[N86, (3DS1%V<,U%B#5]040L ]Q_U)X@$X4M' MN19(4&!"(#_AD3$=H>[ AD)/LR;$:[8;JM5HG(D@/5#F$:FXE:V"Q 2V@8YH M[NV9QQ93A;#HMF%&"3DM(-1"4G(PUTVFO)>B#1S@H#'L M^8[+/<^!>I7P+Q V8[+<[_8KHPNA.$YI44^Y/(8]\GR^)3ILH2\$RQ2.50JU MC+1DX:8B&1Z?.HL:ANJ8TP!Q^?)1!N0G>R-U(R6\;*EXP*P M9(B H/9,G,X M1?).L+!8H-BLJ+%-!PZN&CFX\,DL'SL8GX1:@K 8@=VC M!!-JE.CHB2%V;&BX+D_NBD4 .+YE]_O1XB$6_VLY/H%T-?3E]YHWI M;?P21ALPU?0&-8QML-!&0963C'=-\T=!0,EC]-KO]#S=ZD^L 5]S&(*:;"L\O]1S%)JFRV: <&E-5"R.:PNA?99<%76L39N7ZQ/<"Q%M2M71 MV($PLEV#6RB@H/LFOT6+D*B&^BOHZ .E;]JO+\,,B,>B&CQ8*[]$]1J@:430"1IW'"S8#)74)B<6N0A2QX4OPI$-ROY MS="N0"N;6(CM$B]SA ,9N"WZ41V[Q\LA$7-171OO5,?B0A5^F,%-.0"(I<[> M=Z 9?KW^UW\Z]^@OJ%ZX;>/OK V]H MUIE)W+\^ -7/Y+'K,9@*#[C)4Y8%EDX@)F&4[\'T_&:$FUNO9(SGXZ !XM5B MO#3,UBZ&F6XO^^#L-!;\O/,,L[OA7-W4RU0M%GTNK@,6B.$Z;694%:.C T29KA",SO*'O; HQQ&+D'-5Z<07.8!R\8 M(Z;@3.12FG;=+!+OY A(<.D2@&O76<577Z4TJ#VS+!$QR#M%X148*\<SB;:5UO,UDVC#JS8^YUW_@F:\\STRH8!4. FOC38W M5N<@=N<^#7!^YQ%8O?!;P%>35QRATE>1K.[UY;4]@*)G^0Q- S21\"S_!!WT M I $M[FD/,.E -'Q;I7]*V" M%[XFUP] [=+A6S<>!@@6&\:2F#B43KQ&(VH*:D)IPAZFL%2P6>'1P!KD!&@[ M&.+HO(@T(ZPRY5+ !W?VC?R>"<3.EQ:+VXGNT,!8 H,D<,&EJ#9BU8?*UV"M M-86IL/Y9M5V"I;F1$TT3+(+_2':YJJ"!;R8KXD0Q$+4@B03F'Z);#]T0P&;= M/FPD6%.VL1FI5;$8T"!1@]@/7;ISGZ*8)HR#"#:A4-H9^2-AE6":YYQ2-[ 8 MF#81*A(==VX'05B3!3X1X:']J4;K"X,)HJ]0J2 M_P6-5WXE+W1QON4>[#F* MPTN\2X4]N-,K"$S!^V[JNTA%Q,)$E]KTI#@/<\@2=OT>*@]:X,Q )+!-3#(( M@[S=T->PN\KMX_U]>&YD&N3D$3S-(5F-A[QQ@BJ2"9 B\ O_^^PP\NKTDE'Y MTV&V%/U,D67C\"X<]9R 'D4,&VI (]-'>@V=0;3,OD&>$-Z.TXRQ*= P_^O' M=D)ZZ_R 77%?'D7W*[Z@^E@HA"*$#X)G",OQG2B=,0ACHA#8:/''16@0DR$[]@OP/,EB F^;?=BR^P1E],5BN,@,TQ1M#^]!U3 MX.\E]A0M>,"3,U!)))^Q^!Z4;T 4$= O[L^0.P,9BNAY#2/?Q.O(^96A_1)< M&&G1)ASU-02=&P:88+XH9A]&$[I@')@BRR)7& ;W_M$43"PQGI7B\E!=PN5: M?%Z BST4/!/U@]A9&F&E9RS !7]%;H9H#GPG%NJ.5Q;!3TB;PN4+=.M;05:6 M'@GLX%SX;!1JB>7LHDC$&DT0G6J/^TA4A[M3D)ZB'R.9(HA6X-;,YX2'&[QTU^QBK:KQK" MARGOP&RG3^_Q%Y1?#H+!9^(31PJ=3 MSHSW26]&C@K-L:#Z>1EB1A!#GZA1M+$BQ53+)PL1VFD=Z5L1(K2V&A'@_*>+ MA+EV3O*Z MA$Q,\>J4MV%2CQ6ENM$""E(Q,29;. 2$OA]Z&6I"M(F0:[) P'XW&;='HOMN M[DN9SI=PQ6T_VKJ>R4/ .P P6O/T^ETZ3YD70[ M9RP%^9:2.2[\;GX3V<[[&Q/=D3'1,B9Z!V*B4^ZI+PU7?7YVF*@-@3U$@ON0 M/;BV[MNF:;^2%4Y'JT?0(,.2*P"]<2"[.8Q"YR5F@WL8E&4;(MB" @O59,IB M/$"WA\G*.AL9* :">BX\'[LFQ'L-1X$E<3GC6^(&G8' T M"5SNR( 56_;0T## FZY5WI''Q?9=3.I[_W$3\F.U^]HDKM[U!:825:9?UG92 M+VN7N*T5W ZD+\V6?GV[F.R9<]L;S?@[4W%=X9PS^GD7W*F[??S;IUG=#E8'$@DKQ@F7TDQQ*QGRDR_]$NYQIY$)* M64A.A$OQ"",-MQJ=FM)JG\+_'1V]7X_:/"M4>[$ADZY;P2*46,>I\']G^'C" M=5(_(XYQ%[KEWEUA$U=&22B/%!5VCU&$>&5W;XS8^ZP ].9O\]PVTV[A>4>Z MX(#3G/K@_-<,G$HXU2D.LE@Y 6@S^_*_<]3(%2CSUQ,Y-<6E?!]K/G^U;?W. M$:T.J=;>4W3_B:>)*\Y34F].'L=-<,/8%:60GM2W,!2@O5!OW--&K7/6G@H" M6.O1%XQ=^XZNS5SA/#N"KNW:\;%$UVU&UU:^SMH[@:ZM5K/6.INN7BKQ=7OP M=4:T9',7V6NK?53K=(XWAZ\K6@='1V08;,(ZF+_U BR"^_BUO/(NB.N[24;Q MX35ZW&"@=F5NY8V$?,Z;'";INAE&[I5F\I6T$./5K8RN1SAR8U6/N8#5WFJ= MK9&WI#J^ME% [ADE'*W%@*DR)9S5VJWIDAN2$O:=$H[78AM5F!*:S5;M].Q$ MDH(DA0E22&E.68#956E2.*JUSZHF%;;WNJ9H@^S@_#9(R:FZ)367)-M DKKM M8\CP!$UNTA&3?Y69G*.(/.- MVFF[3#,\#UIG5*Q,J=^Z<^F<085V41X(3UD47_H6U7O:^:36)5QT:" M5P:+]0"-+>T^4142FQZ*58K5O6#A],02@[(<-0(8IMUZXQ%:^5@&T^=-;;*[ M7;8;!$B.)+HZ=GEOZ!?;V$QEA]*Q,]X,-D),57^AVH (>6Q*$S:3YR@001D+ M>U"YOV0UTEB!E;!$&]8J>563Q4(2=3[C2^FI)BU E&?I,5BZ)5HH4_U$4:<- MJX=E%43JI$5!%%H\3 B[AW#'R]8R;Q\>Y:G_E+G;&7>S"RFEZ]_M,>SVZ+ Q M9[>QHGR[5<.IG5+#*93/7I@@5S" M*N@JM=CA#G4;QZG3>IL-$$JQ,[L'/%[JT.!+S+]4GZ/RF/56[O-KP?%-.T)^ M"^RL^>2*AA(FO@9H7G>95C?>Z@-#UYGU,3RULQ#C\>GSS".>]))NY1%WN-Y1 MB2/N3-],_);WY(Z;='*=\.2"7K(!5Z=>%&H?V/+.-QRZH6KH3^K;I>%JIHT9 MB>EUJXYDDZ$EF@RMM1MGLU'9#D8+L>K+BKF,"P\4E@CZ"\H50+VC+$'PY[ M'?!>Y"X.FWS@4$%S4.G#AMF;!LI@U+0UUH$X1S\1T[:>4;WU>W]395T[?2\U MO@CR?@8KCH&#O<$Q6+$>)V.F.MAC!9_-Q]4[R-6;V-6+N/K.FB23_D6'^Q!C MH,3.>>0R!*!%32!X;UWLTQ)'0T0,-!6RE)>T^.Y,WV&:7G 53!^*G >8FS<" M]U$'"5OX+J,28.[3T6&:WD=>A*S=Y8O9W?CNCE,<++\INUG=?:9G,.L@3_+E M45?@(*>-R_EH>I*6=IOI"=S4[M(T\]U$TU3'7WJE]1QLV-U1*+5S+9<75<(' M7\'XBMT2&P#)H( P(!7@'7K#C![O:P@R%>_I= .@BDVIF%L1DRVJ=/[ECW2K M9SIR17SC\,KB\%5@9:U:U3ZC='HY->U%0?+FT9Q:Y-''S1:K7[%6_8+P7KY2 M?5#H?3OKU.=$AMBGM?I"D&D[; #* MTPEDS1UUD4P@A/+-=O?;ES'1FL %FW^(0OI_+-[PD8>R#$>V1;=E0/)QP/+V MG%H"L-2(,-D*@'?[">*>,* )V^E02%*@,VU1MP#K=?3V\5$;@.9BLKN^:/%Y M8\4 0PB7PH 0Z5*["30;EYU&]ZA=/_[RI57O7%TWZJ?MBZOZY47[N'-Y?')R M_.5D@D71DD'/QRRZ?QY<=#JGEV='S7JK_>6XWCG^TJV?=EH7]8NSZ]/VV57W MXN+Z5'8GD"6[MZU ZSV2#QC/882+T@T+M=*_89^^2M1OE4BR"23Y83D,GL&H MB:\8L?LNB2+(==]CK.>U\%1?)'\/&B!?1U\G5I]0?>%YVWE5'3T^2O;C08C( M9:Q#HRN]Y9]&?@]L<2322:!0[)]Y8R@T.B7VFT-NH M/.9\[U4=21*0)% E$GC"GJ&5.']9]UTN1-9]+ZN0"$4"4W"86U,NF19O5M6$ M/='EQ9;7%)E9YJ=*V;PS%YG5#KYSW$H)OVS5FZUZN_D7Q:F@/7CU7Q\;NX>^ M*XJFC/EH+EG?L)C^A5GPP;L'='"CIN]Y:A'E]/?<,N^NOW0N<-0ZHY37";!M3,([I(YQHO*HQ PXP')Y\%P?Q*]"8O[ M2O2!O^:F,Z>N_*2*]HD@I0M0\E''_QUU]WO5J1*MGJ^UM/C.5,[;9T+J+$M( M@9W^=@/2 M5R(7(GTE*Q==3>^+EQ($(@([WIET]2;R/AQ&M_I&'X!'43Z1.\WX0H?],'G6@3#L>IYC]'P*07FRN?JYI*YX,EV08Z\[.54"7[-5 MM[0RXBD(NQ4^A3)Q/>8&;$[74UHKUN^IOZ\2Q)1)2S,*:R]$2YMW*Y0J,5K' M&VRF)K%\&2Q/JP^VBHJSBMU?+JZNM3F7;/RWBLG3%:'LD47#=*7OV,-_H@5HCAY YAI#F,G1HWC6MC!8-ZEH.1GE=+N\[58*/,F,4=@S;WM MX$X*Y&BGZU0AI%Y>6=K(EO4S*B9NI>F[$;J*#-\SJ:-+NBV+;G.&QU3RUTR>1(C]12;C=H!SY M=M5EY\ZWO,X6I5E]J'8X2[Z3TDRH3+'9WFM]=<]I[BR#YK;"/50RN4I2E:2Z M-E+-HM33K!9^%7<(E9.)WSDK,T:IO:UW(3M/19D"[[19A)*Y1;GX9T>;#7DH M361E%,-/Z<129M5V4?=<#9%1UCY?AW-!EB?=='G2S-KGB85,%K:51=$E]L3J M.Z, 7*"^E9JE3-)JOM$ MJIF4FE:A/1>E[LR]<-]X8WK]?\RQ)Z^$ZS(Y;N^))UO.I95F7UBSW*+KX&;M M^%1&Z%F#)I*:TX^Z*TM'F/0KD2HU&J)25%QNI8 MGE:0UEK=(,N0B+QBR[0W9?7SK6= :=7/-WM5MY'JYVOMCBF%7#M\2C4D[Y\'(] M*+)\>%6I*$OD'372RH>7ZD8I@1B.$AIFJ[$G0FM. ?%X%>_22XBS-\WT=1;4 M!->-EZ#H]OW7ZZ>'S!J/P>$T&K\%1<43(PSZ=<=^#7^:_ W+BROW7V]_?)]? M27+*Z)Z%"-%LRF1"Z,.Z[ M7Z_J7QZNNG_4N]=/5P\?%=5\5<=NP S0%6"Q!( ^*0.&S.>CTD(&+3PC:_7Z:?#>)[,2?S='?QS;!^AK/HACLRU3&"T01;MMXS;>UG MDKW2Y/$34)6!@^SF%\_6#A(X_2J@80!',M!IPH\9GYC\,O2O)+_.P;]K'#UJ MB@OGWD\38E3(7K'[R@7R7N"HGS^H"Z$%47""B.)4%1#6=8\)[MNZJE MN^\_1MRJ/*88M73(TX)U7MS(F960FYW\I9#75S4IW/S)!NH?\TRSZ42S M9$GD"YJ@50/Z*S4M>VGO"R=>H#M&"22X 0KD;=$W3E?R:-=RM"UY MM+MZM))J=_9HJT"U58!^Z?I0Y-XL0/_)H= 4&/)Y5I'04[F.-:SC=$/!N@MJ M[;,"=!>[ND]>)BV5X!STH37#/K1J&,7YL0BF6J9H7&G #/2KR JK/Z"$H81A M%0;< A@6+:CR5GZLN*!JGLZ25%B*@Y?@,#3XP,669KM23%5LA=4?4,)0PK * M VX!#+?1P+]RL[RQ%_OLYU98>CX/1E7UXT&63E!,L+0-"[_E?;UMVNI0NT=1]M4U\UE[(C"]U( MDBZ)I&?4CSR9J,LA27K%ZE62I"5)ET32:149IX/0)4FOF$+=W&PRFJ3I?:+I MG(4D)4U7MT%()4EZY3VL*4(B&0\Q.R\340'3P5PX=9=2-$MIN[R*+Z7R>?6% M5":L-CM-JT:XMXZ,C9?ME_X.2>QK)/89_43WT\6Q<6*7GA!)[&LD]K2VJGOK M_-@(L4L?B:3VDJB]F;/%J:3VK6^O6DEBWW;O"<;\V7W%4]\*=IUDA*'(9!2Y MCHHFHY0 (.WSRL>B_YXVQB^P]C%) M5&3@KHS\K=8*JS^@A*&$814&W (8;GGD;_D)*E^3XDM3W8'2-^U798 UO-V* M6^.;,;.S*[$W<\;S+M] 82L,[R):P[\PRV=H<%\(Y>E/PQM<@/$.ZW%@6::/ MMFK7=1G\JR_=P*%DAUKU+ZLK258Y8VHE656#K-H'Y^U275>2K)8BJYQQK9*L M*D-6IR>2K*I 5MF7*&MO4B[IJEBZBMVX')=+8/)V9<';E2V*2RW+37UPCF0F M3?B"N'?.4%;)O>=P[WO''@$=CO'BW>M:.LXXPJF_.C NOSR'M3E,==DEX_]= M.1:NU&"XO8V$J:0UDS,J5=)MB73;-]Z87O\?<^Q)2Z8N#9DJ4%2V*,P9^RE) MJH*BL-DXD[)P7RFWE3..4U)N%2FW5;*7;VN<$&>E."$2QG7\XES1=<[X@6Y'9(;DJ!NO--"2819%!64GM=25I9BE:*"'*5 MM+(ZK1P=K3,Y1%)+,BXA]E?1>'+V7ZI:3 MY+YOY%Y$A*PD]P+)O=PF!I+@=X_@L^B]4T2@JZ3W-:03-]>IUV\NG3BWLZ;\ M0+1-YABO*52BZJ[O/6"P,J!A2W,(SIM'LCR2)&$@81EEL:TD+,L02@(& I:A M']M*P)WF.F^])0E7B80S'9,=&8^RI305VQ[6LK94W(R %IF**]=1 MT53<'4EHFND!?;(]U52<"3GA(K-70(PI(Q(15;^TF:N!M$$#T6T?)-ND"O+K M9E6CV0O+5(URAF1M4,VII&)RWFR7>LGZ:G"])3I"CO*&;,C"6IFWYM&J2VZ4VFMVIZHA 6= MX2 *B)F<0Y&%_<'KV?H8_\)C.U?^3U&4 .*W_A!>UL27J2#XQ\0"_[$P$()U MC6B:M*D_Z\;+.2Z!/TI/X5?T6^+Q/-)K$L6O5,>"$\?FG(\#P-DG>/^+:6L_ M#S@IMSJG)XTS>(T!)H_@1<_QV8& "0%-,(M_'B"U,],4.!3^[8Y4+?A[ F4; MC=\F[/L&(=QG<2JS_1^>/4IUQK5.LE("E:GSJG$4JRDN +#_:1*]YKLD>UE( MUVP="HSKG6-3I,1;#8B#D*G?W$,C,HI!1B*([MQ$3DW[[K&?UQ M\5'*H&N:AG/Q$[PP!$GI>D!EBNU[KJ=:-*;N.\'0W(%UJ%P:)DV= M9VW/L#9XG?7[3/. 0A35-&'!, (/65D>T!AAFK.6$D-QS=]6LC#XP^7FK+> M/W8!RT $ H/1<<@>RUZQXKO!%QZV]_6=L=CHD'D#W!$P&I*$EL;J/=5E?!(% M]P/LRS6 E M#= @(QL8"?P@E@M? "SP&FORT?@\P6G<6.*C"W+'&R@JG0N65:H1L.?!F';) MWA#,L),^:!,T%3]$TC#P#3UVYCAV[,15ODQC"#S54UYMW]3Q2 #5C0!BAW/( MIW@J!1DD]L2_((FED.;TSX/[K]=/#R'CC^NJ&L-+SDB"@S 0K M^I>'J^X?]>[UT]4#R 'S51V[@?J-OG&+)0#T21D0AP%!AU:0[BZ^&=;/F.D8PFH8%+ !UC:010Y/' M3T!5!@ZJ-+\ #1TD5B-XW!Y>5QS@J42XV>=KT+W!= #C;\\7RA MM-SDRT8OA:L^*390([8]L;LI.XG^?0)6SCBTOL,P Y=_OK)0(WH$BB>W#/^R MW:AQDZ0WVX): 82I074+UBR5&+-VC+D%-6$+$29G!,?NL+I691%W,WB+ZD!E ML%%BP>:PH"6Q0&*!Y 42"RK%"Y;13W(H&47&WK8K$N(K%U+$0DH*:5Y!;9YU M_S;_%CKI84P):4XXT?8P+AD19FZD2L%"8+DHL*/C7$'*V8$C<-;\C:/*H= MMR1[E?@Z!U_38L*G0UC7CZ^M=JUY6C5\77]NK;0TY4+VR-(L/9&61SYFAF^X M\?B-BINN.9!IW7(G6YX=U2U&F=WUZUKV+CHN. M=UD-J5%K-&6_L"W#K^:BYN#&\ L,QM:)1*_M0J\914)GFV^;1*_34BN22_1: M';UF%+"<;6UM$KT:I5:)*LORVCD5]XKGP]C]*#W#'$<))DE5]S/>7"?63:LY MI9'>-=]__H /9"9S58#0BRFSMPDOS5)E,X]GE,TL0JD6@=E3O*.K8Z3\L#9%A[1*3)29/8/*, M^_4B3)*U8?))U5KR2(]\;G/E,D]*Y3;YY/-?Q%:.8RQW9WP\(\:A&!__+*:Q MO)>_V5BG&W9GXB#V#HUGA#X4-:S)5%\=RX M4;DH'XG&54#C&1>[Q5R-%(S&>/=6-2R6L6IR(15Q=7-[?7#>.)3]3"3ZSD/??+W!-X"^S<.&=-Q* M])V#OODZ8V\$?8_D]9E$WSGHFZ\I] ;0MW787F>.UP8\M=OM$INP"X1C7EH& M52;N92H&Y25N@0#2-I (O#X$7J:&4&D(?"9[WTH$GH/ RU05*@F!P3Y89QJJ M1."=0.!ER@R5A,!@(:RS">7R%D+%>C=6L1WB60Y2Y;FMI?4>?)?54(OZ::7W M!17++:%5XKQN2$^P7&SU!_^70=.GIVE:U>*!A]U8;[='IOD *8.Y5Z*)'':D MO8C:QTTW&.I2UZ09M%]WF8;T_PHHZS)K,HS+LJ?H/M%J+LA%@!&I+5W&R7K8 M]H5W2\.^41E/PNK%@T,;VWU@3SZ6^<9D%Q#>(87;,>'8&_9 MSX4]/N\-%S-M%U_5CO9EFPGNU0[V79E MV\D*#%!N+,Y>@%?L;3=9D ^*/6*.2HU&70X95_0>Q5:MS+1?J14H[W]J\P:G MENKY#@O;CSJV[FOPFFN;.O%,_!96Z/>!%?.VJ_",QEQ7\5W> !:?0&&@6F-Z M Z? [\(EB+ Y!OOPX,;0!/C%18+U/ZAJ5:&G8P-:*3Q$:SZHMJF$2?.'+T M9K11D 2^Z?%.K@Y[]DW5,<<*>U%-7_6F%@B'TVHTSSZYBC8P6#\V#LH@%V<= MJC^94U,,&/."GKEZ _E'@N>NWS+L;V'8".:%JKFL"$ M:!GP=PPF'$ZNBV#$B6)=7P^5[ZJE/C-Z+-B&&[X8[P\;GN.S0_U:';MO>(?* M4PS6NHW513+$GNT)\2A6"A.9)L"CICPS"V!CUOA:]:%A&:Z'P'K!9K(C9KE( MNP8VGF"N5U-L['B/O4/K$5!%B"4&7! XS:#C]ZC)G*/< 1A9=R;XPB3'GW>'__/D:!L#9 \6=6UPT0AAYBXP#L MR_HH>-NEP48P!G8Z5=RQBR GVO'Q "SE%<[904IS5#A1GT95U-'(!-E$;8UK M@LJ0ID8.J&8. "9LA0Q'I@,C^,G[:N)08@Y"/3?&1*A_ING:G%7@"@9CW;&9 MR30/9?[(?HW>KF&33H\E1D398+A#>!1V9Y@&L[0Q1TB.;?%%4Y]DE-KX5TT! ML!&-NM%R< $@HN&$'&0U(U-%@C)&Q"\%F'!L('%/-; >#P<./)N<",<>J.X$ M7X1/L$14DY6 ZF&0>^"^,)%>4^Z /=E@BW9UAC/;--<3J+BPI0O 'EB>9:B? ME'O5 0[D]GP'J/!/H"WEWP8B$_[VJ,(']15$)WM37?C;.^1(_/;>:]SCTQ8O$ GDW,_SU(EE4!@<+ M<,WIGL8@U?;L:[DQ$+7V6G$].DP^B@)D MNOWHA^5F :J3\->M@P*0R0+0#N@6;\I%*IYDXXD%B)7"6A5E1WZ@J):E;Q3C MB#[(CH#8.Q)/06$BO/7C*,1S0#* [T5Q4* D9)(DU,FN2A8?0> X,/'?(P"> MFA+Q%0S/*/2C',/Q>Z"<,5"T$Z369Q2[9W"$\@V%_[^)")BB;7U+G=%]2/T M;#,WD5=:!EUS$[FYB?SM.C>1;_B,U!%)!X.9\BFGK.>M\G-: -_TCJ*(/3UP M",YP",H8&5:QN!5AQCJ ;D>5K>0Y38+-:AHOMW-+5\EO]X7QLZXUS<'R82I_ MK':R=U:"*CBH/O29^RZY@W6KF9BX$ MUA"V?"?T2V!8!OQE\+<-^%\R^ WUOVCPUX/Z7W2QC>P_DSB!2$RW&=.#HPZ# MFT,WA_XR!C?=9IZW!3EE?E=?F;0T(V;KBE&?MT)D>>5'MZJOYWSQZ+_.HI!4 M6/+\7V!6Q.D//SGXJC*\9"@@^8/\7/^Z3IV4,M<^9 F ,DG4[_16 5\"KX(N M I??7WZ?]15':CCW/$QQ6W_ZZ>@,$PC&(KY0B1*GE%J@=9CFTD2 M7\KH[5N57NU^SJT/B?-=^V3=MV:KAFTKAM:]ZJN-KVO;^LS MHG6[;?>Z=>LV;M"Z=FB]("5B:3?79W05= [MUI-J: :MMQ*M%V1"+.WQ^HQH M?=2TNYVZ76WR>.&N%:KC[L^*7/V);;ZSUBQD=Y)+-U-%\9O6K\$44ICT\CH, M;@[='/K+&'RK"BE>5,:1*:38H!EVCWFU(!&WSH44I#9=DM;T4)]:T^ZU'M/W ML!-NAEKC[8+\VCH72&P ;]%G]HQILP9O?QIO%V1DUKGPX>?QMM.RV\>FGF&; M\79!%F2=ZQE^$F\/ 6_;]F'O,:]9W]F$$5.F8#+;5H_Q+$@/W9XRA9\7D5V[ MTWW,DE:3]+F=I+$@Z7-[J@\V8ZT_:5Z7H8WMH(T%^8G;4U7P\[31/K&;W:>\ MJ][0QC;0QG%S09+C]A0+;,3KH09@NSM'FAJ +4N_.VZNUFCKT57 MWB,W1#')HCN!K:NUS7ITI>S(;K6>4BDSV+J5V+I:$ZS'QM:CKMTY,F53!EOO MP=;5.EH]-K8>=VI8#;7DEO8WI5O-GO)"M:JI\9(]NAN/'_T_^L5W/W__&BS] MU'7!9D'+$: F]BFT$* MNGIM^5UJ"ZRS-)I4UC^T3P@ BTRG.=#.7$DYBX3W0AJO0UARK^EA@RXV77A- M@ERUDZ71$Z_Z2N#M#E:! A2@R^_ILSZ*6Q%$DS%?PEE:_A(BV[V[GV-AC9Q; M0'(APF57V(817V'K:>>&-YS'=,[!U/*3)!.>Y10'GJ1PY$[LE2YGQDLB\8Y[ M%^\W]NAFR6A@.5XT(4% %R?#2L=T_[$8# 1>2+[HV!G$TQNLK$Z'&XYN:*U>X MY$3YCA$\TT\ +8D"2VBMR:.VWOYN\VOBARLF*XV M)5\'<5,PG&W;&4$*VO;AKU16P!_K1LBU !P5\@JW9DUXH$K0\1_,?: M9QQRWWXZO?[ G[VWKQ7M5K[X;8+$4+QY>OVM>'').K]$+!ON16S^_(W>81C?;Z5WUK2"^J.-/"0DS)'/+O/OM. M7]W$3L2N?DFL.S\=6:J:,U'G,'LXZ^Q7C<$+M>Y&OCL"IOI7YB.3E08E7.59?':Q;'"S] @<5>X!) M@C=;B1-GD> :TLE9V^1';^1D[P+('EI^"N/*L"*P77#3L M!G%?[3=I6#<%%V:I@GB]-E1XI=%R0OR'$V9./%5L O6@)>Q;[G[Y$CK\$,(0 M]^7#/@"*=\Y201)&*;^&0C-&#@#(4BF-!CF/F$2)C]"S :N2+$A)"D<61SR1J M(C5!!BIU'$S)\D+)!%_"*,,1R!Z:FYC6*I=2B?*JP\'R]6],<6"!0_ M\LC86FT(H@CAP&D5-B$,,O93@'U9NGN16$TLLKD)&)/+1RE7 ?A^^G"IR)I+ MODP"-@!HF/FD/^VNT%S=0'E2H3&K8'[,K7WK0N-QOY;5UU/XTF/F!UAZ)9() M0%HH1GA]?E:H3]J TBI"AG$-V!04XUV$@$(.$N@&),QQI80!.HOB2123]\05 M<>K RF&EFG]#22&U,;F=>[5Y)K&"Q] ND=$(!R9VU%GA4:V_&47B08#B+9V? M2/)+6'9T"^0H_ZS>%5/?E1AF :V@5?:5\]:7Q/MU<+;W.6)M$OE\:8#0XB*,[]_'YQ^NCF_ M^M5R@CMGFJB0'"9)A:*T[[?62/ AMC'P)'.__J-)_ZM*"Y,_[5EOJD[\[Q^K M3QQ!MXGSOOEZ]MD/O^?'],ZQ1C&&C/XCC=R]$L;>R7WYQ(D#!0E\8O;+/(>L M_/4*\="9$$5%4/B&@D= >FA]<)C!>;\B;+5/CQI(N\[Z";!46-WY+2ZQ.CIV M9*)C#XJ.'=4V.E; W2+ O]@(&/M_KD<.*!=78I+%[@AMT\LX&L;.>.>=/U^7 M:_)?4&<&57XU8[&]FHM3/J5;KD[($7R/E!Z@AU$4^__K*-W% >W+(>TO!]"$ M 82_9A/4EGY9DE+2:\\4]7226_!EGTO4 C MB46GWLHZ*0_BDD2*H)@ZR8M"J8ROUQS@%*)Y_90Y'*6 %:O.)G;NQU93+ M4&WL3-E4! T[R4"Q!I& ?G[2_B,T62BZG-(B8&;1L+Z1FT>;P&8\6;JMTD1J MK103 64Z1/7RNTC+ 6OV&UUE@5@A2-L_4C:&=-FDL4/C3 )'JND^&AK^+6C\ M8'N$8ABE[ TDAQ8#-FE8I[#/ N&3W&Q*LOZ_!5L(E3[^P <3R0-@Z)MP;AT_ MX% 0 0F$=DRQ8A4O @P'$"*LP;BAZ$^6GRY9R!@;CP6,:YT.8T$6& ,X@D?0 M])CX*9@I3@#:@R.-*1^PGAQRTI!3,2=C?M37_&@WC?FQQ/Q0(NT' M@-,'?52:RPF6-+6Q5_3?GE*K \,C+&$$"-.(O26_2H^\CS@)3SND+(P]9P\D M2XHOT&<)+W@ #@)+UMZ]P4%9(UQ]>,5X^-VU7FTWK#^F M;!39=$7*W#_S8-E?_(;%*LVUF*2:A=-IVA2U*#SVTH$-O_VS4SURD0R%:BIZ MXM6[ XD.@42')$>'/#* 3FB9.C@6#L7NI*YTR1HBK-#-I!;U&?XS9-T*#!!8 MBW4*>B \W^KUCC@4P>?#:VRWSM5@VB#G/UQ*HRO>[1S:%%!E+0]#GZAE@[G5 M)\T80ZA9'*.K@+W5RN<C2EH@\Z^+\5>)P^V"!@A\2YRF>#YC2/(GT1^&(@ M!P!YFXTG/,#8\00&LXN7&M:?$08KD@SC$$E^R+PF+4](_8 6B>M/:(%S/V)\ M,O0J?F M?>YK6NAMU4B)$-\KOBX.9^XG@!Q5+U<-1D&&^>_=\M=X6D2E.3'0 MJ=S1 >&/"5AF:*'!X6 K*X8)0)2WC:9&!"(/X^6#*;^[&%?):@2+.]%2:6$H M, ^M(= 2'+-@#7^041\DH%NR:=&&P+7XX6T4W(+Q[B??>75HZ5/,BA R1S?/ M'PS0LB339H*VAIO2Y#$BNP D<=,,HT)9"F:*X+%4, 2M.AP *%N%4H I4!3D M#B? P#D?!EN5"@AL^MUS!)QOP%.Q/P)/7[ IY8^1\:#Q-( %1C$>&!,7Q]14X!.O1(0496:XVU5(Z$4P) V'(*A"&\^H)4N=(' MH&MSYCL#5)8M@?8)8 %MR8"PMB"4O!.ML\0="2\+#+AJ#2Y?&BBSL9'8NY6_:0BQOD#4C, 4WAP,I-:2D7^''"#L1V17"?\J?A2?8]10A2=S7ZG< M.S, KR_ A1N%T=AW-4_>5+EP56E3&J.#%7%B[+AQE+_B*H=_J2O ),*(HT^. M+I<]EOCS@(F_R"0AGYSR:H\B="X/I;O!X$MM\86XO$A2"RL6R!',62<%WY > MH]*#"26G?)0\YY26-)X%(.7 1HXK@ MY]4U!/U<'$&XQ)X0&&H81W>E()3!@FW!@KPN"!O+ .R'Q#DN@4M8 MY^&M'T.*OS'') MRX?P\\,DBRE1 1.@8V< MLP92SP>ILJH=#B-RFZ"V[<13=,D, M_E!@@.Z#1%EMVW[S&0&VNV%TGLB, N MF=LN]DK &BG7P+?&E!BI6U;0(=(/Q#C!2BH4@3!AABEHH*)B_+DP>0K7RP"; M&=GHL VBI'#<<1.&.^&@/<58,0BBR-/S=4,'!@;SQO,3S+6+#8[4A ?D[28 M?M_1XF4W'"M%TM6B&B=1%RG=5%4M= G.9;L=6W-XZ "6&:GYZ ;PM64.FLTS M 9"*L>\BN4]\]1%]J43.DZP/H=3AM%WT[TWW_BM&7E6N.GI%EU&H:8 MLKR\(N/WO")C*AQ5CO%1N'HU1HNJ,=JE:HQV]6AE'Q\G1,,Q4I4L_E,/@-FINEGFA;*>M0KU50\%*H,KVBAL M60E0:8[K>W+EDPDP?8 Z]E7**W^YNU,H^U?!-U-*^<$Q)=@:IK&TN MVD[YB75_L4_#NAC(M#2[S$=BV]1C/Z0>^V%JQZ+;?B39S9[KTXB>=_WW7T&!O/7% MW0X7U'X!E6)TAUD0E_ZDZ)'C)]PYU^.4%V6V8Z8XB"2TYP[R/*K2O:AY$H2M M!2AENM9=!/ >2KE4W)YJ7:=" %/#>CD<@1:2:V'7EY=E=4M>QVJ5[V-EW4H; MDZ]DU<*S_%H^5@-EKN6)U/$#2N5(W-B?: 6_5(:8+Q=[\^(-'E)(=^Q"7^-G M<#W478=+8KEV4BHD#[GZ8XG&W'EK:RFIJQXZB^D68:S0(B[Y0 MJ3X!/(44,(OGHD"GA%"4$-^: 'XBV[<2B6-TN4N,UQ=08QG'1C5*&\Q"_6O, M+Y/ZB>XI_C,5[B@$$3><%ME#U@@DPL%?8-6@GV,BT9TM !^1S&5?*,;VA?;: M)!M/L.MV2HH510?ENF$ Q,)OHH[C3PJ04//T.D&Q;MN^4! M15@+2O8(FN_E8[#^'?E\8XV?HL-&,@!4 0$CJ5\XQJUA5"KSO<8T!C%$ZQQT M=]5OE(N%QT*DE$^#BZX\MAF> T#">W_NZ#1N?5!F@;8R'/" R\K5(7$_;]0( MA$7-V7$CG Z6:#V(9"J';?TF0G'K,$?2>(]M70I$N>@[HK)XRUM=P$KQC&## M7S/L+G6+(7J NC-&%LO-KE+>=>(,!/91DH"W93US&-VR17)'=;Z>& -@4^E@ MI=0TM !NG2"3EQMQTUWI)K/E'$4')9S[+HJ_-ZP_!9E%(^#RLD\!V^G_#4PD MRF[1S_JGDXQ@GE1E1=+E32W)/\K>7/A4W/V!]^&5:6)7F0J"M1(G'710],%*\IKM@ M X7B0MLCQHD\SJ+F#9Q!E1;L,#[P?&<,O!-F0(8-7TR4!I.S1NK>[*H>%DS! M#%-FZG-<')B1C\X,T(MOY^1& N"B&%HB[K _"8N?7:4LU+_AJ,YD.Y!SE=.M MI>3ML%[^L9Q:K)3>@ADD&C_!W'4*BU(C!OF]59$%GX=:538[$&Z,*#^))K+V M11*I/9<>30J(ND(OSY9O4)?WF-.FN4G@MQ![FK,.FEAGH.]FB?4!Z,+)YGE1 M>2$@PE&5QQ[EB7 2=#U1QW0\(FS(R+[>6+K16HW#_UMJ28F-Z56/'6ZM@XM6 M?EYR[VI](HLM2S6GO'!NXL%7!Q+#=F.Z201.&,@ZCGY0ZPM87KN\B(F()@'Y M@'$%<#ZY%RW +HG4IR.,[A0S]=CQ)OF=FD5Q>\7CK4&&3(AV+J]=^21_N1+, M+,AO%PMD()8(Q*VC[B_A?C^>GXT/ *)CU=:_O#TX-&#^>D:[A SW\51A&]G\ M UD3QNK578GEX@A&!)A@@BJA=N/C.$N+:V.T2)##Z2<>$[ M>:TH(G3L,R-T0OVN(1Q*8AEAU-Q"D,G.V7LE@=ZP_M"(2+ZJKF5(9!N=/AHC M0T+Q2'!P:C:ESA@5VEKS7E=2@\B3)E7;QW MBG+(2Y4(?^?V%1,'%BM!3S*63#JBZ/X1WP&7K8$+[I9Y0EN=ZJ+, M=P(1<],74U"35EY!:A2+7#].4&H% Z482(:62BF)[D+07M3S(.IB3[7ZVU7Z M.*^HPJPNF4MFVQH4,ERKLD0NJ-@KZ9]Y228E#E#?,ZTZ4YF,GI_$V23'>@:7 M\GKFZ$ALE'"#[E]CIXN0]!#.D 1=0?0#IU?@5J5_R@LL2D5 S+)GQV'URQ-H MH>)OLC^=?H%USN6Q 7V*;%[VG1/>KF(-7WAP@75U='I*VSY'VP)(,L%[$!(X M1V SEZC"("KMJXL0E%^;1SF_NBS_X,D?7DMG/[(.Z;F;O4IAQX[UHH+QX+&R M@7-'&,PG+CAI#LY.N6DE?Y4'92URXC6LCQDB* B[V&>7%= 2N4C]0G5 ;B^= MX.C2$)YR2FH5;U)R@.X18!%3Y)";6?;^RCW*-EL,?AE5@.=S9T)/>K<<2B"F M_ORX)/K-UKB"=)H*;.[HL_]+!E**VCSL!5KDGI)CJ[ MY!U93/@ZMZ&( 9L> M;#%-1M,$503*L C3B'*;,XW."[M'7B1&-PH,0?0@N 8QIS*C]N9@0[M$79>< MEY2BY1SSU66."TLL%9.H.>5M" 2RLJFIM.(1#8S)TR"@'7GOI@.,%:0R70NH]# U\CC9/HLC,"&L MD*SFIQ8C:_<-EGP%#HGHK5KNK,>[5^T[7$S]=\[*R2>?37+O1VD:C:ORW%=E M-Q5[D#L\A TNSY#_^3E:"Z< 88+W.M!-5O<)SX)A?[]I6_C/ZV+MQZ\69]__',7+WD>8&_9G;@W<)%0E/>DGN *H#39M(3:U:XA-JQ4&O0">V:XMEC\/DO]BU1!; M#58\,U90*.<+**37J) :##$88OB&P8H=X!L_JP>MK,RLBJ;K/M=^KHG- K=B M@6LA>(6+&KE)NWEH6^U.%_[OZ.CU8YH#BURM<^ZA:F]2[DJ6;*KD<-U[_T5Y MU'Y]'.Y3!U&TN2GN1;OMV,9N3&& 4:,I##!J-,5S 6,C@O7HB&3J\PG6]8:\ M5\CF_U(KH'(0YZ#'&7-+"YSO;^73>C5C2-VK&ZRJ/*TY[+Q-MO?^EWLUN5+8 MEU(N-FL7[KWO-NW#7N<)-OLHI_JLPSX)?(Y/&MTG@,XCY0^\,A3Z\Q3:L8^/ M#876ET*[C>;N4.AN> ">7E%9JZ'*-G'%U3S'M:''E=<+Z-EN]S9]6I4NY2WG MM;N+ NU&VR# 2T: GMUIMPP*O&04:&]>>WLH NR&DV@#T9>ROK7W_J:GFU:K:Y^TC?A\T3C0;-:'>1H,> X,:+?M7O?0X,!+QH$Z<8'=<%]M)H'E M3&^F8I)8:AP=-E,88-1["@.,&DUADEBV*S:T,TDLM5%.]]X?]^RC[L;=#UMN M8]0(/D?=QK&!3EVA ]1S>'QBX%-7^!P=-XZ> 3J[83V;Y(^-X0[O5,ZDY]85/RZ1^;)%\-ZD?]2"[\6Y* MQF6Y11AP4I^@KX'_,\ ?S0=3N?ZB4:#;J$WBSVXX5AXM[V.HQ3&V2'VJ#4D MN^O9[=[&2_2WG+/5"3['#=/=L[;0:1_9K=93=. U\'D8?)J-Y^!MQEVR3(+W M%GE+KD40@))D6T,1BM@);+[4V!O[H9^D>+GTK5"7(F^1M-]9/1E,I7;'Y/B] M9!3HFAS/%PU_8 ''1Z;#UTM&@4DDUY2UBQ^CH1J#V%0\L/W6B\3AA[WW/;AZ9K@BU!<^):2E27^"T#NW#8^-FK"]\6D]RD=1N.DHV4Y/Q-1V) M6 IH:U^Z.5X;4?T0=-X_?HH$T$>Z=,G _$$P/S#2I:Z@,>G8]87-VW[-;QXU!&KQZ>7C5>P+OBL&K MEX=7S2?P"STO7AD?5'70Z((]47TQB&*A_%*I\V.K&JS5AN+VWI_8W8[Q@-<6 M/,;B!1]NGF_>[WKN/*;K^97A-+7# MLI[=.WIT"\UPFEKC0'?S/9]JQFD*Q0\^]2-OBE_#1P=.X[V%GRN7\9\SZ_C/ MM1>B<&'"L]"$$C!_VVON6:X( GDR^=_)Q''SOP,G26!1?GB#K^[-0J;9?%5Q M^LN!5:H];Q(8Z&3R@V'MN)CZ[\+!!>[=HS _HBK\7*VI0>\':(1_VSO.-Z]3 MK2LP>^U9[*I\[<=+3(4'D)&V/;F[$CZ_Z^,_7_Q0\'G] 4.,$OY\#BCE6==B MDHIQ7\3\9:=I\X=VL]UY]P9>IW\?X\J%2JOP7A ;+-HR+&K7#(O6$YL>(6W,Z+'[9IO:#2H85##, J##=O%*'Y6TUE975D5 M/]=][M[[@1YK8K/ K5B@B0^6XX-TG[2Y(+'&-X^9*0PPZCV% 4:-IC 7)/Z, M8%UOR'N%[$NZ(+$J^OO\8?*]]^UVRUP \,!AGZ8NZ?A)[DLT&2_U)='.D7UX M:*K3ZDNBCW!GV/.1Z&[X )Y>53%W/=:#'E>OS&FU[6[/5.>\9!SH=#;?W\(@ MP!8A0*MU9'=ZYLK/EXP#G5VKT'IV1]$&(C#5%SZ&*BAC%*@:T$WGT&X9WOFB M<:#5;&Z^]8?!@"W"@,Y1T^Z::^!>- [4B@OLA@-K,TDL9U&28D:=262I>X38 M3&& 4>\I##!J-(5)9-FNZ-#.)++41CD%K;/7M)N=YV@\:0"TTK$='3_+K7(& M.JOEE33;C]'[Q !H8^1S\@0=D';5?C8)(!O#F5WU6G6/[&ZS-I$_@P+/@ +M M(].>]T4C0+=C. JT.R;]HW:QB^KT#U#3:QC@U!8X MG;9]V#.Y4[6%3^])VO[LINELJ5I_=L?)HF1]#+8ZQ1?I3;4AB[_U1U^X"STK&U3C:?1F&@LRGH''?L7M>XLVH+GU;7^$MJYR_I+7*77(L@ "7)MH8B M%+$3V.0I<;RQ'_I)&CNI?RLL\6,BPF2;8B,[JR=W.G:K9;(\7S(*].J3)&_@ M_QPLH&FW#@T*O&04Z#8V7BQNO"6;\I:P8O5U(E!["H>6'[K1>)N4I]K0 U:% MVNW.QO/9MYRMU0@^)YMG1 8X&TLLZ=C=CO%DU18^O60/TQ>/7R\*IM M=WJ/[_8TF/7R,*OY!$ZGY\4KX^"JCDA=L)NK+P91+)33*W5^;%7_MMI0W-[[ M=LMN=S?>L-*8PAM+%#5%S_4%#I7\F"L):@N?1ZC',9ZD-3U)2D ;7U)]].<5IB\BW;Y/A+[4AF\5I;H#BU'[W+2V<'V>;B,ZTIWUR\X,/-JT[W^YX[ MC^E[?F583>VPK-VQ6X_?4,JPFEHCP?%SA+F>E-44JA]\ZD?>%+^&CPZGOYT??+@Z/_W]X/33S?G5KY83 MW#G31&$^ZKZA*.W[K342?(AM9$E2L?^/)OVO2N>7/^U9;ZI._.\?JT\<0;>) M\[[Y>O;9#[_GQ_3.L4:Q&/QM[S_2R-TK8>R=W)\,DJL\]##5IIBDHIQ7\3OWO35>OI8I&RUF^T.'-IXXF#+ MS32R'CQ,&[].]YU/QBO=I=9X]\9_C]NU\J\L M3[BQY"^M5K=QPBN&A05^% +J6^E(P+]^[%E_94X,W O1EL#@ M:F#XI=7N-)HKO]PFB!5K "V>U]#I'#;:E<,,_#A)K1"!/&8@5ZZC<]1L=-<: MH-W842RXOKRTPAS@=R(6UB_=9N/HH2#N=M9 #X;P+^UVJ]'Y&7BV.T>-PS7A M"4Q! %IW7^48MOHN%^_GS@&JB?U;$5K]J>58K<[,^%%(/>R\S(6A8I%D =5J M3V(?P (PM@9Q-+;;\B:P&AJ7G/7LR MH35[\H]S,E;GY\_E@T_JMN6XJ7_KIU.;E)L@&G+3(ODL8ET@;D60@(XYM8 . MIU8"=. H:RA NU6NU&[V>X4*OU0"[4?F0N-$=K)2)(%,X'$1P\/ =P M]191TW&9FAA7K63D3R:P*#E0F4;+_*7=:#\)?\&5ZM/,K'2.X%?9_.$25I*? MHGK" RX ,(%1$KJT]CZ"WEH-@O5(_9:Y0I74O]4T.5 #VU*=G"/4_=9Q W@V M@#5G"*_7H/SV4:,U,V"[V3A<8\!9M;.+U(E#'W5GR7L?.W8N&'I%IG%\.*L1 M[V,CPS4'W6GU=+@0B5H2B9JSC'N_U6DYS0N M[#,:B_A [V!5X9WP[IGUX#)3=XU+&6.YQ]*4EV\NE51O36'ZC!?YXVR_ MV)'441#1%YS)CG)Y5B'6:0E;J!CKO%7BD;U<>,SR^2XZFAZJ@,!X)W/C':^M M?Q1J9$^MM-.90_.>).Z'8W=S;LS%J[W'C-FT!3-'*;^T*[R'K+C#<8F00(WC M ZP=LL<5W*OT^5_F>!J,-O*'V)D'F8U($OC2":R!($)T@XR\ .=7EY8_G@1B M##/R-*3?LQ4Y!_UBT#Z>36EY^$8?T!886Y)C-IVE;F=LTD*J.M.?7+ -.%]A M;?_$2=KJ*.=]M'+4:O*NMMM^F6/@*V+-;G/;"ZT.K^"F\\G_A#:5E+>8QO<= M.$1V:]WJ%7\6P(LB6F"EG;QZ/<.*&L=KN&SNGP+-R->$2;2#HP5^Z<64M

O7C-?$ !/]"MXBU])K$$4SY\<\Z?%N\5?F4V@]PW($DP2 MF 8(*(S" T^0BQ,#DA,!6!8"W5B>#VN(!1!1LO+J+!>VR]K-C'?4$X!OQ!N&\4X33"U:1H& MGY_ K##)2@?<%^F= -.-/;C TA(X)-#0A ,G.QQD 4(=V!#L,,UX#T_-3$QV MQ(+LB$.3';$D.T+-X?G))'"FF-< VK4XZ >1^[V<9D53FW0*7MD<_=ZWGE(. M^=RY/J=N\-G_*_,]/YV22#AS)C[>OG4EDBB+7:S9W_&,B&O>)^W^6R)(0IXY MR4CI2#NZ^:\9*NL@ZOP)@%L"&_<>Y/@@+6R0U:S# S7ES<9=."%K &HU'QP* MUC/0B?S4.AW&@C1\RR.Y^H\L%+Q'F633 OZ5CJP_@0\EUB=84V1]<,+OMO6% M1">LYC1)(M=GY7P?WFTW6^Y;[7G^RGO[&BR'9-8X< J9VO*@ E [4A"L:" MK">9&9=8T$91WV: M!%7MF"T?V"#^I)W15S>-^B+F8VJW^9A87;D6;@1;*=Z Y2\XZ5. 9R#'Z'$^ M4W$.-Z0%*\)K7M4[G#V8'R !B M?0QXQ/PF%,+C0'H?5%6PY-(1B,OAB(&1))D#*A^B)Z;"2C3Q1#]%14\ PJ;3 MAE5&Z2RY'Y_5[&3[P#-9C"S\+HJ_,X[3KS;,,01-ST7/Y!U@+N,&(AN:KBX, MG]"2I"%+RP(Q<.N[8-U?A ,D2,+E6 R=F%5>6*I&0DJ#UQ5U44Y7*Y&0IKZ# M)8*Z;X)J$KJ1:&@0>1X:+=G3#L+X>SCD;R\-3@-?*LT6)I(FQMEED<,# S?#H.829,R]!X^ 1D!?+-?!H;Q@'[C#<0I=(; MJ9;&RY+>F5RZI\Z0I82C8HW _D<^NCV<*7-*.D_BUS*0FQ"7*A82 X+"/C"S M"SU6 U1&1B+/$T-O@2<"> +(K6&=6I,HIA7!K#AL# <99H)'A;&B80@X SNX MQ60UE)BP08]-$M %P'EN>PT"MPEM\& M1 C24:Y$L'\GET@%:2BDH)>T9#[0VW*<(%]:53K?KG*>>Z024.+(\2A'9H;- M$U:G0%CLVP/TB();_!1$"/LH!AT*_DQL"IUUE[ZL)!IJ5/!\KS4;[L;GR#)>N]QFJ:I>SOH9O:AW&/7F]F6SM*)#,LXUO"AO(% M*:PODUUD\@S\_ QF647KZ"?3Z]NSJL7]5'56X<^1Y06MSL_5D+5:ZY:0D27A MCF;R,)!QD9QW8B^G]5A, L*T30V8ZG]BB3 G2^,6\ MW4RBA)Y0[C=R3FL./"? M7#\P21$+DB*.3%*$28HP21$+6/R?F).?^AA&3#&KSDE)U1$__*0PB*JB'[8> MTV/-C7EE7_F+TY*!G8<,M:!F[BA"1<5Q,6Z9D4*$G'51P%5S>:.W">0/<&12 M"CU8'NTBL@89/C0?3K)+$4N[2M<$D0*[Y/"U7'(R8G_U)(O!ADVT-$1T0"=" M$*8-,GP=-#1.5H:#Q]6& EW7H *2/PT=KDZ01!:FXR:#J:;C%9/F\6#]J)SP M>\FQEHC0)[] BDA'\67Y.8QO"5XTJ4@H7#X$DVILQ&FTZ8S]S'$.V2 M,\1P.N.1EA&"B'-_^=76:G1?0^M+=*M[>\G9V^2 1#(2P0 C]S+#!(&NXMR( M 44P^UK%LCO6_I7^_)>H(0?N=-0S[<><$DXEO1:R23B81D@<&IIANJ!X# M(9!-6.,ZJG _92H! I'C310K:@8;DI$HPM#(N(_(3SA$4:)H8',)M0 A&)?2 M7V6^RO7Y&68O4'PQ]HA,*&_G*@MD>LAAZVC?>;U_]-KFD,J"0P)\]7&&J/J< M.T0Q&L,=^%1F[9!M^:#CEWIH*)Q8GJ0,"N(F\HW*52^=@?BH],3!$#*JF(.) MB80T:\5+,1-8DA?"C-]P N -(:>,P!^Q<+PIU7JA#27L'/=>8S<&ZCF/X@SH. +GZ'EYT@F.6\-"CPW-CQDQ(?P(D2!#WFVN", M$J<*/%+D -@RB@+*J4*^@E(B]BF.I@7J+,\/LI1Y5*(L<$\FN*^<$7(G.2F> MS!3+DV!>@(*^JEPX+L0_&]OX6EZ4CX;APCZP T?!"'Y+HH9UR3$14."H2PC+ M,F+MB9:+LFJ"S&F1(7/E)]^M3SQ2GADC_2>4PU.U_=]WF-W.A!7;6G"-#!LZ M9H 0.HKZ"#6'T[\'2"?_(JQ7<#B/!&-6=<_!'TO M$I[W\^>S(KU0_TV]0]ZQW ^O])L\&XW4(,FAB2X2Q9"!WXX)!\%@H"HE"^6[ MP!JG9HNZT-#S-B(D\;KA$'/#B#QXY;(U"D7Y,3.N$ *S,F!>S5"J4KXERK)! MXJ4Q*4&R80$<2FF'I>!NOND[(#/@'$B"V$ '&0T)$BFQEH#'GQ<=6$4FE:0O M4;$W)RY6RY'2:ELD1M:R!$@9*%Z)1%T#M9.HIB_W\= MY==TYC1X3B5QQAJN=:KUC5*H6D-U]L2J8;Q(<)T,/N)3I@GR;JK9E(2'BP5;GD0<::LRE[5UR2E/$;NZ<0T_9T-BUL1HA!& M=UW@$_TQ7>&(BVQ(/6\J]Y$'0>0RRL"6(J50LCCO9PD08))L5,071[),TN?P M7$VTOZS4AC.9//(1[( ==\;?4%X]YO^-K4]259[+BL^&\&I)TY@O0#A7H2@9 MT@#1?!&Z#:WZX-/YI^KT_G\X8>;$4SE!1W%@D%ON2"+\D?KR'UF@'FRI[ZA- M:1477Y1U?_'I5%N)E-325Y#K$;X\%65 .-ZM0VF@RI2L2D'* W(:9Z1A5PGS ML9L+?L%;07(-CKTPE *532*.E@0J'Y)+CD!+ +&M\OLY@$ P\(H%L62!G2.O MD[L328K\GBI?<9)K9!583 $CA^AM5;"TKO!$?_UT52AYDR!+K%;C!/N= M*KU)AZA,_>KDL@A?MTYA#M"C]+=)#_LD^G'QKGI5#5P&YZ;U FJ=J M[V#0)G.;GU]0N]%LOBJ.3/K1$M:5.'4VKP* TX\S!I<<%?8)S!5_=A3[G18_ M2]NZ0!6 ,A+'&MO(UY-1#2]&?,GB=)AK3ULBP XX/JQ.8\\N9 MGQW8*\\#0[7@#VM?$Z'*F!8_$,=0\G*)>'E:K!\:9^/R]'#6(8G4_");/@&; M:^C1:SJ)A2Q3DF[<,:;V_N],X=+YAXN;CP7)6OOD=AFH<@MY*J\)&"DY'U-L M63NCY>?.53(O0@0,G?4 U!^@J+SJ>QPE*>7;#;PI 76E!.@4[JPR$J[=B9@FKCD MJI2^!3W<G4.[50)ZR.G+J5;'Y4P,DRA1DT2)8Y,H81(E M3*+$ AE^56*=Q5L86PU^JLH3;L@@1<-L8[. MD@$3SN&XN;5,J%_D-#LELTD0LU*5FR00N]E*TW_*Y"X26C&>,S](X$ED?HIAF();NQ\$.O TXX;LQAP3W,PX+B M2&!*.C&GUE *#F8+2<66$ZQ0/]6CV=AXD.MU,=$<%71I% Q PLT-S8F / M9(R:3G:V"> -M4*9-9%**OU2A9L9-%4+1_'WO-=)[VVYE:(?)EF,J-$@U,]1 M+B1#0[)KS#R(8ZQ[8B^4(_/2 !AI%&.ALI950'J\%Y&[0!9#D//FNR"[0E5_ M%SZMG%1GIMEER"YD'K*QATX,L9#M0IPBI>R.#DJ6CFKE_OE+S@ =-;+!#KP0 MHD7-C30YU@0O8B$X^Q2!\)TLD*80EG.,.2]$!I)RZ>W+'!8EQF4;'54=-SM% MWK8%.2S@":^_:*K"$H$=3\R< D"A)%]%'Y@%!JQP76$&.%/=_D7Y#(MBE^HV M+Z#T1J5O.'8&IX149G-#P&6NR%49/_L68)\8- VF>3[2(.^\XFM-9M ?JT4V MYKV=3^9D7>!897_H>@+_$7VCEUF,^1RY=GF/0^%6BA\'O_?RA"IRIR"/PEM" MD(@P&/+!6--YADK"M.]0??K-"1PN3]HJ >3R?^%*RXP ML"#2I7+$5AFL"G6T'-C^[#1Z&A^Z@W>5@V/?JO4 0UI0(N-==%>-I./*> UV M^TB=4'9*)J<@(YP2O/B [_E.D?X$ZQ(B4'#-QIXN>YIKH,#F7B.3Y724DD.-@90.D82YH%+D!VTL"?M4\@.RU( M$^MS0S/!1:D5&::IE(A)091(2YQUKZ'61Y#BJ'HOI#\96;C()%]I%%:;ZK+& KMG^1'L4=8^ M)$DVGJC2$X=UE[X T^PV+X[#H&D4DMNG4'Y6C*)3%P]8,K5/2ZVUJU> ML-$9W1'^#R@U,NNGV)]>-0F4L7+8Z[!8F\SY5.C@4-Y+057 A-:KX?1.B>2\J3DF<:@BL-\ M2(X[^6MF[H:Y9Q;F!D77V ?7HNR.JO&,&4 ):-.EH*V'[12)2G]E\L)XQ%L+ MGG8LW_O;WE]_>7M6ZJ?X GV6(55XX(WS'F7PNSDN.*J RO&.C&M M4PYI,%1?0>VK^=Y9NQSTDAP=,Q1A6IEUYV)9GNPL)A]"@TE3V!9K;"=:X=K# M85G?,C>3ZK(@U>7$I+J85!>3ZK))">U.<@&-'Y]?/A\V",AQ%+"Q=XDEF!ZR M\-T7OG!2Y[D51BU^"VMXX:'L[&EHFW?US4_RS<\&Z+ 4A9.MSI.7@!YM"\X MVMRB90>QFH4[S ^P"'U%P!*M7B]V4MJ"U/;=5 M3W;\2,U78NRA;DMOG/3?H%*G;CJD6VCDG7)XF0&73\A?XRR07B%<>I[JIITE M_I8OAO)V6*LL'>'U^5E1>L)Y4W >U#1&/Q3LM.ZZV3@+M/XTXW$68MB>SXHU MU= 9BEEO!SG"1KX8P')4[/7K "Q?.+$\I?[L_&MY(?Q&X2F;?^-3\0;C""9- M@QH,*Z)Z,W)VT#'2?8*N3"LH,@)R4!>>KYUU0%S0U?*A[(!/MD,Z[[,D+^L_ M.2 .A\9QD7(C%PY%"J))L@GVE\J]V,7ZJ!P<.[_H7M7S MKXPBG[[:6M>D=*2U;R$GG2H[)F:@MW$JQO+NYW1+0];E3"8_5NM1=V/<=WF+ MMA=V#V'Q)#O1\]9B*ZQQ<]Q8YU^O.;Q/R55Y^9Z\*EABSRWZ^=XSL$:P+*ZT%Q$@$7A$MO\.\%CC+-,.C MPKKJ6;))"D5BE@NP+G&GEUFK_L1R)^0$@+DITB';4V%K"BQEU4I2KRX+69Q, M$X!/T;<.-*DP955$$3(R'M?GT( >06%=@MZ?O=E;7IW2L*Y9L:'K9SB9T_=D M-J>(75QHD@UX^)0X1H)6L:UX>L&6>3$(^6X0>\ MBD>;*95MRXO!2$SQ7NXHG8I%B29R,#/\-,\REMLA!IJQUHDE@.H8.#B$>BEJ MH47,!H-718Q);DEJ?RZ.4,*FWMM$MNW1VX?D%RU1ZZ&YGZEZSI&Q&UO&:O)) MU -T50(Y$,^"9N91HB!DX7N M2%F+4CI(A@GF.V],";-97B7R]1#AJSQPRG(%UI+DW4.PS:&2I4@X#M42_RGS M<_4#9AK5LJJE #W-,-.2JV!2(50!@[IF;2ZUAFYP*PX/96TNI3%HGE*E0E&: M,@8*)X4>[5?/HS&905?S4^!IJ+*781+6L.?7*L6>K/$["<5 M1 JF7A+QY9@L.@,.O\FL&2;M!;!F3)E)Q(*Z"@Q99[+=6$;OM0/ MF+Z*3L>HB9=7!AZFCL V$=2,G[E!;]*$1O)FKG" H[% MDO.<;=$]2PRJH9K2$3V55K'-'0'G\B(+/>)"X>R9CK.%>RU/@=UAH7I.%2BY M+:BC@W8YQPS%V#.ZV9*TG=7Y K,2KMOP](2>E3QI_+HBW& J,P'1F8PD%VNN M[JD5^-\%RZ^Y%^QZ^V5,+'Y!++YK8O$F%O\3L7C\@#\RO:T0I]^ *%H_/(ZN M_SQ SG^40N3H1'SR$/G%Q2:F7.L]2L%ZT&*MKS=_/[^R+KY\^GKUQ^G-Q=_D!?!0[C.6.\_IVL"=EAH+"P5)"<=\9F?X3.%:&GSY.1(2^TS^TL M?SQQW%3U/EG@.52.O5)/"S^D+ARFD2D"@I M[HXNT^&_0'KZ?"L$G0&[6K $ H.(&&2@#FWY==&J"B#AFC:M:%35G#1 7=7+ M[KJV%LM174/80W(6:<4$.UUF]S2TN+44_R!N'0]R;HT?:\"M3QN6?HO'[G/J MB[+WEM@O,0@]:2@19&OCS0[AZO5[Z?/>JR*+**=:&!@OF?4#D=_FFH=PDL69 M,=QQ8<[BILF55+*KBC.Y*43NULKE $:GL ) ]T^LMADMGEVYUB*2Z,A<#P)G MB-ND";$I$BPEXU7$4B 5/FM^"J?"8G!R/Y,CA2YWR*\J_AY&=X0L&0D=U1FC M>, 38JP:/8S5R=G*UR$O@=-/U,,8KOCYLWUZM\9"Z\O_ 2.$7S(J*R6'#!#B M%?(W[U](/ ?-%OPC/_8..F!KA\X85BQ<[]<_TCC SG+)U\%-[)W&\0V\_ &M MWCW.-VX?=D^:O>,]"S#(F2!;BS.AO".U9OF1G[-\_/C\+/\=X*IV7FCM VGX MN,$C0"@Q!N.+&.)%P1 KQ,(3X=RBR,X29\0B[U3NWI"S+H[U*.C3131+SJM\ MSQ"=W9*G.TV;CW?),Y1=QT\MNZPHTJY ^KF;B]0E XF,J>2C%8$&JL(MLE6B MY4=2;I%_WYFT.JN="2/F/4CQZ,D"3\AJ='H^2(1[X/\X&/D>6!6_NJUFI]=I M-;LG*S[77?&YWFK/]9IX63BU'\WY0L5_"+7..#N,G/O<#TK[MA#?GA\+UINH M9QJE2R?<:(6N^<0 L2^#! I#,XT8W=3E1EH?/8OO XG"@TT. MNC! LHR&9H(G&V8L&(2EJU7I;D4N.>#T6TZE+732)>,=-KLTVKY#/AG"8_YU,R U!?Z]_P,S/B(WJ(LK)TNAM24+1-\R#WJ7]R)LR M0;]+8T79J:?FYQ4?]*,TC<; %28_+')36_&PO]^T+?SG]5L+4_$QP5VQ.7X^ MY[$GKU!;>;3 JR2(G! >;:(OU+*TF.=-ZLT?V3UGT7JE84?5^YLY\E[[<<_\ M8]$ZL>(\X!,@TV*T6@5?EIW1SY[Q2HB!__.FJ=M$Y.&J-TG+-J/NK+GY=G MMO7Y,_S?;R(4MP[_SC5BPL4&T/FS2^NT>(P\6YI\=7JC6USEHD7@;'H3[0]. M^-WZXDAW^*ELT9.W7XLGJ*UPO0=='T\E/S)L,F?%J_M9JRK:NKE!2+6E+/!S M#]0*M=]TDY>Z9%1>1OI?J*[])(N:H^9U:$9_>6V"TU_>+L[4::W%F39\2L_ MDY"C=(&U]%;A*&MH_6>XV?P" ;UA>ZMK?6M<-\XP-8$+WUN=HR;1SBF[Q4J/ MJX3\&)^TXHDH.O/P(Q56TIVLUF.S+AF#'S_M:14'L- M$GJ4LWH^0FHW#2$90MH,(;77DD6[1DBMNA-2KWEL"&E+"&D=B;0S2EV[;4C( M6$0_[:MI-2Z^7.\"_JS=1'*X&SYX!SZ[/_KX+ M>'9_HFZ!>C?.CRB,QE/K_$A8\,?/3E\$!B=K@I.7 M5^<&)S'FFM\5;5"S%JAYN MH6=K3&36DN<3[IZF+D<,E%!^QD^;1Y2YO6/ MZKRV9?#=FT<#-4.7EOW0GG&SR;0/X4W_M033Y2IE-M]SKA)-;"]OUI_X,+,3 M6X"MCCN2ESE&G*DI_:3:+7&1[% WT?R916'!<;.U[[S>/WJ-7R^I': L4?C= M3[ +;,H528,L#OUDA)W75=M6*JH$%^%P38D MQ4NZF2MCX-J$Q!\F>74"_U&J3[B^^.W+ZBH-U'M&F^?+UZN;O?YY?WUB7%Y?GUMG7/RY/O_R_GS28 M'_TP?M8*7GV!SP^A#]-?-9K9:#7*S"Z.CAYQ&V^2-]:U"PODS?P188]7O';F MB3#M)[!KC??Y"&N)GC^]JT="C)>"%(]Q?);ZMP>/ZEZ6@QX+>MF)P28'*=V8 M8Q>7VO&6\KOP^$]YO9T!P>H8O#^)_1![O >\0E$^4=D!8[&';YN/M):LSDCB M^R3QJ1,K!]V??O#=#W>3Y]82.^O*QEX(3CR''+X6H1])._N_01CP)TTF:_(X M[P=;DL=2;*L:3NE;%VXL4B>>&D!M"%"SHGQ0!@;5!;LNMAGVP^&*XOUY0PF/ MX%,B;\FJ\8O/I](+QWW M&P0 -L1 - " 8T/ !E>%\U.#(S,C$N:'1M4$L! A0# M% @ ZX!C5PQ:NW@X! R!$ T ( !TQ, &5X7S4X M,C,R,BYH=&U02P$"% ,4 " #K@&-7SY7,FB 0 #=NP $0 M @ $V& ;G=P>"TR,#(S,#DS,"YX"TR,#(S,#DS,%]C86PN M>&UL4$L! A0#% @ ZX!C5]\^N_9T.P % !4 ( ! M"S0 &YW<'@M,C R,S Y,S!?9&5F+GAM;%!+ 0(4 Q0 ( .N 8U<;#NQ* M$$\ , P! 5 " ;)O !N=W!X+3(P,C,P.3,P7VQA8BYX M;6Q02P$"% ,4 " #K@&-7:];^6CL^ PG 4 %0 @ 'U MO@ ;G=P>"TR,#(S,#DS,%]P&UL4$L! A0#% @ ZX!C5P5QK69. M*0$ /@(2 !0 ( !8_T &YW<'@R,#(S,#DS,%\Q,'$N:'1M 64$L%!@ * H >0( .,F @ $! end