0001558370-23-013281.txt : 20230804 0001558370-23-013281.hdr.sgml : 20230804 20230803184754 ACCESSION NUMBER: 0001558370-23-013281 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 81 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230804 DATE AS OF CHANGE: 20230803 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Willdan Group, Inc. CENTRAL INDEX KEY: 0001370450 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-ENGINEERING SERVICES [8711] IRS NUMBER: 141951112 STATE OF INCORPORATION: DE FISCAL YEAR END: 1229 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-33076 FILM NUMBER: 231141706 BUSINESS ADDRESS: STREET 1: 2401 EAST KATELLA AVENUE, SUITE 300 CITY: ANAHEIM STATE: CA ZIP: 92806 BUSINESS PHONE: 800-424-9144 MAIL ADDRESS: STREET 1: 2401 EAST KATELLA AVENUE, SUITE 300 CITY: ANAHEIM STATE: CA ZIP: 92806 10-Q 1 wldn-20230630x10q.htm 10-Q
0001370450Q2falsehttp://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationhttp://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationP1Yhttp://fasb.org/us-gaap/2023#QualifiedPlanMemberhttp://fasb.org/us-gaap/2023#RestrictedCashCurrenthttp://fasb.org/us-gaap/2023#RestrictedCashCurrent0001370450srt:MaximumMember2022-12-312023-06-300001370450wldn:DefinedContributionPlanMember2023-06-300001370450srt:MinimumMemberwldn:NewFinancingFacilityMemberus-gaap:NotesPayableToBanksMember2022-12-312023-06-300001370450us-gaap:RevolvingCreditFacilityMemberus-gaap:NotesPayableToBanksMember2022-11-010001370450wldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMember2023-04-280001370450wldn:DelayedDrawTermLoanFacilityMemberus-gaap:NotesPayableToBanksMember2022-12-312023-06-300001370450us-gaap:CostOfSalesMember2022-12-312023-06-300001370450us-gaap:RetainedEarningsMember2023-06-300001370450us-gaap:AdditionalPaidInCapitalMember2023-06-300001370450us-gaap:RetainedEarningsMember2023-03-310001370450us-gaap:AdditionalPaidInCapitalMember2023-03-3100013704502023-03-310001370450us-gaap:RetainedEarningsMember2022-12-300001370450us-gaap:AdditionalPaidInCapitalMember2022-12-300001370450us-gaap:RetainedEarningsMember2022-07-010001370450us-gaap:AdditionalPaidInCapitalMember2022-07-010001370450us-gaap:RetainedEarningsMember2022-04-010001370450us-gaap:AdditionalPaidInCapitalMember2022-04-0100013704502022-04-010001370450us-gaap:RetainedEarningsMember2021-12-310001370450us-gaap:AdditionalPaidInCapitalMember2021-12-310001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001370450us-gaap:CommonStockMember2023-04-012023-06-300001370450us-gaap:CommonStockMember2022-12-312023-03-310001370450us-gaap:CommonStockMember2022-04-022022-07-010001370450us-gaap:CommonStockMember2022-01-012022-04-010001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450wldn:UnitBasedContractMemberwldn:EnergyMember2023-04-012023-06-300001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450wldn:PublicUtilityMemberwldn:EnergyMember2023-04-012023-06-300001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450wldn:GovernmentsMemberwldn:EnergyMember2023-04-012023-06-300001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450wldn:CommercialMemberwldn:EnergyMember2023-04-012023-06-300001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2023-04-012023-06-300001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2023-04-012023-06-300001370450country:USwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450country:USwldn:EnergyMember2023-04-012023-06-300001370450wldn:UnitBasedContractMember2023-04-012023-06-300001370450wldn:PublicUtilityMember2023-04-012023-06-300001370450wldn:GovernmentsMember2023-04-012023-06-300001370450wldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450wldn:EnergyMember2023-04-012023-06-300001370450wldn:CommercialMember2023-04-012023-06-300001370450us-gaap:TimeAndMaterialsContractMember2023-04-012023-06-300001370450us-gaap:FixedPriceContractMember2023-04-012023-06-300001370450country:US2023-04-012023-06-300001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450wldn:UnitBasedContractMemberwldn:EnergyMember2022-12-312023-06-300001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450wldn:PublicUtilityMemberwldn:EnergyMember2022-12-312023-06-300001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450wldn:GovernmentsMemberwldn:EnergyMember2022-12-312023-06-300001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450wldn:CommercialMemberwldn:EnergyMember2022-12-312023-06-300001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2022-12-312023-06-300001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2022-12-312023-06-300001370450country:USwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450country:USwldn:EnergyMember2022-12-312023-06-300001370450wldn:UnitBasedContractMember2022-12-312023-06-300001370450wldn:PublicUtilityMember2022-12-312023-06-300001370450wldn:GovernmentsMember2022-12-312023-06-300001370450wldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450wldn:EnergyMember2022-12-312023-06-300001370450wldn:CommercialMember2022-12-312023-06-300001370450us-gaap:TimeAndMaterialsContractMember2022-12-312023-06-300001370450us-gaap:FixedPriceContractMember2022-12-312023-06-300001370450country:US2022-12-312023-06-300001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450wldn:UnitBasedContractMemberwldn:EnergyMember2022-04-022022-07-010001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450wldn:PublicUtilityMemberwldn:EnergyMember2022-04-022022-07-010001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450wldn:GovernmentsMemberwldn:EnergyMember2022-04-022022-07-010001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450wldn:CommercialMemberwldn:EnergyMember2022-04-022022-07-010001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2022-04-022022-07-010001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2022-04-022022-07-010001370450country:USwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450country:USwldn:EnergyMember2022-04-022022-07-010001370450wldn:UnitBasedContractMember2022-04-022022-07-010001370450wldn:PublicUtilityMember2022-04-022022-07-010001370450wldn:GovernmentsMember2022-04-022022-07-010001370450wldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450wldn:EnergyMember2022-04-022022-07-010001370450wldn:CommercialMember2022-04-022022-07-010001370450us-gaap:TimeAndMaterialsContractMember2022-04-022022-07-010001370450us-gaap:FixedPriceContractMember2022-04-022022-07-010001370450country:US2022-04-022022-07-010001370450wldn:UnitBasedContractMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450wldn:UnitBasedContractMemberwldn:EnergyMember2022-01-012022-07-010001370450wldn:PublicUtilityMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450wldn:PublicUtilityMemberwldn:EnergyMember2022-01-012022-07-010001370450wldn:GovernmentsMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450wldn:GovernmentsMemberwldn:EnergyMember2022-01-012022-07-010001370450wldn:CommercialMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450wldn:CommercialMemberwldn:EnergyMember2022-01-012022-07-010001370450us-gaap:TimeAndMaterialsContractMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450us-gaap:TimeAndMaterialsContractMemberwldn:EnergyMember2022-01-012022-07-010001370450us-gaap:FixedPriceContractMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450us-gaap:FixedPriceContractMemberwldn:EnergyMember2022-01-012022-07-010001370450country:USwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450country:USwldn:EnergyMember2022-01-012022-07-010001370450wldn:UnitBasedContractMember2022-01-012022-07-010001370450wldn:PublicUtilityMember2022-01-012022-07-010001370450wldn:GovernmentsMember2022-01-012022-07-010001370450wldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450wldn:EnergyMember2022-01-012022-07-010001370450wldn:CommercialMember2022-01-012022-07-010001370450us-gaap:TimeAndMaterialsContractMember2022-01-012022-07-010001370450us-gaap:FixedPriceContractMember2022-01-012022-07-010001370450country:US2022-01-012022-07-010001370450wldn:ComputerHardwareAndSoftwareMember2023-06-300001370450wldn:AutomobilesTrucksAndFieldEquipmentMember2023-06-300001370450us-gaap:LeaseholdImprovementsMember2023-06-300001370450us-gaap:FurnitureAndFixturesMember2023-06-300001370450wldn:ComputerHardwareAndSoftwareMember2022-12-300001370450wldn:AutomobilesTrucksAndFieldEquipmentMember2022-12-300001370450us-gaap:LeaseholdImprovementsMember2022-12-300001370450us-gaap:FurnitureAndFixturesMember2022-12-300001370450us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-04-010001370450us-gaap:RetainedEarningsMember2023-04-012023-06-300001370450us-gaap:RetainedEarningsMember2022-12-312023-03-310001370450us-gaap:RetainedEarningsMember2022-04-022022-07-010001370450us-gaap:RetainedEarningsMember2022-01-012022-04-010001370450wldn:DelayedDrawTermLoanFacilityMemberus-gaap:NotesPayableToBanksMember2019-06-260001370450us-gaap:RevolvingCreditFacilityMemberus-gaap:NotesPayableToBanksMember2019-06-260001370450srt:MinimumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMember2023-04-282023-04-280001370450srt:MinimumMemberus-gaap:LetterOfCreditMemberus-gaap:NotesPayableToBanksMember2023-04-282023-04-280001370450srt:MaximumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMember2023-04-282023-04-280001370450srt:MaximumMemberus-gaap:LetterOfCreditMemberus-gaap:NotesPayableToBanksMember2023-04-282023-04-280001370450srt:MinimumMember2023-06-300001370450srt:MaximumMember2023-06-300001370450us-gaap:CorporateNonSegmentMember2023-04-012023-06-300001370450us-gaap:CorporateNonSegmentMember2022-12-312023-06-300001370450us-gaap:CorporateNonSegmentMember2022-04-022022-07-010001370450us-gaap:CorporateNonSegmentMember2022-01-012022-07-010001370450wldn:EngineeringConsultingServicesMember2023-06-300001370450wldn:EnergyMember2023-06-300001370450wldn:EngineeringConsultingServicesMember2022-12-300001370450wldn:EnergyMember2022-12-3000013704502023-09-302023-12-2900013704502023-07-012023-09-290001370450srt:MinimumMember2022-12-312023-12-290001370450srt:MaximumMember2022-12-312023-12-2900013704502022-12-312023-12-290001370450srt:MinimumMember2022-12-312023-03-310001370450srt:MaximumMember2022-12-312023-03-3100013704502022-10-012022-12-3000013704502022-07-022022-09-300001370450srt:MinimumMemberus-gaap:TradeNamesMember2023-06-300001370450srt:MinimumMemberus-gaap:CustomerRelationshipsMember2023-06-300001370450srt:MaximumMemberus-gaap:TradeNamesMember2023-06-300001370450srt:MaximumMemberus-gaap:CustomerRelationshipsMember2023-06-300001370450us-gaap:TradeNamesMember2023-06-300001370450us-gaap:DevelopedTechnologyRightsMember2023-06-300001370450us-gaap:CustomerRelationshipsMember2023-06-300001370450us-gaap:TradeNamesMember2022-12-300001370450us-gaap:DevelopedTechnologyRightsMember2022-12-300001370450us-gaap:CustomerRelationshipsMember2022-12-3000013704502022-01-012022-12-300001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2023-04-012023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2023-04-012023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2022-12-312023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2022-12-312023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2022-04-022022-07-010001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2022-04-022022-07-010001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2022-01-012022-07-010001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2022-01-012022-07-010001370450wldn:QualifiedCashOrDeferredArrangementMember2022-12-312023-06-300001370450wldn:DefinedContributionPlanMember2022-12-312023-06-300001370450wldn:DefinedContributionPlanMember2022-01-012022-07-010001370450wldn:NewFinancingFacilityMemberus-gaap:NotesPayableToBanksMember2022-12-312023-06-300001370450wldn:TermAloanMemberus-gaap:NotesPayableToBanksMember2022-12-312023-06-300001370450srt:MinimumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-04-280001370450wldn:TermAloanMemberus-gaap:NotesPayableToBanksMember2019-06-260001370450wldn:TermAloanMemberus-gaap:NotesPayableToBanksMember2023-06-300001370450wldn:OtherDebtMemberus-gaap:NotesPayableOtherPayablesMember2023-06-300001370450wldn:DelayedDrawTermLoanFacilityMemberus-gaap:NotesPayableToBanksMember2023-06-300001370450us-gaap:RevolvingCreditFacilityMemberus-gaap:NotesPayableToBanksMember2023-06-300001370450wldn:TermAloanMemberus-gaap:NotesPayableToBanksMember2022-12-300001370450wldn:OtherDebtMemberus-gaap:NotesPayableOtherPayablesMember2022-12-300001370450wldn:DelayedDrawTermLoanFacilityMemberus-gaap:NotesPayableToBanksMember2022-12-300001370450srt:MinimumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-04-282023-04-280001370450srt:MinimumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMemberus-gaap:BaseRateMember2023-04-282023-04-280001370450srt:MaximumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2023-04-282023-04-280001370450srt:MaximumMemberwldn:CreditAgreement2019Memberus-gaap:NotesPayableToBanksMemberus-gaap:BaseRateMember2023-04-282023-04-280001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2023-04-012023-06-300001370450wldn:DormitoryAuthorityStateNewYorkMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2023-04-012023-06-300001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-06-300001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-06-300001370450wldn:DormitoryAuthorityStateNewYorkMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-04-012023-06-300001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-04-012023-06-300001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2023-04-012023-06-300001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2022-12-312023-06-300001370450wldn:DormitoryAuthorityStateNewYorkMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2022-12-312023-06-300001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-12-312023-06-300001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-12-312023-06-300001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-12-312023-06-300001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-12-312023-06-300001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2022-04-022022-07-010001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-04-022022-07-010001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-04-022022-07-010001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-04-022022-07-010001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-04-022022-07-010001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMemberus-gaap:CustomerConcentrationRiskMemberwldn:EnergyMember2022-01-012022-07-010001370450wldn:TopTenCustomersMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-07-010001370450wldn:LosAngelesDepartmentOfWaterAndPowerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-07-010001370450stpr:NYus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-01-012022-07-010001370450stpr:CAus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMember2022-01-012022-07-010001370450us-gaap:CommonStockMember2023-06-300001370450us-gaap:CommonStockMember2023-03-310001370450us-gaap:CommonStockMember2022-12-300001370450us-gaap:CommonStockMember2022-07-010001370450us-gaap:CommonStockMember2022-04-010001370450us-gaap:CommonStockMember2021-12-3100013704502021-12-3100013704502022-01-012022-07-010001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2023-06-300001370450us-gaap:IntersegmentEliminationMember2023-06-300001370450us-gaap:CorporateNonSegmentMember2023-06-300001370450us-gaap:OperatingSegmentsMemberwldn:EngineeringConsultingServicesMember2022-07-010001370450us-gaap:OperatingSegmentsMemberwldn:EnergyMember2022-07-010001370450us-gaap:IntersegmentEliminationMember2022-07-010001370450us-gaap:CorporateNonSegmentMember2022-07-0100013704502022-07-010001370450us-gaap:StockCompensationPlanMember2023-04-012023-06-300001370450us-gaap:StockCompensationPlanMember2022-12-312023-06-300001370450us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001370450us-gaap:AdditionalPaidInCapitalMember2022-12-312023-03-3100013704502022-12-312023-03-310001370450us-gaap:AdditionalPaidInCapitalMember2022-04-022022-07-0100013704502022-04-022022-07-010001370450us-gaap:AdditionalPaidInCapitalMember2022-01-012022-04-0100013704502022-01-012022-04-0100013704502023-06-3000013704502022-12-3000013704502023-04-012023-06-3000013704502023-08-0200013704502022-12-312023-06-30xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesxbrli:purewldn:segmentwldn:statewldn:Ywldn:entity

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 June 30, 2023

OR

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

For the transition period from            to          

Commission file number 001-33076

WILLDAN GROUP, INC.

(Exact Name of Registrant as Specified in Its Charter)

Delaware

14-1951112

(State or Other Jurisdiction of
Incorporation or Organization)

(IRS Employer Identification No.)

2401 East Katella Avenue, Suite 300
Anaheim, California

92806

(Address of Principal Executive Offices)

(Zip Code)

Registrant’s Telephone Number, Including Area Code: (800424-9144

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

WLDN

The Nasdaq Stock Market LLC

(Nasdaq Global 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 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

As of August 2, 2023, there were 13,594,982 shares of common stock, $0.01 par value per share, of Willdan Group, Inc. issued and outstanding.

i

CAUTIONARY STATEMENT REGARDING FORWARD-LOOKING INFORMATION

This Quarterly Report on Form 10-Q (this “10-Q”) contains statements that constitute forward-looking statements as that term is defined by the Private Securities Litigation Reform Act of 1995, as amended. These statements concern our business, operations and financial performance and condition as well as our plans, objectives and expectations for our business operations and financial performance and condition, which are subject to risks and uncertainties. All statements other than statements of historical fact included in this 10-Q are forward-looking statements. These statements may include words such as “aim,” “anticipate,” “assume,” “believe,” “can have,” “could,” “due,” “estimate,” “expect,” “goal,” “intend,” “likely,” “may,” “objective,” “plan,” “potential,” “positioned,” “predict,” “should,” “target,” “will,” “would” and other words and terms of similar meaning in connection with any discussion of the timing or nature of future operating or financial performance or other events or trends. For example, all statements we make relating to our plans and objectives for future operations, growth or initiatives and strategies are forward-looking statements.

These forward-looking statements are based on current expectations, estimates, forecasts and projections about our business and the industry in which we operate and our management’s beliefs and assumptions. We derive many of our forward-looking statements from our own operating budgets and forecasts, which are based upon many detailed assumptions. While we believe that our assumptions are reasonable, we caution that predicting the impact of known factors is very difficult, and we cannot anticipate all factors that could affect our actual results.

All of our forward-looking statements are subject to risks and uncertainties that may cause our actual results to differ materially from our expectations. Important factors that could cause actual results to differ materially from our expectations include, but are not limited to:

our ability to adequately complete projects in a timely manner;
our ability to compete successfully in the highly competitive energy services market, which represented 83% of our consolidated revenue in fiscal year 2022;
our reliance on work from our top ten clients, which accounted for 55% of our consolidated contract revenue for fiscal year 2022;
changes in state, local and regional economies and government budgets;
our ability to win new contracts, to renew existing contracts and to compete effectively for contracts awarded through bidding processes;
our ability to make principal and interest payments on our outstanding debt as they come due and to comply with the financial covenants contained in our debt agreements;
our ability to manage supply chain constraints, labor shortages, rising interest rates, and rising inflation;
our ability to obtain financing and to refinance our outstanding debt as it matures;
our ability to successfully integrate our acquisitions and execute on our growth strategy; and
our ability to attract and retain managerial, technical, and administrative talent.

The above is not a complete list of factors or events that could cause actual results to differ from our expectations, and we cannot predict all of them. All written and oral forward-looking statements attributable to us, or persons acting on our behalf, are expressly qualified in their entirety by the cautionary statements disclosed elsewhere in this Quarterly Report on Form 10-Q, and under Part I, Item 1A. “Risk Factors”, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and elsewhere in our Annual Report on Form 10-K for the fiscal year ended December 30, 2022, as such disclosures may be amended, supplemented or superseded from time to

1

time by other reports we file with the Securities and Exchange Commission, including subsequent Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K and public communications. You should evaluate all forward-looking statements made in this Quarterly Report on Form 10-Q and otherwise in the context of these risks and uncertainties.

Potential investors and other readers are urged to consider these factors carefully in evaluating the forward-looking statements and are cautioned not to place undue reliance on any forward-looking statements we make. These forward-looking statements speak only as of the date of this Quarterly Report on Form 10-Q and are not guarantees of future performance or developments and involve known and unknown risks, uncertainties and other factors that are in many cases beyond our control. Except as required by law, we undertake no obligation to update or revise any forward-looking statements publicly, whether as a result of new information, future developments or otherwise.

2

PART I. FINANCIAL INFORMATION

Item 1. Financial Statements

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED BALANCE SHEETS

(in thousands, except par value)

(Unaudited)

    

June 30,

    

December 30,

2023

2022

Assets

Current assets:

Cash and cash equivalents

$

13,649

$

8,806

Restricted cash

10,679

Accounts receivable, net of allowance for doubtful accounts of $373 and $640 at June 30, 2023 and December 30, 2022, respectively

 

54,572

 

60,202

Contract assets

 

79,300

 

83,060

Other receivables

 

2,852

 

4,773

Prepaid expenses and other current assets

 

5,399

 

6,454

Total current assets

 

155,772

 

173,974

Equipment and leasehold improvements, net

 

25,494

 

22,537

Goodwill

130,124

130,124

Right-of-use assets

13,894

12,390

Other intangible assets, net

36,237

41,486

Other assets

 

15,607

 

10,620

Deferred income taxes, net

17,692

18,543

Total assets

$

394,820

$

409,674

Liabilities and Stockholders’ Equity

Current liabilities:

Accounts payable

$

35,155

$

28,833

Accrued liabilities

 

36,954

 

59,110

Contingent consideration payable

4,000

Contract liabilities

 

14,950

 

12,585

Notes payable

 

102,619

 

16,903

Finance lease obligations

1,143

1,113

Lease liability

4,877

4,625

Total current liabilities

 

195,698

 

127,169

Notes payable

19

90,544

Finance lease obligations, less current portion

 

1,251

 

1,601

Lease liability, less current portion

10,731

8,599

Other noncurrent liabilities

259

259

Total liabilities

 

207,958

 

228,172

Commitments and contingencies

Stockholders’ equity:

Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding

 

 

Common stock, $0.01 par value, 40,000 shares authorized; 13,504 and 13,296 shares issued and outstanding at June 30, 2023 and December 30, 2022, respectively

 

135

 

133

Additional paid-in capital

 

181,747

 

177,718

Accumulated other comprehensive loss

Retained earnings

 

4,980

 

3,651

Total stockholders’ equity

 

186,862

 

181,502

Total liabilities and stockholders’ equity

$

394,820

$

409,674

See accompanying notes to Condensed Consolidated Financial Statements.

3

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(in thousands, except per share amounts)

(Unaudited)

Three Months Ended

Six Months Ended

June 30,

July 1,

June 30,

July 1,

    

2023

    

2022

    

2023

    

2022

Contract revenue

$

119,077

$

102,645

$

221,680

$

194,483

Direct costs of contract revenue (inclusive of directly related depreciation and amortization):

Salaries and wages

 

21,302

 

21,284

 

41,712

 

40,094

Subcontractor services and other direct costs

 

57,142

 

49,771

 

98,054

 

91,439

Total direct costs of contract revenue

 

78,444

 

71,055

 

139,766

 

131,533

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

 

22,416

 

20,439

 

44,801

 

39,796

Facilities and facility related

 

2,619

 

2,373

 

4,897

 

4,771

Stock-based compensation

 

1,287

 

1,714

 

2,820

 

5,019

Depreciation and amortization

 

4,128

 

4,426

 

8,328

 

8,835

Other

 

7,709

 

7,936

 

14,580

 

15,435

Total general and administrative expenses

 

38,159

 

36,888

 

75,426

 

73,856

Income (Loss) from operations

 

2,474

 

(5,298)

 

6,488

 

(10,906)

Other income (expense):

Interest expense, net

 

(2,207)

 

(1,030)

 

(4,673)

 

(1,781)

Other, net

 

373

 

329

 

513

 

526

Total other expense, net

 

(1,834)

 

(701)

 

(4,160)

 

(1,255)

Income (Loss) before income taxes

 

640

 

(5,999)

 

2,328

 

(12,161)

Income tax (benefit) expense

 

243

 

(1,673)

 

999

 

(4,062)

Net income (loss)

397

(4,326)

1,329

(8,099)

Other comprehensive income (loss):

Unrealized gain (loss) on derivative contracts, net of tax

38

Comprehensive income (loss)

$

397

$

(4,326)

$

1,329

$

(8,061)

Earnings (Loss) per share:

Basic

$

0.03

$

(0.33)

$

0.10

$

(0.63)

Diluted

$

0.03

$

(0.33)

$

0.10

$

(0.63)

Weighted-average shares outstanding:

Basic

 

13,344

 

13,016

 

13,305

 

12,901

Diluted

 

13,487

 

13,016

 

13,481

 

12,901

See accompanying notes to Condensed Consolidated Financial Statements.

4

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(in thousands)

(Unaudited)

Accumulated

Additional

Other

Common Stock

Paid-in

Comprehensive

Retained

    

Shares

    

Amount

    

Capital

    

Income (Loss)

    

Earnings

    

Total

Balance at December 30, 2022

 

13,296

$

133

$

177,718

$

$

3,651

$

181,502

Shares of common stock issued in connection with employee stock purchase plan

 

92

1

1,391

1,392

Shares used to pay taxes on stock grants

 

(7)

(124)

(124)

Issuance of restricted stock award and units

108

1

(1)

Stock-based compensation expense

 

1,533

1,533

Net income (loss)

 

932

932

Balance at March 31, 2023

 

13,489

$

135

$

180,517

$

$

4,583

$

185,235

Shares of common stock issued in connection with incentive stock plan

2

7

7

Shares used to pay taxes on stock grants

 

(4)

(64)

(64)

Issuance of restricted stock award and units

17

Stock-based compensation expense

 

1,287

1,287

Net income (loss)

 

397

397

Balance at June 30, 2023

 

13,504

$

135

$

181,747

$

$

4,980

$

186,862

Accumulated

Additional

other

Common Stock

Paid-in

Comprehensive

Retained

    

Shares

    

Amount

    

Capital

    

Income (Loss)

    

Earnings

    

Total

Balance at December 31, 2021

 

12,804

$

128

$

167,032

$

(38)

$

12,099

$

179,221

Shares of common stock issued in connection with employee stock purchase plan

 

52

1

1,560

 

1,561

Shares of common stock issued in connection with incentive stock plan

4

23

23

Shares used to pay taxes on stock grants

 

(27)

(837)

 

(837)

Issuance of restricted stock award and units

373

3

(3)

Stock-based compensation expense

 

3,305

 

3,305

Net income (loss)

 

(3,773)

 

(3,773)

Net unrealized gain on derivative contracts

38

 

38

Balance at April 1, 2022

 

13,206

$

132

$

171,080

$

$

8,326

$

179,538

Shares of common stock issued in connection with employee stock purchase plan

 

 

Shares of common stock issued in connection with incentive stock plan

Shares used to pay taxes on stock grants

 

(5)

(116)

 

(116)

Issuance of restricted stock award and units

14

Stock-based compensation expense

 

1,714

 

1,714

Net income (loss)

 

(4,326)

 

(4,326)

Net unrealized gain on derivative contracts

 

Balance at July 1, 2022

 

13,215

$

132

$

172,678

$

$

4,000

$

176,810

See accompanying notes to Condensed Consolidated Financial Statements.

5

WILLDAN GROUP, INC. AND SUBSIDIARIES

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(in thousands)

(Unaudited)

Six Months Ended

June 30,

July 1,

    

2023

    

2022

Cash flows from operating activities:

Net income (loss)

$

1,329

$

(8,099)

Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:

Depreciation and amortization

 

8,328

 

8,835

Deferred income taxes, net

 

851

 

(2,842)

(Gain) loss on sale/disposal of equipment

 

(50)

 

(69)

Provision for doubtful accounts

 

146

 

107

Stock-based compensation

 

2,820

 

5,019

Accretion and fair value adjustments of contingent consideration

111

Changes in operating assets and liabilities, net of effects from business acquisitions:

Accounts receivable

 

5,484

 

6,803

Contract assets

 

3,760

 

(1,889)

Other receivables

 

1,921

 

36

Prepaid expenses and other current assets

 

1,217

 

225

Other assets

 

(4,987)

 

(48)

Accounts payable

 

6,322

 

(8,859)

Accrued liabilities

 

(11,477)

 

(648)

Contract liabilities

 

2,365

 

(2,089)

Right-of-use assets

 

880

 

(162)

Net cash (used in) provided by operating activities

 

18,909

 

(3,569)

Cash flows from investing activities:

Purchase of equipment, software, and leasehold improvements

 

(5,762)

 

(4,344)

Proceeds from sale of equipment

55

73

Net cash (used in) provided by investing activities

 

(5,707)

 

(4,271)

Cash flows from financing activities:

Payments on contingent consideration

 

(4,000)

 

(10,206)

Payment on restricted cash

(10,679)

Payments on notes payable

(971)

(1,051)

Borrowings under term loan facility and line of credit

5,000

20,000

Repayments under term loan facility and line of credit

(9,000)

(6,500)

Principal payments on finance leases

 

(599)

 

(444)

Proceeds from stock option exercise

 

7

 

23

Proceeds from sales of common stock under employee stock purchase plan

 

1,392

 

1,561

Cash used to pay taxes on stock grants

(188)

(953)

Net cash (used in) provided by financing activities

 

(19,038)

 

2,430

Net increase (decrease) in cash, cash equivalents and restricted cash

 

(5,836)

 

(5,410)

Cash, cash equivalents and restricted cash at beginning of period

 

19,485

 

11,221

Cash, cash equivalents and restricted cash at end of period

$

13,649

$

5,811

Supplemental disclosures of cash flow information:

Cash paid (received) during the period for:

Interest

$

4,464

$

1,584

Income taxes

 

(1,696)

 

474

Supplemental disclosures of noncash investing and financing activities:

Equipment acquired under finance leases

278

1,431

See accompanying notes to Condensed Consolidated Financial Statements.

6

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Unaudited)

1. ORGANIZATION AND OPERATIONS OF THE COMPANY

Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions, greenhouse gas reduction, and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure for our clients.

The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2023, which ends on December 29, 2023, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2022, which ended on December 30, 2022, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

7

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Credit Agreement Refinancing

As described in Note 5, “Debt Obligations”, and Part I, Item 3, “Quantitative and Qualitative Disclosures About Market Risk”, the Company’s current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, the Company’s Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under the Company’s Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024.

In accordance with ASC Topic 205, when preparing financial statements for each reporting period, the Company evaluates whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about the Company’s ability to continue as a going concern within one year after the date that the financial statements are issued. The Company considered its Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed its current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on that analysis, only as a result of the Company’s obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to the Company's ability to continue as a going concern within one year after the date that the Condensed Consolidated Financial Statements are issued.

The Company intends to refinance its Credit Agreement and has entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. The Company expects to finalize its refinancing efforts and enter into a new credit facility during the second half of fiscal 2023. Accordingly, the Company believes that its refinancing plan alleviates any substantial doubt about the Company's ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because it expects to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.

8

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

2. RECENT ACCOUNTING PRONOUNCEMENTS

As of June 30, 2023, there were no accounting pronouncements recently issued, or with future effective dates, that are either applicable nor are expected to have an impact to the Company’s Condensed Consolidated Financial Statements.

 

 

9

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, usually which is the life of the contract.

10

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

11

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

12

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of June 30, 2023 and December 30, 2022, contract assets included retainage of approximately $12.5 million and $8.5 million, respectively.

 

 

13

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

4. SUPPLEMENTAL FINANCIAL STATEMENT DATA

Restricted Cash

The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:

June 30,

December 30,

    

2023

    

2022

(in thousands)

Cash and cash equivalents

$

13,649

$

8,806

Restricted cash

 

 

10,679

Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows

$

13,649

$

19,485

 

Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Equipment and Leasehold Improvements

June 30,

December 30,

    

2023

    

2022

(in thousands)

Furniture and fixtures

$

4,188

$

4,062

Computer hardware and software

 

40,434

 

35,635

Leasehold improvements

 

3,832

 

3,097

Equipment under finance leases

 

5,588

 

5,503

Automobiles, trucks, and field equipment

 

3,135

 

3,134

Subtotal

 

57,177

 

51,431

Accumulated depreciation and amortization

 

(31,683)

 

(28,894)

Equipment and leasehold improvements, net

$

25,494

$

22,537

 

Included in accumulated depreciation and amortization is $0.6 million and $1.1 million of amortization expense related to equipment held under finance leases for the six months ended June 30, 2023 and for fiscal year 2022, respectively.

14

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Accrued Liabilities

June 30,

December 30,

    

2023

    

2022

(in thousands)

Accrued subcontractor costs

$

21,927

$

28,374

Accrued bonuses

6,758

8,470

Employee withholdings

 

2,795

 

2,571

Compensation and payroll taxes

 

2,690

 

2,340

Rebate and other

303

14,643

Accrued accounting and taxes

 

2,481

 

2,712

Total accrued liabilities

$

36,954

$

59,110

 

Goodwill

December 30,

Additional

Additions /

June 30,

    

2022

    

Purchase Cost

    

Adjustments

    

2023

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

749

749

$

130,124

$

$

$

130,124

 

The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. During the quarter ended June 30, 2023, although the Company experienced declines in the market price of its stock, such decreases did not result in the Company’s market capitalization decreasing below book value. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of June 30, 2023.

Intangible Assets

June 30, 2023

December 30, 2022

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Tradename

$

15,911

$

11,986

$

15,911

$

10,990

 

2.5

-

6.0

Developed technology

15,810

13,332

15,810

11,871

8.0

Customer relationships

58,149

28,315

58,149

25,523

5.0

-

8.0

Total intangible assets

$

89,870

$

53,633

$

89,870

$

48,384

 

 

 

15

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

5. DEBT OBLIGATIONS

Debt obligations, excluding obligations under finance leases (see Note 6, Leases, below), consisted of the following:

    

June 30,

    

December 30,

2023

2022

(in thousands)

Outstanding borrowings on Term A Loan

$

60,000

$

65,000

Outstanding borrowings on Revolving Credit Facility

5,000

Outstanding borrowings on Delayed Draw Term Loan

37,000

41,000

Other debt agreements

988

1,958

Total debt

102,988

107,958

Issuance costs and debt discounts

(350)

(511)

Subtotal

102,638

107,447

Less current portion of long-term debt

 

102,619

 

16,903

Long-term debt portion

$

19

$

90,544

 

Credit Facilities

On June 26, 2019, the Company and certain of its subsidiaries entered into an Amended and Restated Credit Agreement (as amended by the First Amendment, dated as of August 15, 2019, the Second Amendment, dated as of November 6, 2019, the Third Amendment, dated as of May 6, 2020, the Fourth Amendment, dated April 30, 2021, the Fifth Amendment, dated March 8, 2022, the Sixth Amendment, dated August 2, 2022, and the Seventh Amendment, dated November 1, 2022, the “Credit Agreement”) with a syndicate of financial institutions as lenders and BMO Harris Bank, N.A., as administrative agent (the “Administrative Agent”). The Credit Agreement provides for (i) a $100.0 million secured term loan (the “Term A Loan”), (ii) up to $50.0 million in delayed draw secured term loans (the “Delayed Draw Term Loan”), and (iii) a $50.0 million secured revolving credit facility (the “Revolving Credit Facility” and, collectively with the Term A Loan and the Delayed Draw Term Loan, the “Credit Facilities”), each maturing on June 26, 2024. The Company’s obligations under the Credit Agreement are guaranteed by its present and future domestic subsidiaries, with limited exceptions.

Pursuant to the terms of the Seventh Amendment to the Credit Agreement (the “Seventh Amendment”), among other things, (A) aggregate borrowings under the Revolving Credit Facility were restricted to no more than $10.0 million at any time during the period from November 1, 2022 through the date on which financial statements and compliance documents were received by the Administrative Agent for the fiscal quarter ending March 31, 2023, and (B) access to the accordion feature of the Credit Agreement was limited to periods when the Company’s Total Leverage Ratio (as defined in the Credit Agreement) was less than 3.0.

On April 28, 2023, the Company delivered to the Administrative Agent the required financial statements and compliance documents for the fiscal quarter ending March 31, 2023, reflecting full compliance with the restrictive covenants under the Credit Agreement, and thus effectively terminating the limitations on borrowing capacity and other restrictions imposed under the terms set by the Seventh Amendment.

Effective April 28, 2023, borrowings under the Credit Agreement bear interest at either a Base Rate (as defined in the Credit Agreement) or the Secured Overnight Financing Rate (“SOFR”), at the Company’s option, and in each case, plus an applicable margin, which applicable margin ranges from 0.125% to 1.25% with respect to Base Rate borrowings and 1.125% to 2.25% with respect to SOFR borrowings, depending on the Total Leverage Ratio; provided, that SOFR cannot be less than 0.00%, with the specific pricing reset on each date on which the Administrative Agent receives the required financial statements under the Credit Agreement for the fiscal quarter then ended. The Company

16

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

must also pay a commitment fee for the unused portion of the Revolving Credit Facility and the Delayed Draw Term Loan under the Credit Agreement, which ranges from 0.15% to 0.40% per annum depending on the Total Leverage Ratio, and fees on the face amount of any letters of credit outstanding under the Revolving Credit Facility, which range from 0.84% to 1.688% per annum, in each case, depending on whether such letter of credit is a performance or financial letter of credit and the Total Leverage Ratio.

The Credit Agreement requires the Company to comply with certain financial covenants, including requiring that the Company maintain a (i) Total Leverage Ratio of at least 3.25 to 1.00, and (ii) Fixed Charge Coverage Ratio (as defined in the Credit Agreement) of not less than 1.20 to 1.00, in each case tested quarterly. The Credit Agreement also contains customary events of default and contains other customary restrictive covenants.

As of June 30, 2023, the Company was in compliance with all covenants contained in the Credit Agreement.

Other Debt Agreements

The Company’s other debt agreements are related to financed insurance premiums, a financed software agreement, and a utility customer agreement and are immaterial to the Company’s Condensed Consolidated Financial Statements.

17

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

6. LEASES

The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through the year 2028. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through the year 2027.

From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from one to eight years, some of which may include options to extend the leases for up to five years, and some of which may include options to terminate the leases within one year. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of June 30, 2023, the Company had no leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.

Financing Leases

The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.

 

Right-of-use assets

Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that it will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.

18

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following is a summary of the Company’s lease expense:

Three Months Ended

Six Months Ended

June 30,

July 1,

June 30,

July 1,

2023

    

2022

    

2023

    

2022

(in thousands)

(in thousands)

Operating lease cost

$

1,664

$

1,534

$

3,157

$

3,112

Finance lease cost:

Amortization of assets

318

255

629

488

Interest on lease liabilities

24

15

46

29

Total net lease cost

$

2,006

$

1,804

$

3,832

$

3,629

 

The following is a summary of lease information presented on the Company’s consolidated balance sheet:

June 30,

    

December 30,

2023

2022

(in thousands)

Operating leases:

Right-of-use assets

$

13,894

$

12,390

 

 

Lease liability

$

4,877

$

4,625

Lease liability, less current portion

 

10,731

 

8,599

Total lease liabilities

$

15,608

$

13,224

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

5,588

$

5,503

Accumulated depreciation

 

(3,266)

 

(2,830)

Total equipment and leasehold improvements, net

$

2,322

$

2,673

 

Finance lease obligations

$

1,143

$

1,113

Finance lease obligations, less current portion

1,251

1,601

Total finance lease obligations

$

2,394

$

2,714

Weighted average remaining lease term (in years):

Operating Leases

3.60

3.35

Finance Leases

2.42

2.66

Weighted average discount rate:

Operating Leases

5.74

%

4.25

%

Finance Leases

4.06

%

3.47

%

 

Rent expense was $1.8 million and $3.4 million for the three and six months ended June 30, 2023, respectively, as compared to $1.7 million and $3.3 million for the three and six months ended July 1, 2022, respectively.

19

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following is a summary of other information and supplemental cash flow information related to finance and operating leases:

Six Months Ended

June 30,

July 1,

2023

    

2022

(in thousands)

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

Operating cash flow from operating leases

$

3,003

$

3,273

Operating cash flow from finance leases

46

29

Financing cash flow from finance leases

599

444

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

Operating leases

$

4,264

$

1,002

 

The following is a summary of the maturities of lease liabilities as of June 30, 2023:

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2023

$

2,793

$

681

2024

 

4,968

 

1,071

2025

 

3,988

472

2026

3,369

211

2027

1,519

 

80

2028 and thereafter

 

816

 

7

Total lease payments

17,453

2,522

Less: Imputed interest

 

(1,845)

(128)

Total lease obligations

 

15,608

2,394

Less: Current obligations

 

4,877

1,143

Noncurrent lease obligations

$

10,731

$

1,251

 

The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.

20

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

7. COMMITMENTS AND VARIABLE INTEREST ENTITIES

Employee Benefit Plans

The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and qualified cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors.

The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts.

During each of the six months ended June 30, 2023 and July 1, 2022, the Company made matching contributions of $1.6 million.

Variable Interest Entities

On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, WES, acquired substantially all of the assets of Genesys and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.

Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES.

The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a VIE. In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of June 30, 2023, the Company had one VIE — Genesys.

21

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

8. SEGMENT AND GEOGRAPHICAL INFORMATION

Segment Information

The Company’s two segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format.

There were no intersegment sales during the three and six months ended June 30, 2023 and July 1, 2022. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.

Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended June 30, 2023

Contract revenue

$

98,015

$

21,062

$

-

$

-

$

119,077

Depreciation and amortization

3,877

251

-

-

4,128

Interest expense, net

1

-

2,206

-

2,207

Segment profit (loss) before income tax expense

603

3,218

(3,181)

-

640

Income tax expense (benefit)

207

1,332

(1,296)

-

243

Net income (loss)

397

1,885

(1,885)

-

397

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Three Months Ended July 1, 2022

Contract revenue

$

84,675

$

17,970

$

-

$

-

$

102,645

Depreciation and amortization

4,183

243

-

-

4,426

Interest expense, net

1

-

1,029

-

1,030

Segment profit (loss) before income tax expense

(6,357)

2,531

(2,173)

-

(5,999)

Income tax expense (benefit)

(1,891)

732

(514)

-

(1,673)

Net income (loss)

(4,467)

1,798

(1,657)

-

(4,326)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

Fiscal Six Months Ended June 30, 2023

Contract revenue

$

181,300

$

40,380

$

-

$

-

$

221,680

Depreciation and amortization

7,801

527

-

-

8,328

Interest expense, net

3

-

4,670

-

4,673

Segment profit (loss) before income tax expense

3,374

5,805

(6,851)

-

2,328

Income tax expense (benefit)

1,448

2,490

(2,939)

-

999

Net income (loss)

1,927

3,313

(3,911)

-

1,329

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Six Months Ended July 1, 2022

Contract revenue

$

159,561

$

34,922

$

-

$

-

$

194,483

Depreciation and amortization

8,340

495

-

-

8,835

Interest expense, net

5

-

1,776

-

1,781

Segment profit (loss) before income tax expense

(10,710)

4,638

(6,089)

-

(12,161)

Income tax expense (benefit)

(3,578)

1,549

(2,033)

-

(4,062)

Net income (loss)

(7,132)

3,088

(4,055)

-

(8,099)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

(1)Segment assets are presented net of intercompany receivables.

 

22

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

The following tables provide information about disaggregated revenue by contract type, client type and geographical region:

    

Three months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

8,947

$

16,443

$

25,390

Unit-based

39,900

3,818

43,718

Fixed price

49,168

801

49,969

Total (1)

$

98,015

$

21,062

$

119,077

Client Type

Commercial

$

7,440

$

1,376

$

8,816

Government

40,543

19,610

60,153

Utilities (2)

50,032

76

50,108

Total (1)

$

98,015

$

21,062

$

119,077

Geography (3)

Domestic

$

98,015

$

21,062

$

119,077

    

Six months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,656

$

30,997

$

47,653

Unit-based

84,827

7,434

92,261

Fixed price

79,817

1,949

81,766

Total (1)

$

181,300

$

40,380

$

221,680

Client Type

Commercial

$

14,159

$

2,540

$

16,699

Government

66,618

37,705

104,323

Utilities (2)

100,523

135

100,658

Total (1)

$

181,300

$

40,380

$

221,680

Geography (3)

Domestic

$

181,300

$

40,380

$

221,680

23

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

    

Three months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,587

$

13,340

$

20,927

Unit-based

42,544

3,755

46,299

Fixed price

34,545

874

35,419

Total (1)

$

84,675

$

17,970

$

102,645

Client Type

Commercial

$

6,701

$

1,476

$

8,177

Government

29,861

16,338

46,199

Utilities (2)

48,114

156

48,270

Total (1)

$

84,675

$

17,970

$

102,645

Geography (3)

Domestic

$

84,675

$

17,970

$

102,645

    

Six months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,405

$

26,341

$

42,746

Unit-based

85,501

6,739

92,240

Fixed price

57,655

1,842

59,497

Total (1)

$

159,561

$

34,922

$

194,483

Client Type

Commercial

$

14,790

$

2,954

$

17,744

Government

48,220

31,791

80,011

Utilities (2)

96,551

177

96,728

Total (1)

$

159,561

$

34,922

$

194,483

Geography (3)

Domestic

$

159,561

$

34,922

$

194,483

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and six months ended June 30, 2023 and July 1, 2022.

 

Geographical Information

Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and six months ended June 30, 2023 nor the three and six months ended July 1, 2022.

24

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

Customer Concentration

For the three and six months ended June 30, 2023, the Company’s top 10 customers accounted for 51.7%, and 51.4%, respectively, of the Company’s consolidated contract revenue. For the three and six months ended July 1, 2022, the Company’s top 10 customers accounted for 55.4%, and 54.4%, respectively, of the Company’s consolidated contract revenue.

For the three months ended June 30, 2023, the Company had two customers, Dormitory Authority-State New York (“DASNY”) and the Los Angeles Department of Water and Power (“LADWP”), that accounted for 10.7% and 10.3% of its consolidated contract revenues, respectively. For the six months ended June 30, 2023, the Company had one customer, LADWP, that accounted for 10.6% of its consolidated contract revenues. For the three and six months ended July 1, 2022, the Company had one customer, LADWP, that accounted for 14.6% and 15.8%, respectively, of its consolidated contract revenues.

On a segment basis, the Company had individual customers that accounted for more than 10% of its segment contract revenues. For the three months ended June 30, 2023, the Company had two customers, DASNY and LADWP, that accounted for 13.0% and 12.5% of its Energy segment revenues, respectively. For the six months ended June 30, 2023, the Company had two customers, LADWP and DASNY, that accounted for 13.0% and 11.6% of its Energy segment revenues, respectively. For the three and six months ended June 30, 2023, no single customer accounted for 10% or more of its Engineering and Consulting segment revenues. For the three and six months ended July 1, 2022, the Company derived 17.6% and 19.2%, respectively, of its Energy segment revenues from one customer, LADWP. For the three and six months ended July 1, 2022, no single customer accounted for 10% or more of its Engineering and Consulting segment revenues. 

On a geographical basis, the Company’s largest clients are based in California and New York. For the three and six months ended June 30, 2023, services provided to clients in California accounted for 41.4% and 41.9%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 26.1% and 25.3%, respectively, of the Company’s contract revenue. For the three and six months ended July 1, 2022, services provided to clients in California accounted for 40.9% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 19.6% and 20.2%, respectively, of the Company’s contract revenue.

25

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

9. INCOME TAXES

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.

At the end of fiscal year 2022, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2021. As of June 30, 2023, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of June 30, 2023, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and six months ended June 30, 2023.

For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.

The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and six months ended June 30, 2023, and three and six months ended July 1, 2022, the Company did not record a liability for uncertain tax positions.

Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.0 million for the three and six months ended June 30, 2023, respectively, as compared to an income tax benefit of $1.7 million and $4.1 million for the three and six months ended April 1, 2022, respectively. During the three and six months ended June 30, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction. During the three and six months ended July 1, 2022, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction.

26

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

10. EARNINGS PER SHARE (“EPS”)

Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.

The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:

Three months ended

Six months ended

June 30,

July 1,

June 30,

July 1,

    

2023

    

2022

    

2023

    

2022

(in thousands, except per share amounts)

Net income (loss)

$

397

$

(4,326)

$

1,329

$

(8,099)

Weighted-average common shares outstanding

 

13,344

 

13,016

 

13,305

 

12,901

Effect of dilutive stock options and restricted stock awards

 

143

 

 

176

 

Weighted-average common shares outstanding-diluted

 

13,487

 

13,016

 

13,481

 

12,901

Earnings (Loss) per share:

Basic

$

0.03

$

(0.33)

$

0.10

$

(0.63)

Diluted

$

0.03

$

(0.33)

$

0.10

$

(0.63)

 

For the three and six months ended June 30, 2023, the Company excluded 451,000 and 433,000 common shares, respectively, subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and six months ended July 1, 2022, the Company reported a net loss, and accordingly, all outstanding equity awards have been excluded from such periods because including them would have been anti-dilutive.

27

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

11. CONTINGENCIES

Claims and Lawsuits

The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.

28

Table of Contents

WILLDAN GROUP, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS – (Continued)
(Unaudited)

12. SUBSEQUENT EVENTS

In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued. As of August 3, 2023, there were no subsequent events required to be reported.

29

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

Our Company

We are a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, we help organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions, greenhouse gas reduction, and government infrastructure. Through engineering, program management, policy advisory, and software and data management, we plan, design and deliver trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure to our clients.

Our broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of our strategy to design and deliver trusted, comprehensive, innovative, and proven solutions and services for our customers.

Our Energy segment provides specialized, innovative, comprehensive energy solutions to businesses, utilities, state agencies, municipalities, and non-profit organizations in the U.S. Our experienced engineers, consultants, and staff help our clients realize cost and energy savings by tailoring efficient and cost-effective solutions to assist in optimizing energy spend. Our energy efficiency services include comprehensive audit and surveys, program design, master planning, demand reduction, grid optimization, benchmarking analyses, design engineering, construction management, performance contracting, installation, alternative financing, measurement and verification services, and advances in software and data analytics for long-term planning.

Our Engineering and Consulting segment provides civil engineering-related construction management, building and safety, city engineering office management, city planning, civil design, geotechnical, material testing and other engineering consulting services to our clients. Our engineering services include traffic, bridges, rail, port, water, mining and other civil engineering projects. We also provide economic and financial consulting to public agencies. Lastly, we supplement the engineering services that we offer our clients by offering expertise and support for the various financing techniques public agencies utilize to finance their operations and infrastructure. We also support the mandated reporting and other requirements associated with these financings. We provide financial advisory services for municipal securities but do not provide underwriting services.

Key Developments

Credit Agreement Refinancing

As described in Part I, Item 1, Note 5, “Debt Obligations”, and Part I, Item 3, “Quantitative and Qualitative Disclosures About Market Risk”, our current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, our Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under our Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024.

In accordance with ASC Topic 205, when preparing financial statements for each reporting period, we evaluate whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about our ability to continue as a going concern within one year after the date that the financial statements are issued. We considered our Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed our current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on this analysis, only as a result of our obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to our ability to continue as a going concern within one year after the date that the condensed consolidated financial statements are issued.

30

We intend to refinance our Credit Agreement and have entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders, which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. We expect to finalize our refinancing efforts and enter into a new credit agreement during the second half of fiscal year 2023. Accordingly, we believe that our refinancing plan alleviates any substantial doubt about our ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because we expect to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.

Results of Operations

Second Quarter and First Half Overview

The following table sets forth, for the periods indicated, certain information derived from our consolidated statements of comprehensive income(1):

Three Months Ended

June 30,

July 1,

     

2023

2022

$ Change

% Change

(in thousands, except percentages)

Contract revenue

$

119,077

     

100.0

%

     

$

102,645

     

100.0

%

     

$

16,432

     

16.0

%

Direct costs of contract revenue:

Salaries and wages

21,302

17.9

21,284

20.7

18

0.1

Subcontractor services and other direct costs

57,142

48.0

49,771

48.5

7,371

14.8

Total direct costs of contract revenue

78,444

65.9

71,055

69.2

7,389

10.4

Gross profit

40,633

34.1

31,590

30.8

9,043

28.6

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

22,416

18.8

20,439

19.9

1,977

9.7

Facilities and facilities related

2,619

2.2

2,373

2.3

246

10.4

Stock-based compensation

1,287

1.1

1,714

1.7

(427)

(24.9)

Depreciation and amortization

4,128

3.5

4,426

4.3

(298)

(6.7)

Other

7,709

6.5

7,936

7.7

(227)

(2.9)

Total general and administrative expenses

38,159

32.0

36,888

35.9

1,271

3.4

Income (loss) from operations

2,474

2.1

(5,298)

(5.2)

7,772

146.7

Other income (expense):

Interest expense

(2,207)

(1.9)

(1,030)

(1.0)

(1,177)

114.3

Other, net

373

0.3

329

0.3

44

13.4

Total other income (expense)

(1,834)

(1.5)

(701)

(0.7)

(1,133)

161.6

Income (Loss) before income tax expense

640

0.5

(5,999)

(5.8)

6,639

110.7

Income tax expense (benefit)

243

0.2

(1,673)

(1.6)

1,916

(114.5)

Net income (loss)

$

397

0.3

$

(4,326)

(4.2)

$

4,723

109.2

(1)Percentages are expressed as a percentage of contract revenue and may not total due to rounding.

31

Six Months Ended

June 30,

July 1,

2023

2022

$ Change

% Change

(in thousands, except percentages)

Contract revenue

    

$

221,680

    

100.0

%

    

$

194,483

     

100.0

%

    

$

27,197

     

14.0

%

Direct costs of contract revenue:

Salaries and wages

41,712

18.8

40,094

20.6

1,618

4.0

Subcontractor services and other direct costs

98,054

44.2

91,439

47.0

6,615

7.2

Total direct costs of contract revenue

139,766

63.0

131,533

67.6

8,233

6.3

Gross profit

81,914

37.0

62,950

32.4

18,964

30.1

General and administrative expenses:

Salaries and wages, payroll taxes and employee benefits

44,801

20.2

39,796

20.5

5,005

12.6

Facilities and facilities related

4,897

2.2

4,771

2.5

126

2.6

Stock-based compensation

2,820

1.3

5,019

2.6

(2,199)

(43.8)

Depreciation and amortization

8,328

3.8

8,835

4.5

(507)

(5.7)

Other

14,580

6.6

15,435

7.9

(855)

(5.5)

Total general and administrative expenses

75,426

34.0

73,856

38.0

1,570

2.1

Income (loss) from operations

6,488

2.9

(10,906)

(5.6)

17,394

159.5

Other income (expense):

Interest expense

(4,673)

(2.1)

(1,781)

(0.9)

(2,892)

162.4

Other, net

513

0.2

526

0.3

(13)

(2.5)

Total other income (expense)

(4,160)

(1.9)

(1,255)

(0.6)

(2,905)

231.5

Income (Loss) before income tax expense

2,328

1.1

(12,161)

(6.3)

14,489

119.1

Income tax expense (benefit)

999

0.5

(4,062)

(2.1)

5,061

(124.6)

Net income (loss)

$

1,329

0.6

$

(8,099)

(4.2)

$

9,428

116.4

(1)Percentages are expressed as a percentage of contract revenue and may not total due to rounding.

32

The following tables provides information about disaggregated revenue of our two segments, Energy and Engineering and Consulting, by contract type, client type and geographical region:

    

Three months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

8,947

$

16,443

$

25,390

Unit-based

39,900

3,818

43,718

Fixed price

49,168

801

49,969

Total (1)

$

98,015

$

21,062

$

119,077

Client Type

Commercial

$

7,440

$

1,376

$

8,816

Government

40,543

19,610

60,153

Utilities (2)

50,032

76

50,108

Total (1)

$

98,015

$

21,062

$

119,077

Geography (3)

Domestic

$

98,015

$

21,062

$

119,077

    

Six months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,656

$

30,997

$

47,653

Unit-based

84,827

7,434

92,261

Fixed price

79,817

1,949

81,766

Total (1)

$

181,300

$

40,380

$

221,680

Client Type

Commercial

$

14,159

$

2,540

$

16,699

Government

66,618

37,705

104,323

Utilities (2)

100,523

135

100,658

Total (1)

$

181,300

$

40,380

$

221,680

Geography (3)

Domestic

$

181,300

$

40,380

$

221,680

33

    

Three months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,587

$

13,340

$

20,927

Unit-based

42,544

3,755

46,299

Fixed price

34,545

874

35,419

Total (1)

$

84,675

$

17,970

$

102,645

Client Type

Commercial

$

6,701

$

1,476

$

8,177

Government

29,861

16,338

46,199

Utilities (2)

48,114

156

48,270

Total (1)

$

84,675

$

17,970

$

102,645

Geography (3)

Domestic

$

84,675

$

17,970

$

102,645

    

Six months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,405

$

26,341

$

42,746

Unit-based

85,501

6,739

92,240

Fixed price

57,655

1,842

59,497

Total (1)

$

159,561

$

34,922

$

194,483

Client Type

Commercial

$

14,790

$

2,954

$

17,744

Government

48,220

31,791

80,011

Utilities (2)

96,551

177

96,728

Total (1)

$

159,561

$

34,922

$

194,483

Geography (3)

Domestic

$

159,561

$

34,922

$

194,483

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from our foreign operations were immaterial for the three and six months ended June 30, 2023 and July 1, 2022.

Three Months Ended June 30, 2023 Compared to Three Months Ended July 1, 2022

Contract revenue. Consolidated contract revenue increased $16.4 million, or 16.0%, in the three months ended June 30, 2023, compared to the three months ended July 1, 2022, primarily due to incremental revenues in both our Energy segment and our Engineering and Consulting segment.

Contract revenue in our Energy segment increased $13.3 million, or 15.8%, in the three months ended June 30, 2023, compared to the three months ended July 1, 2022, primarily as a result of increases in construction management revenues, software licensing, and planning and advisory consulting revenues. Contract revenue in our Engineering and Consulting segment increased $3.1 million, or 17.2%, in the three months ended June 30, 2023, compared to the three months ended July 1, 2022, primarily due to increased demand for services provided to our clients.

Direct costs of contract revenue. Direct costs of consolidated contract revenue increased $7.4 million, or 10.4% for the three months ended June 30, 2023, compared to the three months ended July 1, 2022, as a result of the increase, and change of mix, in contract revenues as described above. As a percentage of contract revenue, direct salaries and wages decreased from 20.7% in the three months ended July 1, 2022 to 17.9% in the three months ended June 30, 2023, while subcontractor services and other direct costs decreased from 48.5% in the three months ended July 1, 2022 to 48.0% in the three months ended June 30, 2023.

34

Direct costs of contract revenue in our Energy segment increased $5.9 million, or 9.2% for the three months ended June 30, 2023, compared to the three months ended July 1, 2022. Direct costs of contract revenue for the Engineering and Consulting segment increased $1.5 million, or 18.2%, in the three months ended June 30, 2023, compared to the three months ended July 1, 2022.

Subcontractor services and other direct costs increased by $7.4 million, or 14.8%, while salaries and wages remained relatively flat in the three months ended June 30, 2023, compared to the three months ended July 1, 2022. The increase in subcontractor services and other direct costs was primarily due to the increase in construction management revenue.

Gross Profit. Gross profit increased 28.6% to $40.6 million, or 34.1% gross margin, for the three months ended June 30, 2023, compared to gross profit of $31.6 million, or 30.8% gross margin, for the three months ended July 1, 2022. The increase in our gross margin was primarily driven by changes in the mix of revenues as described above combined with the absence of project startup costs for new utility programs that were incurred during the second quarter of fiscal year 2022 but did not recur in the second quarter of fiscal year 2023.

General and administrative expenses. General and administrative (“G&A”) expenses increased $1.3 million, or 3.4%, in the three months ended June 30, 2023, compared to the three months ended July 1, 2022. G&A expenses consisted of an increase of $0.5 million in the Energy segment combined with an increase of $0.9 million in the Engineering and Consulting segment, partially offset by a decrease of $0.1 million in unallocated corporate expenses.

Within G&A expenses, the increase of $2.0 million in salaries and wages, payroll taxes and employee benefits was partially offset by a decrease of $0.4 million in stock-based compensation combined with a decrease of $0.3 million in depreciation and amortization. The increase in salaries and wages, payroll taxes and employee benefits was primarily due to an increase in incentive compensation, consistent with the improvement in gross profit. The decrease in stock-based compensation expenses was primarily related to previously awarded stock grants reaching the end of their corresponding vesting periods, partially offset by new equity awards being issued at lower stock prices. The decrease in depreciation and amortization was primarily related to lower amortization of intangible assets from prior acquisitions.

Income (loss) from operations. Operating income was $2.5 million for the three months ended June 30, 2023, compared to an operating loss of $5.3 million for the three months ended July 1, 2022, as a result of the factors noted above.

Total other expense, net. Total other expense, net, increased $1.1 million, or 161.6%, for the three months ended June 30, 2023, compared to the three months ended July 1, 2022, primarily due to higher interest expense as a result of the increase in market interest rates which directly affected our variable interest rates under our Credit Facilities.

Income tax expense (benefit). We recorded an income tax expense of $0.2 million for the three months ended June 30, 2023, compared to a tax benefit of $1.7 million for the three months ended July 1, 2022. The tax expense is primarily attributable to the income before income tax combined with various tax deductions and credits.

Net income (loss). Our net income was $0.4 million for the three months ended June 30, 2023, as compared to a net loss of $4.3 million for the three months ended July 1, 2022. The increase in net income was primarily attributable to the increase in revenue and gross profit, partially offset by higher interest expense and income tax expense.

Six Months Ended June 30, 2023 Compared to Six Months Ended July 1, 2022

Contract revenue. Consolidated contract revenue increased $27.2 million, or 14.0%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022, primarily due to incremental revenues in both our Energy segment and in our Engineering and Consulting segment.

35

Contract revenue in our Energy segment increased $21.7 million, or 11.9%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022, primarily as a result of increases in construction management revenues, software licensing, and planning and advisory consulting revenues. Contract revenue in our Engineering and Consulting segment increased $5.5 million, or 13.5%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022, primarily due to increased demand for services provided to our clients.

Direct costs of contract revenue. Direct costs of consolidated contract revenue increased $8.2 million, or 6.3% for the six months ended June 30, 2023, compared to the six months ended July 1, 2022, as a result of the increase, and change of mix, in contract revenues as described above. As a percentage of contract revenue, direct salaries and wages decreased from 20.6% in the six months ended July 1, 2022 to 18.8% in the six months ended June 30, 2023, while subcontractors services and other direct costs decreased from 47.0% in the six months ended July 1, 2022 to 44.2% in the six months ended June 30, 2023.

Direct costs of contract revenue in our Energy segment increased $5.8 million, or 4.8% for the six months ended June 30, 2023, compared to the six months ended July 1, 2022. Direct costs of contract revenue for the Engineering and Consulting segment increased $2.4 million, or 12.8%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022.

Subcontractor services and other direct costs increased by $6.6 million, or 7.2%, while salaries and wages increased by $1.6 million, or 4.0%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022, primarily as a result of the increases in contract revenue.

Gross Profit. Gross profit increased 30.1% to $81.9 million, or 37.0% gross margin, for the six months ended June 30, 2023, compared to gross profit of $63.0 million, or 32.4% gross margin, for the six months ended July 1, 2022. The increase in our gross margin was primarily driven by changes in the mix of revenues as described above combined with the absence of project startup costs for new utility programs that were incurred during the first half of fiscal year 2022 but did not recur in the first half of fiscal year 2023.

General and administrative expenses. G&A expenses increased $1.6 million, or 2.1%, in the six months ended June 30, 2023, compared to the six months ended July 1, 2022. G&A expenses consisted of an increase of $1.7 million in the Energy segment combined with an increase of $1.9 million in the Engineering and Consulting segment, partially offset by a decrease of $2.0 million in unallocated corporate expenses.

Within G&A expenses, the increase of $5.0 million in salaries and wages, payroll taxes and employee benefits was partially offset by a decrease of $2.2 million in stock-based compensation, a decrease of $0.9 million in other general and administrative expenses, and a decrease of $0.5 million in depreciation and amortization. The increase in salaries and wages, payroll taxes and employee benefits was primarily due to an increase in incentive compensation, consistent with the improvement in gross profit. The decrease in stock-based compensation expenses was primarily related to previously awarded stock grants reaching the end of their corresponding vesting periods, partially offset by new equity awards being issued at lower stock prices. The decrease in depreciation and amortization was primarily related to lower amortization of intangible assets from prior acquisitions.

Income (loss) from operations. Operating income was $6.5 million for the six months ended June 30, 2023, compared to an operating loss of $10.9 million for the six months ended July 1, 2022, as a result of the factors noted above.

Total other expense, net. Total other expense, net, increased $2.9 million, or 231.5%, for the six months ended June 30, 2023, compared to the six months ended July 1, 2022, primarily due to higher interest expense as a result of the increase in market interest rates which directly affected our variable interest rates under our Credit Facility.

36

Income tax expense (benefit). We recorded an income tax expense of $1.0 million for the six months ended June 30, 2023, compared to a tax benefit of $4.1 million for the six months ended July 1, 2022. The tax expense is primarily attributable to the income before income tax combined with various tax deductions and credits, and the non-recurrence of a one-time tax benefit recognized during the same period last year related to additional energy efficiency building deductions.

Net income (loss). Our net income was $1.3 million for the six months ended June 30, 2023, as compared to a net loss of $8.1 million for the six months ended July 1, 2022. The increase in net income was primarily attributable to the increase in revenue and gross profit, partially offset by higher interest expense and income tax expense.

Liquidity and Capital Resources

Six Months Ended

June 30,

July 1,

2023

2022

(in thousands)

Net cash provided by (used in):

    

Operating activities

    

$

18,909

    

$

(3,569)

Investing activities

(5,707)

(4,271)

Financing activities

(19,038)

2,430

Net increase (decrease) in cash and cash equivalents

$

(5,836)

$

(5,410)

Sources of Cash

Our primary sources of liquidity for the next 12 months and beyond are cash generated from operations, cash and cash equivalents, and borrowings under our revolving credit facility under the Credit Agreement (the “Revolving Credit Facility”). As described in Part I, Item 1, Note 1 “Organization and Operations of the Company”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, our Credit Agreement matures on June 26, 2024, and in accordance with the terms of the Credit Agreement, we have an obligation to make a final payment of all then remaining principal and interest due on June 26, 2024. Only as a result of the remaining principal and interest payment due on June 26, 2024, are our cash and cash equivalents, cash generated by operating activities, and future available borrowings not sufficient to finance our operating activities for at least the next 12 months. However, we intend to refinance our Credit Agreement and have entered into a refinancing engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders, which, among other things, will replace 100% of the existing Credit Agreement and extend the due date of the maturity payment by more than two years from its current due date. For more information on our current Credit Agreement, see Part I, Item 1, Note 5, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.

As of June 30, 2023, we had a fully drawn $100 million Term A Loan with $60.0 million outstanding (the “Term A Loan”), a $50.0 million Revolving Credit Facility with $5.0 million outstanding and $4.1 million in letters of credit issued, and a fully drawn $50.0 million Delayed Draw Term Loan with $37.0 million outstanding (the “Delayed Draw Term Loan” and, collectively with the Term A Loan and the Revolving Credit Facility, the “Credit Facilities”), each scheduled to mature on June 26, 2024. In addition, as of June 30, 2023, we had $13.6 million of unrestricted cash and cash equivalents.

37

As of June 30, 2023, borrowings under our Credit Facilities, exclusive of the effects of upfront fees, undrawn fees and issuance cost amortization, bore interest at an annual rate of 7.25%. See Part I, Item 1, Note 5, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, and Part II, Item 8, Note 5, “Debt Obligations”, of the Notes to the Consolidated Financial Statements included in our Annual Report on Form 10-K for the fiscal year ended December 30, 2022, for information regarding our indebtedness, including information about borrowings and repayments, principal repayment terms, interest rates, covenants, and other key terms of our outstanding indebtedness.

Cash Flows from Operating Activities

Cash flows provided by operating activities were $18.9 million for the six months ended June 30, 2023, as compared to cash flows used in operating activities of $3.6 million for the six months ended July 1, 2022. Cash flows from operating activities primarily consists of net income, adjusted for non-cash charges, such as depreciation and amortization and stock-based compensation, plus or minus changes in current operating assets and liabilities. Cash flows provided by operating activities for the six months ended June 30, 2023, resulted primarily from the increase in earnings, combined with lower working capital requirements. Cash flows used in operating activities for the six months ended July 1, 2022, resulted primarily from the changing mix of revenues, combined with the increased demand for working capital related to the resumption of our utility programs that were suspended in 2021 and start-up costs associated with certain new contract awards.

Cash Flows from Investing Activities

Cash flows used in investing activities were $5.7 million for the six months ended June 30, 2023, as compared to cash flows used in investing activities of $4.3 million for the six months ended July 1, 2022. Cash flows used in investing activities for the six months ended June 30, 2023 and for the six months ended July 1, 2022, were primarily due to cash paid for the development of software and the purchase of computers and equipment.

Cash Flows from Financing Activities

Cash flows used in financing activities were $19.0 million for the six months ended June 30, 2023, as compared to cash flows provided by financing activities of $2.4 million for the six months ended July 1, 2022. Cash flows used in financing activities for the six months ended June 30, 2023 were primarily attributable to the disbursement of $10.7 million in restricted cash for utility rebate incentives, repayments of $9.0 million under our term loan facility and revolving line of credit, and payments of $4.0 million for contingent consideration related to prior acquisitions, partially offset by borrowings of $5.0 million under our revolving line of credit. Cash flows provided by financing activities for the six months ended July 1, 2022, were primarily attributable to borrowings of $20.0 million under our Delayed Draw Term Loan, partially offset by payments of $10.2 million for contingent consideration related to prior acquisitions combined with repayments of $6.5 million under our term loan facility and revolving line of credit.

Under certain utility contracts, we periodically receive cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. We act solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, we classify these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on our working capital or operating cash flows, these cash receipts are presented in the consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Off-Balance Sheet Arrangements

We do not have any off-balance sheet financing arrangements or liabilities. In addition, we do not have any majority-owned subsidiaries or any interests in, or relationships with, any special-purpose entities that are not included in the consolidated financial statements. We have, however, an administrative services agreement with Genesys in which we provide Genesys with ongoing administrative, operational and other non-professional support services. We manage Genesys and have the power to direct the activities that most significantly impact Genesys’ performance, in addition to

38

being obligated to absorb expected losses from Genesys. Accordingly, we are the primary beneficiary of Genesys and consolidate Genesys as a variable interest entity.

Short and Long-term Uses of Cash

General

Our principal uses of cash are to fund operating expenses, support working capital requirements, finance capital expenditures, and pay down outstanding debt. From time to time, we also use cash to help fund business acquisitions. Our cash and cash equivalents are impacted by the timing of when we are paid by our customers for services rendered and when we pay expenses as reflected in the change in our outstanding accounts payable and accrued expenses.

Contractual Obligations

The following table sets forth our known contractual obligations as of June 30, 2023:

    

    

Less than

    

    

    

More than

 

Contractual Obligations

Total

1 Year

1 - 3 Years

3 - 5 Years

5 Years

 

( in thousands)

Debt (1)

$

102,638

$

102,619

$

19

$

$

Interest payments on debt outstanding (2)

7,114

7,114

Operating leases

 

15,608

 

4,877

 

7,190

 

2,823

 

718

Finance leases

 

2,394

 

1,143

 

1,066

 

178

 

7

Total contractual cash obligations

$

127,754

$

115,753

$

8,275

$

3,001

$

725

(1)Debt includes $60.0 million outstanding on our Term A Loan, $5.0 million outstanding on our Revolving Credit Facility, and $37.0 million outstanding on our Delayed Draw Term Loan as of June 30, 2023. We have assumed no future borrowings or repayments (other than at maturity) for purposes of this table. Our term loans are scheduled to mature on June 26, 2024.
(2)Borrowings under our Term A Loan and Delayed Draw Term Loan bear interest at a variable rate. Future interest payments on our Credit Facilities are estimated using floating rates in effect as of June 30, 2023.

As of June 30, 2023, we did not have any remaining contingent consideration payable related to any prior acquisitions. In addition, as of June 30, 2023, we did not have any arrangements involving the potential incurrence of future contingent consideration.

Outstanding Indebtedness

See Part I, Item 1, Note 5, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q, and Part II, Item 8, Note 5, “Debt Obligations”, of the Notes to the Consolidated Financial Statements included in our Annual Report on Form 10-K for the fiscal year ended December 30, 2022, for information regarding our indebtedness, including information about new borrowings and repayments, principal repayment terms, interest rates, covenants, and other key terms of our outstanding indebtedness.

Impact of Inflation

Due to the average duration of our projects and our ability to negotiate prices as contracts end and new contracts begin, historically, our operations have not been materially impacted by inflation.

While immaterial to our results of operations and financial condition, we experienced higher cost of materials and delays in our supply chain for equipment during fiscal year 2022, and we expect these higher costs and delays in our supply chain to persist through fiscal year 2023. The prices of finished products from manufacturers are subject to fluctuation and increases. It is difficult to accurately measure the impact of inflation, tariffs, price escalation, raw material costs, and other factors that impact the cost of finished goods due to the imprecise nature of the estimates required.

39

We are often able to mitigate the impact of future price increases by entering into fixed price purchase orders for materials and equipment, and subcontracts on our projects, as well as, when appropriate, including cost escalation factors into our proposals. Despite our best mitigation efforts, significant price increases in equipment and disruptions to our supply chain could materially impact our results of operations and financial condition. In addition, inflationary pressures, including expectations of future inflation, may impact the customers of our utility clients, which may lead to delayed or deferred decisions regarding expenditures to improve energy efficiency, and therefore potentially impact our future revenues.

Components of Revenue and Expense

Contract Revenue

We generally provide our services under contracts, purchase orders or retainer letters. The agreements we enter into with our clients typically incorporate one of three principal types of pricing provisions: time-and-materials, unit-based, and fixed price. Revenue on our time-and-materials and unit-based contracts are recognized as the work is performed in accordance with specific terms of the contract. As of June 30, 2023, 21% of our contracts are time-and-materials contracts 42% are unit-based contracts, and 37% are fixed price contracts, compared to 22% for time-and-materials contracts, 47% for unit-based contracts, and 31% for fixed price contracts, as of July 1, 2022.

Some of these contracts include maximum contract prices, but contract maximums are often adjusted to reflect the level of effort to achieve client objectives and thus the majority of these contracts are not expected to exceed the maximum. Contract revenue on our fixed price contracts is determined on the percentage of completion method based generally on the ratio of direct costs incurred to date to estimated total direct costs at completion. Many of our fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete.

Adjustments to contract cost estimates are made in the periods in which the facts requiring such revisions become known. When the revised estimate indicates a loss, such loss is recognized in the current period in its entirety. Claims and change orders that have not been finalized are evaluated to determine whether or not a change has occurred in the enforceable rights and obligations of the original contract. If these non-finalized changes qualify as a contract modification, a determination is made whether to account for the change in contract value as a modification to the existing contract, or a separate contract and revenue under the claims or change orders is recognized accordingly. Costs related to un-priced change orders are expensed when incurred, and recognition of the related revenue is based on the assessment above of whether or not a contract modification has occurred. Estimated profit for un-priced change orders is recognized only if collection is probable.

Our contracts come up for renewal periodically and at the time of renewal may be subject to renegotiation, which could impact the profitability on that contract. In addition, during the term of a contract, public agencies may request additional or revised services which may impact the economics of the transaction. Most of our contracts permit our clients, with prior notice, to terminate the contracts at any time without cause. While we have a large volume of contracts, the renewal, termination or modification of a contract, in particular contracts with Consolidated Edison, the Dormitory Authority-State of New York, the New York City Housing Authority, and utility programs associated with Los Angeles Department of Water and Power and Duke Energy Corp., may have a material effect on our consolidated operations.

Some of our contracts include certain performance guarantees, such as a guaranteed energy saving quantity. Such guarantees are generally measured upon completion of a project. In the event that the measured performance level is less than the guaranteed level, any resulting financial penalty, including any additional work that may be required to fulfill the guarantee, is estimated and charged to direct expenses in the current period. We have not experienced any significant costs under such guarantees.

40

Direct Costs of Contract Revenue

Direct costs of contract revenue consist primarily of that portion of salaries and wages that have been incurred in connection with revenue producing projects. Direct costs of contract revenue also include material costs, subcontractor services, equipment and other expenses that are incurred in connection with revenue producing projects. Direct costs of contract revenue exclude that portion of salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all of our personnel are included in general and administrative expenses since no allocation of these costs is made to direct costs of contract revenue.

Other companies may classify as direct costs of contract revenue some of the costs that we classify as general and administrative costs. We expense direct costs of contract revenue when incurred.

General and Administrative Expenses

G&A expenses include the costs of the marketing and support staff, other marketing expenses, management and administrative personnel costs, payroll taxes, bonuses and employee benefits for all of our employees and the portion of salaries and wages not allocated to direct costs of contract revenue for those employees who provide our services. G&A expenses also include facility costs, depreciation and amortization, professional services, legal and accounting fees and administrative operating costs. Within G&A expenses, “Other” includes expenses such as professional services, legal and accounting, computer costs, travel and entertainment, marketing costs and acquisition costs. We expense general and administrative costs when incurred.

Critical Accounting Policies

We have prepared the accompanying unaudited Condensed Consolidated Financial Statements in accordance with generally accepted accounting principles in the U.S. (“GAAP”). To prepare these financial statements in conformity with GAAP, we must make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and the reported amount of revenue and expenses in the reporting period. Our actual results may differ from these estimates. We have adopted accounting policies and practices that are generally accepted in the industry in which we operate.

There have been no material changes in our critical accounting policies and estimates from those disclosed in our Annual Report on Form 10-K for our fiscal year ended December 30, 2022. Please refer to Part II, Item 7 of our Annual Report on Form 10-K for the fiscal year ended December 30, 2022 for a discussion of our critical accounting policies and estimates.

Recent Accounting Standards

For a description of recently issued and adopted accounting pronouncements, including adoption dates and expected effects on our results of operations and financial condition, see Part I, Item 1, Note 2, “Recent Accounting Pronouncements”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.

41

ITEM 3. Quantitative and Qualitative Disclosures About Market Risk

Interest Rate Risk

Market risk is the risk of loss to future earnings, to fair values or to future cash flows that may result from changes in the price of a financial instrument. The value of a financial instrument may change as a result of changes in interest rates, exchange rates, commodity prices, equity prices and other market changes. Market risk is attributed to all market risk sensitive financial instruments, including long-term debt.

As of June 30, 2023, we had cash and cash equivalents of $13.6 million. This amount represents cash on hand in business checking accounts with BMO Harris Bank, N.A. We do not engage in trading activities and do not participate in foreign currency transactions.

We are subject to interest rate risk in connection with our Term A Loan and borrowings, if any, under our Revolving Credit Facility and Delayed Draw Term Loan, each of which bears interest at variable rates. As of June 30, 2023, $60.0 million was outstanding under our Term A Loan, $37.0 million was outstanding under our Delayed Draw Term Loan, $5.0 million was outstanding and $4.1 million in letters of credit were issued under the Revolving Credit Facility. Each of our Term A Loan, Revolving Credit Facility and Delayed Draw Term Loan mature as of June 26, 2024 and are governed by our Credit Agreement.

Pursuant to the Credit Agreement, (as described in Part I, Item 1, Note 5, “Debt Obligations”, of the Notes to Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q), borrowings under the Credit Agreement bear interest at either a Base Rate (as defined in the Credit Agreement) or SOFR, at the Company’s option, and in each case, plus an applicable margin, which applicable margin will range from 0.125% to 1.25% with respect to Base Rate borrowings and 1.125% to 2.25% with respect to SOFR borrowings, depending on the Total Leverage Ratio; provided, that SOFR cannot be less than 0.00%, with the specific pricing reset on each date on which the Administrative Agent receives the required financial statements under the Credit Agreement for the fiscal quarter then ended. The Company must also pay a commitment fee for the unused portion of the Revolving Credit Facility and the Delayed Draw Term Loan under the Credit Agreement, which ranges from 0.15% to 0.40% per annum depending on the Total Leverage Ratio, and fees on the face amount of any letters of credit outstanding under the Revolving Credit Facility, which range from 0.84% to 1.688% per annum, in each case, depending on whether such letter of credit is a performance or financial letter of credit and the Total Leverage Ratio. Based upon the amount of our outstanding indebtedness as of June 30, 2023, a one percentage point increase in the effective interest rate would change our annual interest expense by approximately $1.0 million in fiscal year 2023.

The Term A Loan amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024, subject to certain prepayment obligations based on our excess cash flow. Each borrowing under our Delayed Draw Term Loan will amortize quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024, subject to certain prepayment obligations based on our excess cash flow.

42

ITEM 4.  Controls and Procedures

We maintain disclosure controls and procedures, as defined in Rule 13a-15(e) and Rule 15-d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”), as controls and other procedures that are designed to ensure that information required to be disclosed by the issuer in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed in the reports that we file or submit under the Securities Exchange Act is accumulated and communicated to our management, including our Chief Executive Officer, Thomas D. Brisbin, and our Chief Financial Officer, Creighton K. Early, as appropriate to allow timely decisions regarding required disclosure.

In connection with the preparation of this Quarterly Report, an evaluation was performed under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of our disclosure controls and procedures as of June 30, 2023. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were effective, at a reasonable assurance level, as of June 30, 2023.

No change in our internal control over financial reporting occurred during the period covered by this report that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

43

PART II.  OTHER INFORMATION

ITEM 1. Legal Proceedings

We are subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. We carry professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, we accrue an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and we disclose the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for our financial statements not to be misleading. We do not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, our evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of our financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then we disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on our earnings in any given reporting period. However, in the opinion of our management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on our financial statements.

ITEM 1A. Risk Factors

There are no material changes to the risk factors set forth in Part I, Item 1A, Risk Factors in our Annual Report on Form 10-K for the year ended December 30, 2022.

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

During the fiscal quarter ended June 30, 2023, we made the following repurchases of shares of our common stock from employees to satisfy tax withholding obligations incurred in connection with the vesting of restricted stock:

Total Number of
Shares Purchased

Average Price
Paid Per Share

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

Maximum Number
(or Approximate Dollar
Value) of Shares That
May Yet be Purchased
Under the Plans or
Programs

April 1, 2023 – April 28, 2023

194

$17.23

April 29, 2023 – May 26, 2023

1,849

$14.35

May 27, 2023 – June 30, 2023

1,969

$17.47

TOTAL

4,012

$16.02

44

ITEM 3. Defaults upon Senior Securities

None.

ITEM 4. Mine Safety Disclosures

Not applicable.

ITEM 5. Other Information

None.

45

ITEM 6. Exhibits

Exhibit
Number

Exhibit Description

3.1

First Amended and Restated Certificate of Incorporation of Willdan Group, Inc. (incorporated by reference to Willdan Group, Inc.’s Registration Statement on Form S-1, filed with the SEC on August 9, 2006, as amended (File No. 333-136444)).

3.2

Second Amended and Restated Bylaws of Willdan Group, Inc. (incorporated by reference to Exhibit 3.1 to Willdan Group, Inc.’s Current Report on Form 8-K, filed with the SEC on July 12, 2023).

4.1

Specimen Stock Certificate for shares of the Registrant’s Common Stock (incorporated by reference to Willdan Group, Inc.’s Registration Statement on Form S-1, filed with the SEC on August 9, 2006, as amended (File No. 333-136444)).

4.2

The Company agrees to furnish to the Securities and Exchange Commission upon request a copy of each instrument with respect to issues of long-term debt of Willdan Group, Inc. and its subsidiaries, the authorized principal amount of which does not exceed 10% of the consolidated assets of Willdan Group, Inc. and its subsidiaries.

10.1†

Willdan Group, Inc. Amended and Restated 2008 Performance Incentive Plan (incorporated by reference to Exhibit 10.1 to Willdan Group, Inc.’s Current Report on Form 8-K, filed with the SEC on June 9, 2023).

10.2†

Willdan Group, Inc. Amended and Restated 2006 Employee Stock Purchase Plan (incorporated by reference to Exhibit 10.2 to Willdan Group, Inc.’s Current Report on Form 8-K, filed with the SEC on June 9, 2023).

31.1*

Certification of Chief Executive Officer pursuant to Rule 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to § 302 of the Sarbanes-Oxley Act of 2002.

31.2*

Certification of Chief Financial Officer pursuant to Rule 13a-14(a) or 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to § 302 of the Sarbanes-Oxley Act of 2002.

32.1**

Certifications of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002.

101.INS*

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

101.SCH*

Inline XBRL Taxonomy Extension Schema Document

101.CAL*

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF*

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB*

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE*

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104*

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

*

Filed herewith.

**

Furnished herewith.

Portions of the referenced exhibit have been omitted pursuant to Item 601(b) of Regulation S-K because it (i) is not material and (ii) would be competitively harmful if publicly disclosed.

¥

All schedules and exhibits were omitted pursuant to Item 601(a)(5) of Regulation S-K.

Indicates a management contract or compensating plan or arrangement

46

SIGNATURES

Pursuant to the requirements of Section 13 or 15(d) 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.

WILLDAN GROUP, INC.

/s/ Creighton K. Early

Creighton K. Early

Chief Financial Officer and Vice President

(Principal Financial Officer, Principal Accounting Officer and duly authorized officer)

August 3, 2023

47

EX-31.1 2 wldn-20230630xex31d1.htm EX-31.1

Exhibit 31.1

SECTION 302 CERTIFICATION OF CHIEF EXECUTIVE OFFICER

I, Thomas D. Brisbin, certify that:

1.            I have reviewed this quarterly report on Form 10-Q of Willdan Group, Inc.;

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

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

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

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

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

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

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

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

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

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

Date: August 3, 2023

(Prin

By:

/s/ THOMAS D. BRISBIN

Thomas D. Brisbin

Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 wldn-20230630xex31d2.htm EX-31.2

Exhibit 31.2

SECTION 302 CERTIFICATION OF CHIEF FINANCIAL OFFICER

I, Creighton K. Early, certify that:

1.

I have reviewed this quarterly report on Form 10-Q of Willdan Group, Inc.;

2.

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

3.

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

4.

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

a)

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

b)

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

c)

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

d)

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

5.

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

a)

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

b)

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

Date: August 3, 2023

By:

/s/ CREIGHTON K. EARLY

Creighton K. Early

Chief Financial Officer and Vice President

(Principal Financial Officer)


EX-32.1 4 wldn-20230630xex32d1.htm EX-32.1

Exhibit 32.1

Certification of Chief Executive Officer and Chief Financial Officer Pursuant to 18 U.S.C. 1350,

as Adopted Pursuant to § 906 of the Sarbanes-Oxley Act of 2002

In connection with the Quarterly Report on Form 10-Q of Willdan Group, Inc. (the “Company”) for the quarterly period ended June 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), Thomas D. Brisbin, as Chief Executive Officer of the Company, and Creighton K. Early, as Chief Financial Officer of the Company, each hereby certifies, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that, to the best of his or her knowledge:

(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.

By:

/s/ THOMAS D. BRISBIN

Thomas D. Brisbin

Chief Executive Officer

(Principal Executive Officer)

August 3, 2023

By:

/s/ CREIGHTON K. EARLY

Creighton K. Early

Chief Financial Officer and Vice President

(Principal Financial Officer)

August 3, 2023

This certification accompanies the Report pursuant to § 906 of the Sarbanes-Oxley Act of 2002 and shall not, except to the extent required by the Sarbanes-Oxley Act of 2002, be deemed filed by the Company for purposes of § 18 of the Securities Exchange Act of 1934, as amended. A signed original of this written statement required by § 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.


EX-101.SCH 5 wldn-20230630.xsd EX-101.SCH 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - DEBT OBLIGATIONS - Composition (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - DEBT OBLIGATIONS - Classification (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - LEASES - Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - LEASES - Consolidated Balance Sheet (Details) link:presentationLink link:calculationLink link:definitionLink 40607 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40608 - Disclosure - LEASES - Operating Leases - Gross Difference (Details) link:presentationLink link:calculationLink link:definitionLink 40609 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40610 - Disclosure - LEASES - Finance Leases - Gross Difference (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - EARNINGS PER SHARE (EPS) - Computation (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - REVENUES link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - DEBT OBLIGATIONS link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - EARNINGS PER SHARE (EPS) link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - REVENUES (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - DEBT OBLIGATIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - EARNINGS PER SHARE (EPS) (Tables) link:presentationLink link:calculationLink link:definitionLink 40102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) link:presentationLink link:calculationLink link:definitionLink 40103 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - REVENUES - General Information (Details) link:presentationLink link:calculationLink link:definitionLink 40405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 40407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - DEBT OBLIGATIONS - Credit Facilities (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - LEASES - General Information (Details) link:presentationLink link:calculationLink link:definitionLink 40606 - Disclosure - LEASES - Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40804 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40806 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - INCOME TAXES - Valuation Allowance (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - REVENUES - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 40604 - Disclosure - LEASES - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 40605 - Disclosure - LEASES - Rent Expense (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 40805 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 wldn-20230630_cal.xml EX-101.CAL EX-101.DEF 7 wldn-20230630_def.xml EX-101.DEF EX-101.LAB 8 wldn-20230630_lab.xml EX-101.LAB EX-101.PRE 9 wldn-20230630_pre.xml EX-101.PRE XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2023
Aug. 02, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Jun. 30, 2023  
Entity File Number 001-33076  
Entity Registrant Name WILLDAN GROUP, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 14-1951112  
Entity Address, Address Line One 2401 East Katella Avenue  
Entity Address, Address Line Two Suite 300  
Entity Address, City or Town Anaheim  
Entity Address, Postal Zip Code 92806  
Entity Address, State or Province CA  
City Area Code 800  
Local Phone Number 424-9144  
Title of 12(b) Security Common Stock, par value $0.01 per share  
Trading Symbol WLDN  
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   13,594,982
Current Fiscal Year End Date --12-29  
Document Fiscal Period Focus Q2  
Document Fiscal Year Focus 2023  
Entity Central Index Key 0001370450  
Amendment Flag false  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Current assets:    
Cash and cash equivalents $ 13,649 $ 8,806
Restricted cash   10,679
Accounts receivable, net of allowance for doubtful accounts of $373 and $640 at June 30, 2023 and December 30, 2022, respectively 54,572 60,202
Contract assets 79,300 83,060
Other receivables 2,852 4,773
Prepaid expenses and other current assets 5,399 6,454
Total current assets 155,772 173,974
Equipment and leasehold improvements, net 25,494 22,537
Goodwill 130,124 130,124
Right-of-use assets 13,894 12,390
Other intangible assets, net 36,237 41,486
Other assets 15,607 10,620
Deferred income taxes, net 17,692 18,543
Total assets 394,820 409,674
Current liabilities:    
Accounts payable 35,155 28,833
Accrued liabilities 36,954 59,110
Contingent consideration payable   4,000
Contract liabilities 14,950 12,585
Notes payable 102,619 16,903
Finance lease obligations 1,143 1,113
Lease liability 4,877 4,625
Total current liabilities 195,698 127,169
Notes payable 19 90,544
Finance lease obligations, less current portion 1,251 1,601
Lease liability, less current portion 10,731 8,599
Other noncurrent liabilities 259 259
Total liabilities 207,958 228,172
Commitments and contingencies
Stockholders' equity:    
Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding
Common stock, $0.01 par value, 40,000 shares authorized; 13,504 and 13,296 shares issued and outstanding at June 30, 2023 and December 30, 2022, respectively 135 133
Additional paid-in capital 181,747 177,718
Retained earnings 4,980 3,651
Total stockholders' equity 186,862 181,502
Total liabilities and stockholders' equity $ 394,820 $ 409,674
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Accounts receivable, allowance for doubtful accounts    
Accounts receivable, allowance for doubtful accounts $ 373 $ 640
Preferred stock    
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    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 40,000,000 40,000,000
Common stock, shares issued (in shares) 13,504,000 13,296,000
Common stock, shares outstanding (in shares) 13,504,000 13,296,000
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME        
Contract revenue $ 119,077 $ 102,645 $ 221,680 $ 194,483
Direct costs of contract revenue (inclusive of directly related depreciation and amortization):        
Salaries and wages 21,302 21,284 41,712 40,094
Subcontractor services and other direct costs 57,142 49,771 98,054 91,439
Total direct costs of contract revenue 78,444 71,055 139,766 131,533
General and administrative expenses:        
Salaries and wages, payroll taxes and employee benefits 22,416 20,439 44,801 39,796
Facilities and facility related 2,619 2,373 4,897 4,771
Stock-based compensation 1,287 1,714 2,820 5,019
Depreciation and amortization 4,128 4,426 8,328 8,835
Other 7,709 7,936 14,580 15,435
Total general and administrative expenses 38,159 36,888 75,426 73,856
Income (Loss) from operations 2,474 (5,298) 6,488 (10,906)
Other income (expense):        
Interest expense, net (2,207) (1,030) (4,673) (1,781)
Other, net 373 329 513 526
Total other expense, net (1,834) (701) (4,160) (1,255)
Income (Loss) before income taxes 640 (5,999) 2,328 (12,161)
Income tax (benefit) expense 243 (1,673) 999 (4,062)
Net income (loss) 397 (4,326) 1,329 (8,099)
Other comprehensive income (loss):        
Unrealized gain (loss) on derivative contracts, net of tax       38
Comprehensive income (loss) $ 397 $ (4,326) $ 1,329 $ (8,061)
Earnings (Loss) per share:        
Basic (in dollars per share) $ 0.03 $ (0.33) $ 0.10 $ (0.63)
Diluted (in dollars per share) $ 0.03 $ (0.33) $ 0.10 $ (0.63)
Weighted-average shares outstanding:        
Basic (in shares) 13,344 13,016 13,305 12,901
Diluted (in shares) 13,487 13,016 13,481 12,901
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Retained Earnings
Total
Balance at Dec. 31, 2021 $ 128 $ 167,032 $ (38) $ 12,099 $ 179,221
Balance (in shares) at Dec. 31, 2021 12,804        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,560     1,561
Shares of common stock issued in connection with employee stock purchase plan (in shares) 52        
Shares of common stock issued in connection with incentive stock plan   23     23
Shares of common stock issued in connection with incentive stock plan (in shares) 4        
Shares used to pay taxes on stock grants   (837)     (837)
Shares used to pay taxes on stock grants (in shares) (27)        
Issuance of restricted stock award and units $ 3 (3)      
Issuance of restricted stock award and units (in shares) 373        
Stock-based compensation expense   3,305     3,305
Net Income (Loss)       (3,773) (3,773)
Net unrealized gain on derivative contracts     38   38
Balance at Apr. 01, 2022 $ 132 171,080   8,326 179,538
Balance (in shares) at Apr. 01, 2022 13,206        
Balance at Dec. 31, 2021 $ 128 167,032 $ (38) 12,099 179,221
Balance (in shares) at Dec. 31, 2021 12,804        
Increase (Decrease) in Stockholders' Equity          
Net Income (Loss)         (8,099)
Balance at Jul. 01, 2022 $ 132 172,678   4,000 176,810
Balance (in shares) at Jul. 01, 2022 13,215        
Balance at Apr. 01, 2022 $ 132 171,080   8,326 179,538
Balance (in shares) at Apr. 01, 2022 13,206        
Increase (Decrease) in Stockholders' Equity          
Shares used to pay taxes on stock grants   (116)     (116)
Shares used to pay taxes on stock grants (in shares) (5)        
Issuance of restricted stock award and units (in shares) 14        
Stock-based compensation expense   1,714     1,714
Net Income (Loss)       (4,326) (4,326)
Balance at Jul. 01, 2022 $ 132 172,678   4,000 176,810
Balance (in shares) at Jul. 01, 2022 13,215        
Balance at Dec. 30, 2022 $ 133 177,718   3,651 $ 181,502
Balance (in shares) at Dec. 30, 2022 13,296       13,296
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with employee stock purchase plan $ 1 1,391     $ 1,392
Shares of common stock issued in connection with employee stock purchase plan (in shares) 92        
Shares used to pay taxes on stock grants   (124)     (124)
Shares used to pay taxes on stock grants (in shares) (7)        
Issuance of restricted stock award and units $ 1 (1)      
Issuance of restricted stock award and units (in shares) 108        
Stock-based compensation expense   1,533     1,533
Net Income (Loss)       932 932
Balance at Mar. 31, 2023 $ 135 180,517   4,583 185,235
Balance (in shares) at Mar. 31, 2023 13,489        
Balance at Dec. 30, 2022 $ 133 177,718   3,651 $ 181,502
Balance (in shares) at Dec. 30, 2022 13,296       13,296
Increase (Decrease) in Stockholders' Equity          
Net Income (Loss)         $ 1,329
Balance at Jun. 30, 2023 $ 135 181,747   4,980 $ 186,862
Balance (in shares) at Jun. 30, 2023 13,504       13,504
Balance at Mar. 31, 2023 $ 135 180,517   4,583 $ 185,235
Balance (in shares) at Mar. 31, 2023 13,489        
Increase (Decrease) in Stockholders' Equity          
Shares of common stock issued in connection with incentive stock plan   7     7
Shares of common stock issued in connection with incentive stock plan (in shares) 2        
Shares used to pay taxes on stock grants   (64)     (64)
Shares used to pay taxes on stock grants (in shares) (4)        
Issuance of restricted stock award and units (in shares) 17        
Stock-based compensation expense   1,287     1,287
Net Income (Loss)       397 397
Balance at Jun. 30, 2023 $ 135 $ 181,747   $ 4,980 $ 186,862
Balance (in shares) at Jun. 30, 2023 13,504       13,504
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Cash flows from operating activities:    
Net income (loss) $ 1,329 $ (8,099)
Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:    
Depreciation and amortization 8,328 8,835
Deferred income taxes, net 851 (2,842)
(Gain) loss on sale/disposal of equipment (50) (69)
Provision for doubtful accounts 146 107
Stock-based compensation 2,820 5,019
Accretion and fair value adjustments of contingent consideration   111
Changes in operating assets and liabilities, net of effects from business acquisitions:    
Accounts receivable 5,484 6,803
Contract assets 3,760 (1,889)
Other receivables 1,921 36
Prepaid expenses and other current assets 1,217 225
Other assets (4,987) (48)
Accounts payable 6,322 (8,859)
Accrued liabilities (11,477) (648)
Contract liabilities 2,365 (2,089)
Right-of-use assets 880 (162)
Net cash (used in) provided by operating activities 18,909 (3,569)
Cash flows from investing activities:    
Purchase of equipment, software, and leasehold improvements (5,762) (4,344)
Proceeds from sale of equipment 55 73
Net cash (used in) provided by investing activities (5,707) (4,271)
Cash flows from financing activities:    
Payments on contingent consideration (4,000) (10,206)
Payment on restricted cash (10,679)  
Payments on notes payable (971) (1,051)
Borrowings under term loan facility and line of credit 5,000 20,000
Repayments under term loan facility and line of credit (9,000) (6,500)
Principal payments on finance leases (599) (444)
Proceeds from stock option exercise 7 23
Proceeds from sales of common stock under employee stock purchase plan 1,392 1,561
Cash used to pay taxes on stock grants (188) (953)
Net cash (used in) provided by financing activities (19,038) 2,430
Net increase (decrease) in cash, cash equivalents and restricted cash (5,836) (5,410)
Cash, cash equivalents and restricted cash at beginning of period 19,485 11,221
Cash, cash equivalents and restricted cash at end of period 13,649 5,811
Cash paid (received) during the period for:    
Interest 4,464 1,584
Income taxes (1,696) 474
Supplemental disclosures of noncash investing and financing activities:    
Equipment acquired under finance leases $ 278 $ 1,431
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
ORGANIZATION AND OPERATIONS OF THE COMPANY
6 Months Ended
Jun. 30, 2023
ORGANIZATION AND OPERATIONS OF THE COMPANY  
ORGANIZATION AND OPERATIONS OF THE COMPANY

1. ORGANIZATION AND OPERATIONS OF THE COMPANY

Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions, greenhouse gas reduction, and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure for our clients.

The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2023, which ends on December 29, 2023, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2022, which ended on December 30, 2022, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

Credit Agreement Refinancing

As described in Note 5, “Debt Obligations”, and Part I, Item 3, “Quantitative and Qualitative Disclosures About Market Risk”, the Company’s current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, the Company’s Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under the Company’s Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024.

In accordance with ASC Topic 205, when preparing financial statements for each reporting period, the Company evaluates whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about the Company’s ability to continue as a going concern within one year after the date that the financial statements are issued. The Company considered its Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed its current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on that analysis, only as a result of the Company’s obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to the Company's ability to continue as a going concern within one year after the date that the Condensed Consolidated Financial Statements are issued.

The Company intends to refinance its Credit Agreement and has entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. The Company expects to finalize its refinancing efforts and enter into a new credit facility during the second half of fiscal 2023. Accordingly, the Company believes that its refinancing plan alleviates any substantial doubt about the Company's ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because it expects to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.

XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
RECENT ACCOUNTING PRONOUNCEMENTS
6 Months Ended
Jun. 30, 2023
RECENT ACCOUNTING PRONOUNCEMENTS  
RECENT ACCOUNTING PRONOUNCEMENTS

2. RECENT ACCOUNTING PRONOUNCEMENTS

As of June 30, 2023, there were no accounting pronouncements recently issued, or with future effective dates, that are either applicable nor are expected to have an impact to the Company’s Condensed Consolidated Financial Statements.

 

 

XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES
6 Months Ended
Jun. 30, 2023
REVENUES  
REVENUES

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, usually which is the life of the contract.

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of June 30, 2023 and December 30, 2022, contract assets included retainage of approximately $12.5 million and $8.5 million, respectively.

 

 

XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA
6 Months Ended
Jun. 30, 2023
SUPPLEMENTAL FINANCIAL STATEMENT DATA  
SUPPLEMENTAL FINANCIAL STATEMENT DATA

4. SUPPLEMENTAL FINANCIAL STATEMENT DATA

Restricted Cash

The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:

June 30,

December 30,

    

2023

    

2022

(in thousands)

Cash and cash equivalents

$

13,649

$

8,806

Restricted cash

 

 

10,679

Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows

$

13,649

$

19,485

 

Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”

Equipment and Leasehold Improvements

June 30,

December 30,

    

2023

    

2022

(in thousands)

Furniture and fixtures

$

4,188

$

4,062

Computer hardware and software

 

40,434

 

35,635

Leasehold improvements

 

3,832

 

3,097

Equipment under finance leases

 

5,588

 

5,503

Automobiles, trucks, and field equipment

 

3,135

 

3,134

Subtotal

 

57,177

 

51,431

Accumulated depreciation and amortization

 

(31,683)

 

(28,894)

Equipment and leasehold improvements, net

$

25,494

$

22,537

 

Included in accumulated depreciation and amortization is $0.6 million and $1.1 million of amortization expense related to equipment held under finance leases for the six months ended June 30, 2023 and for fiscal year 2022, respectively.

Accrued Liabilities

June 30,

December 30,

    

2023

    

2022

(in thousands)

Accrued subcontractor costs

$

21,927

$

28,374

Accrued bonuses

6,758

8,470

Employee withholdings

 

2,795

 

2,571

Compensation and payroll taxes

 

2,690

 

2,340

Rebate and other

303

14,643

Accrued accounting and taxes

 

2,481

 

2,712

Total accrued liabilities

$

36,954

$

59,110

 

Goodwill

December 30,

Additional

Additions /

June 30,

    

2022

    

Purchase Cost

    

Adjustments

    

2023

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

749

749

$

130,124

$

$

$

130,124

 

The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. During the quarter ended June 30, 2023, although the Company experienced declines in the market price of its stock, such decreases did not result in the Company’s market capitalization decreasing below book value. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of June 30, 2023.

Intangible Assets

June 30, 2023

December 30, 2022

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Tradename

$

15,911

$

11,986

$

15,911

$

10,990

 

2.5

-

6.0

Developed technology

15,810

13,332

15,810

11,871

8.0

Customer relationships

58,149

28,315

58,149

25,523

5.0

-

8.0

Total intangible assets

$

89,870

$

53,633

$

89,870

$

48,384

 

 

 

XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
DEBT OBLIGATIONS
6 Months Ended
Jun. 30, 2023
DEBT OBLIGATIONS  
DEBT OBLIGATIONS

5. DEBT OBLIGATIONS

Debt obligations, excluding obligations under finance leases (see Note 6, Leases, below), consisted of the following:

    

June 30,

    

December 30,

2023

2022

(in thousands)

Outstanding borrowings on Term A Loan

$

60,000

$

65,000

Outstanding borrowings on Revolving Credit Facility

5,000

Outstanding borrowings on Delayed Draw Term Loan

37,000

41,000

Other debt agreements

988

1,958

Total debt

102,988

107,958

Issuance costs and debt discounts

(350)

(511)

Subtotal

102,638

107,447

Less current portion of long-term debt

 

102,619

 

16,903

Long-term debt portion

$

19

$

90,544

 

Credit Facilities

On June 26, 2019, the Company and certain of its subsidiaries entered into an Amended and Restated Credit Agreement (as amended by the First Amendment, dated as of August 15, 2019, the Second Amendment, dated as of November 6, 2019, the Third Amendment, dated as of May 6, 2020, the Fourth Amendment, dated April 30, 2021, the Fifth Amendment, dated March 8, 2022, the Sixth Amendment, dated August 2, 2022, and the Seventh Amendment, dated November 1, 2022, the “Credit Agreement”) with a syndicate of financial institutions as lenders and BMO Harris Bank, N.A., as administrative agent (the “Administrative Agent”). The Credit Agreement provides for (i) a $100.0 million secured term loan (the “Term A Loan”), (ii) up to $50.0 million in delayed draw secured term loans (the “Delayed Draw Term Loan”), and (iii) a $50.0 million secured revolving credit facility (the “Revolving Credit Facility” and, collectively with the Term A Loan and the Delayed Draw Term Loan, the “Credit Facilities”), each maturing on June 26, 2024. The Company’s obligations under the Credit Agreement are guaranteed by its present and future domestic subsidiaries, with limited exceptions.

Pursuant to the terms of the Seventh Amendment to the Credit Agreement (the “Seventh Amendment”), among other things, (A) aggregate borrowings under the Revolving Credit Facility were restricted to no more than $10.0 million at any time during the period from November 1, 2022 through the date on which financial statements and compliance documents were received by the Administrative Agent for the fiscal quarter ending March 31, 2023, and (B) access to the accordion feature of the Credit Agreement was limited to periods when the Company’s Total Leverage Ratio (as defined in the Credit Agreement) was less than 3.0.

On April 28, 2023, the Company delivered to the Administrative Agent the required financial statements and compliance documents for the fiscal quarter ending March 31, 2023, reflecting full compliance with the restrictive covenants under the Credit Agreement, and thus effectively terminating the limitations on borrowing capacity and other restrictions imposed under the terms set by the Seventh Amendment.

Effective April 28, 2023, borrowings under the Credit Agreement bear interest at either a Base Rate (as defined in the Credit Agreement) or the Secured Overnight Financing Rate (“SOFR”), at the Company’s option, and in each case, plus an applicable margin, which applicable margin ranges from 0.125% to 1.25% with respect to Base Rate borrowings and 1.125% to 2.25% with respect to SOFR borrowings, depending on the Total Leverage Ratio; provided, that SOFR cannot be less than 0.00%, with the specific pricing reset on each date on which the Administrative Agent receives the required financial statements under the Credit Agreement for the fiscal quarter then ended. The Company

must also pay a commitment fee for the unused portion of the Revolving Credit Facility and the Delayed Draw Term Loan under the Credit Agreement, which ranges from 0.15% to 0.40% per annum depending on the Total Leverage Ratio, and fees on the face amount of any letters of credit outstanding under the Revolving Credit Facility, which range from 0.84% to 1.688% per annum, in each case, depending on whether such letter of credit is a performance or financial letter of credit and the Total Leverage Ratio.

The Credit Agreement requires the Company to comply with certain financial covenants, including requiring that the Company maintain a (i) Total Leverage Ratio of at least 3.25 to 1.00, and (ii) Fixed Charge Coverage Ratio (as defined in the Credit Agreement) of not less than 1.20 to 1.00, in each case tested quarterly. The Credit Agreement also contains customary events of default and contains other customary restrictive covenants.

As of June 30, 2023, the Company was in compliance with all covenants contained in the Credit Agreement.

Other Debt Agreements

The Company’s other debt agreements are related to financed insurance premiums, a financed software agreement, and a utility customer agreement and are immaterial to the Company’s Condensed Consolidated Financial Statements.

XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES
6 Months Ended
Jun. 30, 2023
LEASES  
LEASES

6. LEASES

The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through the year 2028. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through the year 2027.

From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from one to eight years, some of which may include options to extend the leases for up to five years, and some of which may include options to terminate the leases within one year. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of June 30, 2023, the Company had no leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.

Financing Leases

The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.

 

Right-of-use assets

Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that it will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.

The following is a summary of the Company’s lease expense:

Three Months Ended

Six Months Ended

June 30,

July 1,

June 30,

July 1,

2023

    

2022

    

2023

    

2022

(in thousands)

(in thousands)

Operating lease cost

$

1,664

$

1,534

$

3,157

$

3,112

Finance lease cost:

Amortization of assets

318

255

629

488

Interest on lease liabilities

24

15

46

29

Total net lease cost

$

2,006

$

1,804

$

3,832

$

3,629

 

The following is a summary of lease information presented on the Company’s consolidated balance sheet:

June 30,

    

December 30,

2023

2022

(in thousands)

Operating leases:

Right-of-use assets

$

13,894

$

12,390

 

 

Lease liability

$

4,877

$

4,625

Lease liability, less current portion

 

10,731

 

8,599

Total lease liabilities

$

15,608

$

13,224

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

5,588

$

5,503

Accumulated depreciation

 

(3,266)

 

(2,830)

Total equipment and leasehold improvements, net

$

2,322

$

2,673

 

Finance lease obligations

$

1,143

$

1,113

Finance lease obligations, less current portion

1,251

1,601

Total finance lease obligations

$

2,394

$

2,714

Weighted average remaining lease term (in years):

Operating Leases

3.60

3.35

Finance Leases

2.42

2.66

Weighted average discount rate:

Operating Leases

5.74

%

4.25

%

Finance Leases

4.06

%

3.47

%

 

Rent expense was $1.8 million and $3.4 million for the three and six months ended June 30, 2023, respectively, as compared to $1.7 million and $3.3 million for the three and six months ended July 1, 2022, respectively.

The following is a summary of other information and supplemental cash flow information related to finance and operating leases:

Six Months Ended

June 30,

July 1,

2023

    

2022

(in thousands)

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

Operating cash flow from operating leases

$

3,003

$

3,273

Operating cash flow from finance leases

46

29

Financing cash flow from finance leases

599

444

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

Operating leases

$

4,264

$

1,002

 

The following is a summary of the maturities of lease liabilities as of June 30, 2023:

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2023

$

2,793

$

681

2024

 

4,968

 

1,071

2025

 

3,988

472

2026

3,369

211

2027

1,519

 

80

2028 and thereafter

 

816

 

7

Total lease payments

17,453

2,522

Less: Imputed interest

 

(1,845)

(128)

Total lease obligations

 

15,608

2,394

Less: Current obligations

 

4,877

1,143

Noncurrent lease obligations

$

10,731

$

1,251

 

The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.

XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS AND VARIABLE INTEREST ENTITIES
6 Months Ended
Jun. 30, 2023
COMMITMENTS AND VARIABLE INTEREST ENTITIES  
COMMITMENTS AND VARIABLE INTEREST ENTITIES

7. COMMITMENTS AND VARIABLE INTEREST ENTITIES

Employee Benefit Plans

The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and qualified cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors.

The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts.

During each of the six months ended June 30, 2023 and July 1, 2022, the Company made matching contributions of $1.6 million.

Variable Interest Entities

On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, WES, acquired substantially all of the assets of Genesys and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.

Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES.

The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a VIE. In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of June 30, 2023, the Company had one VIE — Genesys.

XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION
6 Months Ended
Jun. 30, 2023
SEGMENT AND GEOGRAPHICAL INFORMATION  
SEGMENT AND GEOGRAPHICAL INFORMATION

8. SEGMENT AND GEOGRAPHICAL INFORMATION

Segment Information

The Company’s two segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format.

There were no intersegment sales during the three and six months ended June 30, 2023 and July 1, 2022. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.

Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended June 30, 2023

Contract revenue

$

98,015

$

21,062

$

-

$

-

$

119,077

Depreciation and amortization

3,877

251

-

-

4,128

Interest expense, net

1

-

2,206

-

2,207

Segment profit (loss) before income tax expense

603

3,218

(3,181)

-

640

Income tax expense (benefit)

207

1,332

(1,296)

-

243

Net income (loss)

397

1,885

(1,885)

-

397

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Three Months Ended July 1, 2022

Contract revenue

$

84,675

$

17,970

$

-

$

-

$

102,645

Depreciation and amortization

4,183

243

-

-

4,426

Interest expense, net

1

-

1,029

-

1,030

Segment profit (loss) before income tax expense

(6,357)

2,531

(2,173)

-

(5,999)

Income tax expense (benefit)

(1,891)

732

(514)

-

(1,673)

Net income (loss)

(4,467)

1,798

(1,657)

-

(4,326)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

Fiscal Six Months Ended June 30, 2023

Contract revenue

$

181,300

$

40,380

$

-

$

-

$

221,680

Depreciation and amortization

7,801

527

-

-

8,328

Interest expense, net

3

-

4,670

-

4,673

Segment profit (loss) before income tax expense

3,374

5,805

(6,851)

-

2,328

Income tax expense (benefit)

1,448

2,490

(2,939)

-

999

Net income (loss)

1,927

3,313

(3,911)

-

1,329

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Six Months Ended July 1, 2022

Contract revenue

$

159,561

$

34,922

$

-

$

-

$

194,483

Depreciation and amortization

8,340

495

-

-

8,835

Interest expense, net

5

-

1,776

-

1,781

Segment profit (loss) before income tax expense

(10,710)

4,638

(6,089)

-

(12,161)

Income tax expense (benefit)

(3,578)

1,549

(2,033)

-

(4,062)

Net income (loss)

(7,132)

3,088

(4,055)

-

(8,099)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

(1)Segment assets are presented net of intercompany receivables.

 

The following tables provide information about disaggregated revenue by contract type, client type and geographical region:

    

Three months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

8,947

$

16,443

$

25,390

Unit-based

39,900

3,818

43,718

Fixed price

49,168

801

49,969

Total (1)

$

98,015

$

21,062

$

119,077

Client Type

Commercial

$

7,440

$

1,376

$

8,816

Government

40,543

19,610

60,153

Utilities (2)

50,032

76

50,108

Total (1)

$

98,015

$

21,062

$

119,077

Geography (3)

Domestic

$

98,015

$

21,062

$

119,077

    

Six months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,656

$

30,997

$

47,653

Unit-based

84,827

7,434

92,261

Fixed price

79,817

1,949

81,766

Total (1)

$

181,300

$

40,380

$

221,680

Client Type

Commercial

$

14,159

$

2,540

$

16,699

Government

66,618

37,705

104,323

Utilities (2)

100,523

135

100,658

Total (1)

$

181,300

$

40,380

$

221,680

Geography (3)

Domestic

$

181,300

$

40,380

$

221,680

    

Three months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,587

$

13,340

$

20,927

Unit-based

42,544

3,755

46,299

Fixed price

34,545

874

35,419

Total (1)

$

84,675

$

17,970

$

102,645

Client Type

Commercial

$

6,701

$

1,476

$

8,177

Government

29,861

16,338

46,199

Utilities (2)

48,114

156

48,270

Total (1)

$

84,675

$

17,970

$

102,645

Geography (3)

Domestic

$

84,675

$

17,970

$

102,645

    

Six months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,405

$

26,341

$

42,746

Unit-based

85,501

6,739

92,240

Fixed price

57,655

1,842

59,497

Total (1)

$

159,561

$

34,922

$

194,483

Client Type

Commercial

$

14,790

$

2,954

$

17,744

Government

48,220

31,791

80,011

Utilities (2)

96,551

177

96,728

Total (1)

$

159,561

$

34,922

$

194,483

Geography (3)

Domestic

$

159,561

$

34,922

$

194,483

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and six months ended June 30, 2023 and July 1, 2022.

 

Geographical Information

Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and six months ended June 30, 2023 nor the three and six months ended July 1, 2022.

Customer Concentration

For the three and six months ended June 30, 2023, the Company’s top 10 customers accounted for 51.7%, and 51.4%, respectively, of the Company’s consolidated contract revenue. For the three and six months ended July 1, 2022, the Company’s top 10 customers accounted for 55.4%, and 54.4%, respectively, of the Company’s consolidated contract revenue.

For the three months ended June 30, 2023, the Company had two customers, Dormitory Authority-State New York (“DASNY”) and the Los Angeles Department of Water and Power (“LADWP”), that accounted for 10.7% and 10.3% of its consolidated contract revenues, respectively. For the six months ended June 30, 2023, the Company had one customer, LADWP, that accounted for 10.6% of its consolidated contract revenues. For the three and six months ended July 1, 2022, the Company had one customer, LADWP, that accounted for 14.6% and 15.8%, respectively, of its consolidated contract revenues.

On a segment basis, the Company had individual customers that accounted for more than 10% of its segment contract revenues. For the three months ended June 30, 2023, the Company had two customers, DASNY and LADWP, that accounted for 13.0% and 12.5% of its Energy segment revenues, respectively. For the six months ended June 30, 2023, the Company had two customers, LADWP and DASNY, that accounted for 13.0% and 11.6% of its Energy segment revenues, respectively. For the three and six months ended June 30, 2023, no single customer accounted for 10% or more of its Engineering and Consulting segment revenues. For the three and six months ended July 1, 2022, the Company derived 17.6% and 19.2%, respectively, of its Energy segment revenues from one customer, LADWP. For the three and six months ended July 1, 2022, no single customer accounted for 10% or more of its Engineering and Consulting segment revenues. 

On a geographical basis, the Company’s largest clients are based in California and New York. For the three and six months ended June 30, 2023, services provided to clients in California accounted for 41.4% and 41.9%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 26.1% and 25.3%, respectively, of the Company’s contract revenue. For the three and six months ended July 1, 2022, services provided to clients in California accounted for 40.9% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 19.6% and 20.2%, respectively, of the Company’s contract revenue.

XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES
6 Months Ended
Jun. 30, 2023
INCOME TAXES  
INCOME TAXES

9. INCOME TAXES

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.

At the end of fiscal year 2022, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2021. As of June 30, 2023, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of June 30, 2023, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and six months ended June 30, 2023.

For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.

The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and six months ended June 30, 2023, and three and six months ended July 1, 2022, the Company did not record a liability for uncertain tax positions.

Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.0 million for the three and six months ended June 30, 2023, respectively, as compared to an income tax benefit of $1.7 million and $4.1 million for the three and six months ended April 1, 2022, respectively. During the three and six months ended June 30, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction. During the three and six months ended July 1, 2022, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction.

XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
EARNINGS PER SHARE (EPS)
6 Months Ended
Jun. 30, 2023
EARNINGS PER SHARE (EPS)  
EARNINGS PER SHARE (EPS)

10. EARNINGS PER SHARE (“EPS”)

Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.

The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:

Three months ended

Six months ended

June 30,

July 1,

June 30,

July 1,

    

2023

    

2022

    

2023

    

2022

(in thousands, except per share amounts)

Net income (loss)

$

397

$

(4,326)

$

1,329

$

(8,099)

Weighted-average common shares outstanding

 

13,344

 

13,016

 

13,305

 

12,901

Effect of dilutive stock options and restricted stock awards

 

143

 

 

176

 

Weighted-average common shares outstanding-diluted

 

13,487

 

13,016

 

13,481

 

12,901

Earnings (Loss) per share:

Basic

$

0.03

$

(0.33)

$

0.10

$

(0.63)

Diluted

$

0.03

$

(0.33)

$

0.10

$

(0.63)

 

For the three and six months ended June 30, 2023, the Company excluded 451,000 and 433,000 common shares, respectively, subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and six months ended July 1, 2022, the Company reported a net loss, and accordingly, all outstanding equity awards have been excluded from such periods because including them would have been anti-dilutive.

XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
CONTINGENCIES
6 Months Ended
Jun. 30, 2023
CONTINGENCIES  
CONTINGENCIES

11. CONTINGENCIES

Claims and Lawsuits

The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.

In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.

Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.

XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
SUBSEQUENT EVENTS
6 Months Ended
Jun. 30, 2023
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

12. SUBSEQUENT EVENTS

In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued. As of August 3, 2023, there were no subsequent events required to be reported.

XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)
6 Months Ended
Jun. 30, 2023
ORGANIZATION AND OPERATIONS OF THE COMPANY  
Basis of Presentation

The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, Organization and Operations of the Company, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.

Fiscal Years

Fiscal Years

The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2023, which ends on December 29, 2023, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2022, which ended on December 30, 2022, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.

Use of Estimates

Use of Estimates

The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

Credit Agreement Refinancing

Credit Agreement Refinancing

As described in Note 5, “Debt Obligations”, and Part I, Item 3, “Quantitative and Qualitative Disclosures About Market Risk”, the Company’s current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, the Company’s Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under the Company’s Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024.

In accordance with ASC Topic 205, when preparing financial statements for each reporting period, the Company evaluates whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about the Company’s ability to continue as a going concern within one year after the date that the financial statements are issued. The Company considered its Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed its current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on that analysis, only as a result of the Company’s obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to the Company's ability to continue as a going concern within one year after the date that the Condensed Consolidated Financial Statements are issued.

The Company intends to refinance its Credit Agreement and has entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. The Company expects to finalize its refinancing efforts and enter into a new credit facility during the second half of fiscal 2023. Accordingly, the Company believes that its refinancing plan alleviates any substantial doubt about the Company's ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because it expects to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.

Accounting Pronouncements Recently Adopted

As of June 30, 2023, there were no accounting pronouncements recently issued, or with future effective dates, that are either applicable nor are expected to have an impact to the Company’s Condensed Consolidated Financial Statements.

 

Revenue Recognition

3. REVENUES

The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.

The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.

Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, usually which is the life of the contract.

To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.

The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately 2.0% to 3.0% of the Company’s consolidated contract revenue.

Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.

The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.

In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.

Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.

Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.

The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.

Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.

For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.

The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.

Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.

Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.

Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.

Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.

Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.

Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of June 30, 2023 and December 30, 2022, contract assets included retainage of approximately $12.5 million and $8.5 million, respectively.

 

XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES (Tables)
6 Months Ended
Jun. 30, 2023
REVENUES  
Schedule of Contracts by Reportable Segments and Type of Contracts

Segment

Contract Type

Revenue Recognition Method

Time-and-materials

Time-and-materials

Energy

Unit-based

Unit-based

Software license

Unit-based

Fixed price

Percentage-of-completion

Time-and-materials

Time-and-materials

Engineering and Consulting

Unit-based

Unit-based

Fixed price

Percentage-of-completion

 

XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)
6 Months Ended
Jun. 30, 2023
SUPPLEMENTAL FINANCIAL STATEMENT DATA  
Schedule of reconciliation of cash and cash equivalents, and restricted cash

June 30,

December 30,

    

2023

    

2022

(in thousands)

Cash and cash equivalents

$

13,649

$

8,806

Restricted cash

 

 

10,679

Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows

$

13,649

$

19,485

 

Schedule of equipment and leasehold improvements

June 30,

December 30,

    

2023

    

2022

(in thousands)

Furniture and fixtures

$

4,188

$

4,062

Computer hardware and software

 

40,434

 

35,635

Leasehold improvements

 

3,832

 

3,097

Equipment under finance leases

 

5,588

 

5,503

Automobiles, trucks, and field equipment

 

3,135

 

3,134

Subtotal

 

57,177

 

51,431

Accumulated depreciation and amortization

 

(31,683)

 

(28,894)

Equipment and leasehold improvements, net

$

25,494

$

22,537

 

Schedule of accrued liabilities

June 30,

December 30,

    

2023

    

2022

(in thousands)

Accrued subcontractor costs

$

21,927

$

28,374

Accrued bonuses

6,758

8,470

Employee withholdings

 

2,795

 

2,571

Compensation and payroll taxes

 

2,690

 

2,340

Rebate and other

303

14,643

Accrued accounting and taxes

 

2,481

 

2,712

Total accrued liabilities

$

36,954

$

59,110

 

Schedule of changes in the carrying value of goodwill by reporting unit

December 30,

Additional

Additions /

June 30,

    

2022

    

Purchase Cost

    

Adjustments

    

2023

(in thousands)

Reporting Unit:

Energy

$

129,375

$

$

$

129,375

Engineering and Consulting

749

749

$

130,124

$

$

$

130,124

 

Schedule of gross amounts and accumulated amortization of acquired identifiable intangible assets with finite useful lives

June 30, 2023

December 30, 2022

Gross

Accumulated

Gross

Accumulated

Amortization

    

Amount

    

Amortization

    

Amount

    

Amortization

    

Period

(in thousands)

(in years)

Finite:

Tradename

$

15,911

$

11,986

$

15,911

$

10,990

 

2.5

-

6.0

Developed technology

15,810

13,332

15,810

11,871

8.0

Customer relationships

58,149

28,315

58,149

25,523

5.0

-

8.0

Total intangible assets

$

89,870

$

53,633

$

89,870

$

48,384

 

XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
DEBT OBLIGATIONS (Tables)
6 Months Ended
Jun. 30, 2023
DEBT OBLIGATIONS  
Schedule of debt obligations, excluding obligations under capital leases

    

June 30,

    

December 30,

2023

2022

(in thousands)

Outstanding borrowings on Term A Loan

$

60,000

$

65,000

Outstanding borrowings on Revolving Credit Facility

5,000

Outstanding borrowings on Delayed Draw Term Loan

37,000

41,000

Other debt agreements

988

1,958

Total debt

102,988

107,958

Issuance costs and debt discounts

(350)

(511)

Subtotal

102,638

107,447

Less current portion of long-term debt

 

102,619

 

16,903

Long-term debt portion

$

19

$

90,544

 

XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES (Tables)
6 Months Ended
Jun. 30, 2023
LEASES  
Summary of the Lease Expense

Three Months Ended

Six Months Ended

June 30,

July 1,

June 30,

July 1,

2023

    

2022

    

2023

    

2022

(in thousands)

(in thousands)

Operating lease cost

$

1,664

$

1,534

$

3,157

$

3,112

Finance lease cost:

Amortization of assets

318

255

629

488

Interest on lease liabilities

24

15

46

29

Total net lease cost

$

2,006

$

1,804

$

3,832

$

3,629

 

Summary of Lease Information Presented on the Condensed Consolidated Balance Sheet

June 30,

    

December 30,

2023

2022

(in thousands)

Operating leases:

Right-of-use assets

$

13,894

$

12,390

 

 

Lease liability

$

4,877

$

4,625

Lease liability, less current portion

 

10,731

 

8,599

Total lease liabilities

$

15,608

$

13,224

 

 

Finance leases (included in equipment and leasehold improvements, net):

Equipment and leasehold improvements, net

$

5,588

$

5,503

Accumulated depreciation

 

(3,266)

 

(2,830)

Total equipment and leasehold improvements, net

$

2,322

$

2,673

 

Finance lease obligations

$

1,143

$

1,113

Finance lease obligations, less current portion

1,251

1,601

Total finance lease obligations

$

2,394

$

2,714

Weighted average remaining lease term (in years):

Operating Leases

3.60

3.35

Finance Leases

2.42

2.66

Weighted average discount rate:

Operating Leases

5.74

%

4.25

%

Finance Leases

4.06

%

3.47

%

 

Summary of Other Information and Supplemental Cash Flow Information Related to Finance and Operating Leases

Six Months Ended

June 30,

July 1,

2023

    

2022

(in thousands)

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

Operating cash flow from operating leases

$

3,003

$

3,273

Operating cash flow from finance leases

46

29

Financing cash flow from finance leases

599

444

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

Operating leases

$

4,264

$

1,002

 

Summary of the Maturities of Operating Lease Liabilities

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2023

$

2,793

$

681

2024

 

4,968

 

1,071

2025

 

3,988

472

2026

3,369

211

2027

1,519

 

80

2028 and thereafter

 

816

 

7

Total lease payments

17,453

2,522

Less: Imputed interest

 

(1,845)

(128)

Total lease obligations

 

15,608

2,394

Less: Current obligations

 

4,877

1,143

Noncurrent lease obligations

$

10,731

$

1,251

 

Summary of the Maturities of Finance Lease Liabilities

    

Operating

    

Finance

 

(in thousands)

Fiscal year:

Remainder of 2023

$

2,793

$

681

2024

 

4,968

 

1,071

2025

 

3,988

472

2026

3,369

211

2027

1,519

 

80

2028 and thereafter

 

816

 

7

Total lease payments

17,453

2,522

Less: Imputed interest

 

(1,845)

(128)

Total lease obligations

 

15,608

2,394

Less: Current obligations

 

4,877

1,143

Noncurrent lease obligations

$

10,731

$

1,251

 

XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)
6 Months Ended
Jun. 30, 2023
SEGMENT AND GEOGRAPHICAL INFORMATION  
Schedule of financial information with respect to the reportable segments

Engineering

Unallocated

Consolidated

    

Energy

    

& Consulting

    

Corporate

    

Intersegment

    

Total

(in thousands)

Fiscal Three Months Ended June 30, 2023

Contract revenue

$

98,015

$

21,062

$

-

$

-

$

119,077

Depreciation and amortization

3,877

251

-

-

4,128

Interest expense, net

1

-

2,206

-

2,207

Segment profit (loss) before income tax expense

603

3,218

(3,181)

-

640

Income tax expense (benefit)

207

1,332

(1,296)

-

243

Net income (loss)

397

1,885

(1,885)

-

397

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Three Months Ended July 1, 2022

Contract revenue

$

84,675

$

17,970

$

-

$

-

$

102,645

Depreciation and amortization

4,183

243

-

-

4,426

Interest expense, net

1

-

1,029

-

1,030

Segment profit (loss) before income tax expense

(6,357)

2,531

(2,173)

-

(5,999)

Income tax expense (benefit)

(1,891)

732

(514)

-

(1,673)

Net income (loss)

(4,467)

1,798

(1,657)

-

(4,326)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

Fiscal Six Months Ended June 30, 2023

Contract revenue

$

181,300

$

40,380

$

-

$

-

$

221,680

Depreciation and amortization

7,801

527

-

-

8,328

Interest expense, net

3

-

4,670

-

4,673

Segment profit (loss) before income tax expense

3,374

5,805

(6,851)

-

2,328

Income tax expense (benefit)

1,448

2,490

(2,939)

-

999

Net income (loss)

1,927

3,313

(3,911)

-

1,329

Segment assets (1)

333,136

23,851

60,963

(23,130)

394,820

Fiscal Six Months Ended July 1, 2022

Contract revenue

$

159,561

$

34,922

$

-

$

-

$

194,483

Depreciation and amortization

8,340

495

-

-

8,835

Interest expense, net

5

-

1,776

-

1,781

Segment profit (loss) before income tax expense

(10,710)

4,638

(6,089)

-

(12,161)

Income tax expense (benefit)

(3,578)

1,549

(2,033)

-

(4,062)

Net income (loss)

(7,132)

3,088

(4,055)

-

(8,099)

Segment assets (1)

323,070

23,293

58,650

(23,130)

381,883

(1)Segment assets are presented net of intercompany receivables.

 

Schedule of disaggregation of revenue

    

Three months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

8,947

$

16,443

$

25,390

Unit-based

39,900

3,818

43,718

Fixed price

49,168

801

49,969

Total (1)

$

98,015

$

21,062

$

119,077

Client Type

Commercial

$

7,440

$

1,376

$

8,816

Government

40,543

19,610

60,153

Utilities (2)

50,032

76

50,108

Total (1)

$

98,015

$

21,062

$

119,077

Geography (3)

Domestic

$

98,015

$

21,062

$

119,077

    

Six months ended June 30, 2023

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,656

$

30,997

$

47,653

Unit-based

84,827

7,434

92,261

Fixed price

79,817

1,949

81,766

Total (1)

$

181,300

$

40,380

$

221,680

Client Type

Commercial

$

14,159

$

2,540

$

16,699

Government

66,618

37,705

104,323

Utilities (2)

100,523

135

100,658

Total (1)

$

181,300

$

40,380

$

221,680

Geography (3)

Domestic

$

181,300

$

40,380

$

221,680

    

Three months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

7,587

$

13,340

$

20,927

Unit-based

42,544

3,755

46,299

Fixed price

34,545

874

35,419

Total (1)

$

84,675

$

17,970

$

102,645

Client Type

Commercial

$

6,701

$

1,476

$

8,177

Government

29,861

16,338

46,199

Utilities (2)

48,114

156

48,270

Total (1)

$

84,675

$

17,970

$

102,645

Geography (3)

Domestic

$

84,675

$

17,970

$

102,645

    

Six months ended July 1, 2022

    

Energy

    

Engineering and
Consulting

    

Total

    

(in thousands)

Contract Type

Time-and-materials

$

16,405

$

26,341

$

42,746

Unit-based

85,501

6,739

92,240

Fixed price

57,655

1,842

59,497

Total (1)

$

159,561

$

34,922

$

194,483

Client Type

Commercial

$

14,790

$

2,954

$

17,744

Government

48,220

31,791

80,011

Utilities (2)

96,551

177

96,728

Total (1)

$

159,561

$

34,922

$

194,483

Geography (3)

Domestic

$

159,561

$

34,922

$

194,483

(1)Amounts may not add to the totals due to rounding.
(2)Includes the portion of revenue related to small business programs paid by the end user/customer.
(3)Revenue from the Company’s foreign operations were not material for the three and six months ended June 30, 2023 and July 1, 2022.

 

XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
EARNINGS PER SHARE (EPS) (Tables)
6 Months Ended
Jun. 30, 2023
EARNINGS PER SHARE (EPS)  
Schedule of number of weighted-average common shares outstanding used to compute basic and diluted EPS

Three months ended

Six months ended

June 30,

July 1,

June 30,

July 1,

    

2023

    

2022

    

2023

    

2022

(in thousands, except per share amounts)

Net income (loss)

$

397

$

(4,326)

$

1,329

$

(8,099)

Weighted-average common shares outstanding

 

13,344

 

13,016

 

13,305

 

12,901

Effect of dilutive stock options and restricted stock awards

 

143

 

 

176

 

Weighted-average common shares outstanding-diluted

 

13,487

 

13,016

 

13,481

 

12,901

Earnings (Loss) per share:

Basic

$

0.03

$

(0.33)

$

0.10

$

(0.63)

Diluted

$

0.03

$

(0.33)

$

0.10

$

(0.63)

 

XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details)
6 Months Ended
Jun. 30, 2023
segment
Segment Information  
Number of reporting segments 2
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)
3 Months Ended 12 Months Ended
Dec. 29, 2023
Sep. 29, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 30, 2022
Sep. 30, 2022
Jul. 01, 2022
Apr. 01, 2022
Dec. 29, 2023
Dec. 30, 2022
Entity Information                    
Length of fiscal period 91 days 91 days 91 days 91 days 91 days 91 days 91 days 91 days 364 days 364 days
Minimum                    
Entity Information                    
Length of fiscal period       91 days         364 days  
Maximum                    
Entity Information                    
Length of fiscal period       98 days         371 days  
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details) - Notes Payable to Banks
$ in Millions
6 Months Ended
Jun. 30, 2023
USD ($)
Term A Loan  
Debt Instrument [Line Items]  
Periodic payment of principal $ 2.5
Delayed Draw Term Loan Facility  
Debt Instrument [Line Items]  
Annual amortization of debt (as a percent) 2.50%
New financing facility  
Debt Instrument [Line Items]  
Term of debt 3 years
Percentage of existing credit agreement replaced 100.00%
New financing facility | Minimum  
Debt Instrument [Line Items]  
Extended maturity term 2 years
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES - Segment Information (Details)
6 Months Ended
Jun. 30, 2023
segment
Segment Information  
Number of reporting segments 2
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUES - General Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Dec. 30, 2022
Revenue          
Payroll taxes, bonuses and employee benefit costs for all Company personnel $ 22,416 $ 20,439 $ 44,801 $ 39,796  
Revenue of the entity recorded in which it acts solely in the capacity of an agent     0    
Retained accounts receivable $ 12,500   $ 12,500   $ 8,500
Maximum          
Revenue          
Percent of revenue (as a percent) 3.00%   3.00%    
Minimum          
Revenue          
Percent of revenue (as a percent) 2.00%   2.00%    
Cost of Sales          
Revenue          
Payroll taxes, bonuses and employee benefit costs for all Company personnel     $ 0    
Allocation of facilities costs to contract revenue     $ 0    
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Jul. 01, 2022
Dec. 31, 2021
Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents        
Cash and cash equivalents $ 13,649 $ 8,806    
Restricted cash   10,679    
Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows $ 13,649 $ 19,485 $ 5,811 $ 11,221
Restricted Cash, Statement of Financial Position Restricted cash Restricted cash    
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Equipment and Leasehold Improvements    
Equipment under finance leases $ 5,588 $ 5,503
Equipment and leasehold improvements, gross 57,177 51,431
Accumulated depreciation and amortization (31,683) (28,894)
Total equipment and leasehold improvements, net 25,494 22,537
Furniture and Fixtures    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 4,188 4,062
Computer Hardware and Software    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 40,434 35,635
Leasehold Improvements    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements 3,832 3,097
Automobiles Trucks and Field Equipment    
Equipment and Leasehold Improvements    
Equipment and leasehold improvements $ 3,135 $ 3,134
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Dec. 30, 2022
Amortization Expense          
Amortization expense $ 318 $ 255 $ 629 $ 488 $ 1,100
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Accrued Liabilities    
Accrued subcontractor costs $ 21,927 $ 28,374
Accrued bonuses 6,758 8,470
Employee withholdings 2,795 2,571
Compensation and payroll taxes 2,690 2,340
Rebate and other 303 14,643
Accrued accounting and taxes 2,481 2,712
Total accrued liabilities $ 36,954 $ 59,110
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
Changes in carrying value of goodwill  
Goodwill at beginning of period $ 130,124
Goodwill at end of period 130,124
Energy  
Changes in carrying value of goodwill  
Goodwill at beginning of period 129,375
Goodwill at end of period 129,375
Engineering and Consulting  
Changes in carrying value of goodwill  
Goodwill at beginning of period 749
Goodwill at end of period $ 749
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Finite-Lived Intangible Assets    
Total finite intangible assets $ 89,870 $ 89,870
Accumulated Amortization 53,633 48,384
Trade Names    
Finite-Lived Intangible Assets    
Total finite intangible assets 15,911 15,911
Accumulated Amortization 11,986 10,990
Developed Technology Rights    
Finite-Lived Intangible Assets    
Total finite intangible assets 15,810 15,810
Accumulated Amortization 13,332 11,871
Customer Relationships    
Finite-Lived Intangible Assets    
Total finite intangible assets 58,149 58,149
Accumulated Amortization $ 28,315 $ 25,523
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)
Jun. 30, 2023
Trade Names | Minimum  
Finite-Lived Intangible Assets  
Amortization Period 2 years 6 months
Trade Names | Maximum  
Finite-Lived Intangible Assets  
Amortization Period 6 years
Developed Technology Rights  
Finite-Lived Intangible Assets  
Amortization Period 8 years
Customer Relationships | Minimum  
Finite-Lived Intangible Assets  
Amortization Period 5 years
Customer Relationships | Maximum  
Finite-Lived Intangible Assets  
Amortization Period 8 years
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
DEBT OBLIGATIONS - Composition (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Debt Obligations    
Total debt $ 102,988 $ 107,958
Issuance costs and debt discounts (350) (511)
Subtotal - total debt principal 102,638 107,447
Notes Payable to Banks | Term A Loan    
Debt Obligations    
Total debt 60,000 65,000
Notes Payable to Banks | Revolving Credit Facility    
Debt Obligations    
Total debt 5,000  
Notes Payable to Banks | Delayed Draw Term Loan Facility    
Debt Obligations    
Total debt 37,000 41,000
Notes Payable, Other Payables | Other Debt    
Debt Obligations    
Total debt $ 988 $ 1,958
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
DEBT OBLIGATIONS - Classification (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Debt Obligations    
Subtotal $ 102,638 $ 107,447
Less current portion of long-term debt 102,619 16,903
Long-term debt portion $ 19 $ 90,544
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
DEBT OBLIGATIONS - Credit Facilities (Details) - Notes Payable to Banks
$ in Millions
Apr. 28, 2023
Nov. 01, 2022
USD ($)
Jun. 26, 2019
USD ($)
Credit Agreement 2019      
Debt Obligations      
Debt instrument, covenants, total leverage ratio, maximum permitted to maintain 3.25    
Debt Instrument, Covenants, Minimum Fixed Charge Coverage Ratio 1.20    
Credit Agreement 2019 | Minimum      
Debt Obligations      
Commitment fee (as a percent) 0.15%    
Credit Agreement 2019 | Maximum      
Debt Obligations      
Commitment fee (as a percent) 0.40%    
Credit Agreement 2019 | Base Rate | Minimum      
Debt Obligations      
Spread on floating interest rate (as a percent) 0.125%    
Credit Agreement 2019 | Base Rate | Maximum      
Debt Obligations      
Spread on floating interest rate (as a percent) 1.25%    
Credit Agreement 2019 | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate | Minimum      
Debt Obligations      
Spread on floating interest rate (as a percent) 1.125%    
Interest rate (as a percent) 0.00%    
Credit Agreement 2019 | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate | Maximum      
Debt Obligations      
Spread on floating interest rate (as a percent) 2.25%    
Term A Loan      
Debt Obligations      
Initial outstanding principal     $ 100.0
Revolving Credit Facility      
Debt Obligations      
Maximum borrowing capacity     50.0
Maximum borrowing capacity during the period from November 1, 2022 through the date on which financial statements and compliance documents have been received by the Administrative Agent for the fiscal quarter ending March 31, 2023   $ 10.0  
Debt instrument, covenants, Total Leverage Ratio, access to accordion feature, high end of range   3.0  
Letter of Credit | Minimum      
Debt Obligations      
Commitment fee (as a percent) 0.84%    
Letter of Credit | Maximum      
Debt Obligations      
Commitment fee (as a percent) 1.688%    
Delayed Draw Term Loan Facility      
Debt Obligations      
Maximum borrowing capacity     $ 50.0
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - General Information (Details)
$ in Thousands
6 Months Ended
Jun. 30, 2023
USD ($)
Leases  
Operating lease, option to extend true
Operating lease, option to terminate true
Residual value guarantee $ 0
Minimum  
Leases  
Operating lease, remaining lease term 1 year
Maximum  
Leases  
Operating lease, remaining lease term 8 years
Operating lease, extension term 5 years
Operating lease, terminate term 1 year
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Dec. 30, 2022
Lease cost          
Operating lease cost $ 1,664 $ 1,534 $ 3,157 $ 3,112  
Amortization of assets 318 255 629 488 $ 1,100
Interest on lease liabilities 24 15 46 29  
Total net lease cost $ 2,006 $ 1,804 $ 3,832 $ 3,629  
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Consolidated Balance Sheet (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Leases    
Right-of-use assets $ 13,894 $ 12,390
Operating leases, lease liabilities    
Lease liability 4,877 4,625
Lease liability, less current portion 10,731 8,599
Total lease liabilities 15,608 13,224
Finance leases (included in equipment and leasehold improvements, net):    
Equipment and leasehold improvements, net 5,588 5,503
Accumulated depreciation (3,266) (2,830)
Total equipment and leasehold improvements, net $ 2,322 $ 2,673
Finance Lease, Right-of-Use Asset, Statement of Financial Position Equipment and leasehold improvements, net Equipment and leasehold improvements, net
Finance lease obligations    
Finance lease obligations $ 1,143 $ 1,113
Finance lease obligations, less current portion 1,251 1,601
Total finance lease obligations $ 2,394 $ 2,714
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Additional Information (Details)
Jun. 30, 2023
Dec. 30, 2022
Leases    
Operating leases, weighted average remaining lease term 3 years 7 months 6 days 3 years 4 months 6 days
Finance leases, weighted average remaining lease term 2 years 5 months 1 day 2 years 7 months 28 days
Operating leases, weighted average discount rate 5.74% 4.25%
Finance leases, weighted average discount rate 4.06% 3.47%
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Rent Expense (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
LEASES        
Rent expenses $ 1.8 $ 1.7 $ 3.4 $ 3.3
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Cash paid for amounts included in the measurement of lease liabilities:    
Operating cash flow from operating leases $ 3,003 $ 3,273
Operating cash flow from finance leases 46 29
Financing cash flow from finance leases 599 444
Right-of-use assets obtained in exchange for lease liabilities for operating leases $ 4,264 $ 1,002
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Operating Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
Operating  
Remainder of 2023 $ 2,793
2024 4,968
2025 3,988
2026 3,369
2027 1,519
2028 and thereafter 816
Total lease payments $ 17,453
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Operating Leases - Gross Difference (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Operating    
Total lease payments $ 17,453  
Less: Imputed interest (1,845)  
Total lease liabilities 15,608 $ 13,224
Less: Current obligations 4,877 4,625
Noncurrent lease obligations $ 10,731 $ 8,599
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Finance Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Jun. 30, 2023
USD ($)
Finance  
Remainder of 2023 $ 681
2024 1,071
2025 472
2026 211
2027 80
2028 and thereafter 7
Total lease payments $ 2,522
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.2
LEASES - Finance Leases - Gross Difference (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Finance    
Total lease payments $ 2,522  
Less: Imputed interest (128)  
Total finance lease obligations 2,394 $ 2,714
Less: Current obligations 1,143 1,113
Noncurrent lease obligations $ 1,251 $ 1,601
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)
6 Months Ended
Jun. 30, 2023
USD ($)
Y
Jul. 01, 2022
USD ($)
Qualified Cash or Deferred Arrangement    
Employee Benefit Plans    
Maximum employee contribution as a percentage of compensation under 401(k) Plan (as a percent) 50.00%  
Defined Contribution Plan, Tax Status us-gaap:QualifiedPlanMember  
Defined Contribution Plan    
Employee Benefit Plans    
Service period 3 months  
Attained age | Y 21  
Defined contribution plan, employer matching contribution, percent of match (as a percent) 50.00%  
Defined contribution plan, employer matching contribution, percent of employees' gross pay (as a percent) 6.00%  
Maximum employer contribution per employee $ 3,000  
Employer matching contributions $ 1,600,000 $ 1,600,000
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.2
COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)
6 Months Ended
Jun. 30, 2023
entity
COMMITMENTS AND VARIABLE INTEREST ENTITIES  
Number of VIEs 1
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details)
6 Months Ended
Jun. 30, 2023
segment
Segment Information  
Number of reporting segments 2
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jul. 01, 2022
Apr. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Segment reconciliation            
Contract revenue $ 119,077   $ 102,645   $ 221,680 $ 194,483
Depreciation and amortization 4,128   4,426   8,328 8,835
Interest expense, net 2,207   1,030   4,673 1,781
Segment profit (loss) before income tax expense 640   (5,999)   2,328 (12,161)
Income tax expense (benefit) 243   (1,673)   999 (4,062)
Net Income (Loss) 397 $ 932 (4,326) $ (3,773) 1,329 (8,099)
Energy            
Segment reconciliation            
Contract revenue 98,015   84,675   181,300 159,561
Engineering and Consulting            
Segment reconciliation            
Contract revenue 21,062   17,970   40,380 34,922
Operating Segments | Energy            
Segment reconciliation            
Contract revenue 98,015   84,675   181,300 159,561
Depreciation and amortization 3,877   4,183   7,801 8,340
Interest expense, net 1   1   3 5
Segment profit (loss) before income tax expense 603   (6,357)   3,374 (10,710)
Income tax expense (benefit) 207   (1,891)   1,448 (3,578)
Net Income (Loss) 397   (4,467)   1,927 (7,132)
Operating Segments | Engineering and Consulting            
Segment reconciliation            
Contract revenue 21,062   17,970   40,380 34,922
Depreciation and amortization 251   243   527 495
Segment profit (loss) before income tax expense 3,218   2,531   5,805 4,638
Income tax expense (benefit) 1,332   732   2,490 1,549
Net Income (Loss) 1,885   1,798   3,313 3,088
Corporate, Non-Segment            
Segment reconciliation            
Interest expense, net 2,206   1,029   4,670 1,776
Segment profit (loss) before income tax expense (3,181)   (2,173)   (6,851) (6,089)
Income tax expense (benefit) (1,296)   (514)   (2,939) (2,033)
Net Income (Loss) $ (1,885)   $ (1,657)   $ (3,911) $ (4,055)
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Dec. 30, 2022
Jul. 01, 2022
Segment Reporting      
Segment assets $ 394,820 $ 409,674 $ 381,883
Operating Segments | Energy      
Segment Reporting      
Segment assets 333,136   323,070
Operating Segments | Engineering and Consulting      
Segment Reporting      
Segment assets 23,851   23,293
Corporate, Non-Segment      
Segment Reporting      
Segment assets 60,963   58,650
Intersegment Eliminations      
Segment Reporting      
Segment assets $ (23,130)   $ (23,130)
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Revenue        
Revenue $ 119,077 $ 102,645 $ 221,680 $ 194,483
Domestic        
Revenue        
Revenue 119,077 102,645 221,680 194,483
Energy        
Revenue        
Revenue 98,015 84,675 181,300 159,561
Energy | Domestic        
Revenue        
Revenue 98,015 84,675 181,300 159,561
Engineering and Consulting        
Revenue        
Revenue 21,062 17,970 40,380 34,922
Engineering and Consulting | Domestic        
Revenue        
Revenue 21,062 17,970 40,380 34,922
Commercial        
Revenue        
Revenue 8,816 8,177 16,699 17,744
Commercial | Energy        
Revenue        
Revenue 7,440 6,701 14,159 14,790
Commercial | Engineering and Consulting        
Revenue        
Revenue 1,376 1,476 2,540 2,954
Government        
Revenue        
Revenue 60,153 46,199 104,323 80,011
Government | Energy        
Revenue        
Revenue 40,543 29,861 66,618 48,220
Government | Engineering and Consulting        
Revenue        
Revenue 19,610 16,338 37,705 31,791
Utilities        
Revenue        
Revenue 50,108 48,270 100,658 96,728
Utilities | Energy        
Revenue        
Revenue 50,032 48,114 100,523 96,551
Utilities | Engineering and Consulting        
Revenue        
Revenue 76 156 135 177
Time-and-Materials Contract        
Revenue        
Revenue 25,390 20,927 47,653 42,746
Time-and-Materials Contract | Energy        
Revenue        
Revenue 8,947 7,587 16,656 16,405
Time-and-Materials Contract | Engineering and Consulting        
Revenue        
Revenue 16,443 13,340 30,997 26,341
Unit-based Contract        
Revenue        
Revenue 43,718 46,299 92,261 92,240
Unit-based Contract | Energy        
Revenue        
Revenue 39,900 42,544 84,827 85,501
Unit-based Contract | Engineering and Consulting        
Revenue        
Revenue 3,818 3,755 7,434 6,739
Fixed-Price Contract        
Revenue        
Revenue 49,969 35,419 81,766 59,497
Fixed-Price Contract | Energy        
Revenue        
Revenue 49,168 34,545 79,817 57,655
Fixed-Price Contract | Engineering and Consulting        
Revenue        
Revenue $ 801 $ 874 $ 1,949 $ 1,842
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)
Jun. 30, 2023
state
SEGMENT AND GEOGRAPHICAL INFORMATION  
Number of states in which entity operates 22
XML 67 R58.htm IDEA: XBRL DOCUMENT v3.23.2
SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Revenue from Contract with Customer Benchmark | Customer Concentration Risk | Top Ten Customers        
Concentration Risk        
Concentration risk (as a percent) 51.70% 55.40% 51.40% 54.40%
Revenue from Contract with Customer Benchmark | Customer Concentration Risk | Los Angeles Department of Water and Power        
Concentration Risk        
Concentration risk (as a percent) 10.30% 14.60% 10.60% 15.80%
Revenue from Contract with Customer Benchmark | Customer Concentration Risk | Dormitory Authority-State New York        
Concentration Risk        
Concentration risk (as a percent) 10.70%      
Revenue from Contract with Customer Benchmark | Geographic Concentration Risk | California        
Concentration Risk        
Concentration risk (as a percent) 41.40% 40.90% 41.90% 42.20%
Revenue from Contract with Customer Benchmark | Geographic Concentration Risk | New York        
Concentration Risk        
Concentration risk (as a percent) 26.10% 19.60% 25.30% 20.20%
Revenue from Contract with Customer, Segment Benchmark | Customer Concentration Risk | Los Angeles Department of Water and Power | Energy        
Concentration Risk        
Concentration risk (as a percent) 12.50% 17.60% 13.00% 19.20%
Revenue from Contract with Customer, Segment Benchmark | Customer Concentration Risk | Dormitory Authority-State New York | Energy        
Concentration Risk        
Concentration risk (as a percent) 13.00%   11.60%  
XML 68 R59.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Valuation Allowance (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2023
Dec. 30, 2022
Dec. 31, 2021
INCOME TAXES        
Valuation allowance     $ (1,200) $ (1,200)
Increase (decrease) in valuation allowance $ 0 $ 0    
XML 69 R60.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Uncertain Tax Positions (Details) - USD ($)
$ in Thousands
Jun. 30, 2023
Jul. 01, 2022
Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued    
Liability for uncertain tax positions $ 0 $ 0
XML 70 R61.htm IDEA: XBRL DOCUMENT v3.23.2
INCOME TAXES - Income Tax Expense (Benefit) (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jul. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
INCOME TAXES        
Income tax expense (benefit) $ 243 $ (1,673) $ 999 $ (4,062)
XML 71 R62.htm IDEA: XBRL DOCUMENT v3.23.2
EARNINGS PER SHARE (EPS) - Computation (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jul. 01, 2022
Apr. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Net income (loss)            
Net Income (Loss) $ 397 $ 932 $ (4,326) $ (3,773) $ 1,329 $ (8,099)
Net income (loss) - basic 397   (4,326)   1,329 (8,099)
Net income (loss) - diluted $ 397   $ (4,326)   $ 1,329 $ (8,099)
Weighted-average shares outstanding:            
Weighted-average common shares outstanding (in shares) 13,344   13,016   13,305 12,901
Effect of dilutive stock options and restricted stock awards (in shares) 143       176  
Weighted-average common shares outstanding-diluted (in shares) 13,487   13,016   13,481 12,901
Earnings (Loss) per share:            
Basic (in dollars per share) $ 0.03   $ (0.33)   $ 0.10 $ (0.63)
Diluted (in dollars per share) $ 0.03   $ (0.33)   $ 0.10 $ (0.63)
XML 72 R63.htm IDEA: XBRL DOCUMENT v3.23.2
EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2023
Share-Based Payment Arrangement    
Antidilutive securities    
Antidilutive securities excluded from computation of earnings per share (in shares) 451 433
XML 73 R64.htm IDEA: XBRL DOCUMENT v3.23.2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jul. 01, 2022
Apr. 01, 2022
Jun. 30, 2023
Jul. 01, 2022
Pay vs Performance Disclosure            
Net Income (Loss) $ 397 $ 932 $ (4,326) $ (3,773) $ 1,329 $ (8,099)
XML 74 R65.htm IDEA: XBRL DOCUMENT v3.23.2
Insider Trading Arrangements
3 Months Ended
Jun. 30, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 75 wldn-20230630x10q_htm.xml IDEA: XBRL DOCUMENT 0001370450 srt:MaximumMember 2022-12-31 2023-06-30 0001370450 wldn:DefinedContributionPlanMember 2023-06-30 0001370450 srt:MinimumMember wldn:NewFinancingFacilityMember us-gaap:NotesPayableToBanksMember 2022-12-31 2023-06-30 0001370450 us-gaap:RevolvingCreditFacilityMember us-gaap:NotesPayableToBanksMember 2022-11-01 0001370450 wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember 2023-04-28 0001370450 wldn:DelayedDrawTermLoanFacilityMember us-gaap:NotesPayableToBanksMember 2022-12-31 2023-06-30 0001370450 us-gaap:CostOfSalesMember 2022-12-31 2023-06-30 0001370450 us-gaap:RetainedEarningsMember 2023-06-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001370450 us-gaap:RetainedEarningsMember 2023-03-31 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001370450 2023-03-31 0001370450 us-gaap:RetainedEarningsMember 2022-12-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-12-30 0001370450 us-gaap:RetainedEarningsMember 2022-07-01 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 0001370450 us-gaap:RetainedEarningsMember 2022-04-01 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 0001370450 2022-04-01 0001370450 us-gaap:RetainedEarningsMember 2021-12-31 0001370450 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001370450 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001370450 us-gaap:CommonStockMember 2022-12-31 2023-03-31 0001370450 us-gaap:CommonStockMember 2022-04-02 2022-07-01 0001370450 us-gaap:CommonStockMember 2022-01-01 2022-04-01 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 wldn:CommercialMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 country:US wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 country:US wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:UnitBasedContractMember 2023-04-01 2023-06-30 0001370450 wldn:PublicUtilityMember 2023-04-01 2023-06-30 0001370450 wldn:GovernmentsMember 2023-04-01 2023-06-30 0001370450 wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:CommercialMember 2023-04-01 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember 2023-04-01 2023-06-30 0001370450 us-gaap:FixedPriceContractMember 2023-04-01 2023-06-30 0001370450 country:US 2023-04-01 2023-06-30 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 wldn:CommercialMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 country:US wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 country:US wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:UnitBasedContractMember 2022-12-31 2023-06-30 0001370450 wldn:PublicUtilityMember 2022-12-31 2023-06-30 0001370450 wldn:GovernmentsMember 2022-12-31 2023-06-30 0001370450 wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:CommercialMember 2022-12-31 2023-06-30 0001370450 us-gaap:TimeAndMaterialsContractMember 2022-12-31 2023-06-30 0001370450 us-gaap:FixedPriceContractMember 2022-12-31 2023-06-30 0001370450 country:US 2022-12-31 2023-06-30 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 wldn:CommercialMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 country:US wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 country:US wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:UnitBasedContractMember 2022-04-02 2022-07-01 0001370450 wldn:PublicUtilityMember 2022-04-02 2022-07-01 0001370450 wldn:GovernmentsMember 2022-04-02 2022-07-01 0001370450 wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:CommercialMember 2022-04-02 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember 2022-04-02 2022-07-01 0001370450 us-gaap:FixedPriceContractMember 2022-04-02 2022-07-01 0001370450 country:US 2022-04-02 2022-07-01 0001370450 wldn:UnitBasedContractMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 wldn:UnitBasedContractMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:PublicUtilityMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 wldn:PublicUtilityMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:GovernmentsMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 wldn:GovernmentsMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:CommercialMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 wldn:CommercialMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 us-gaap:FixedPriceContractMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 us-gaap:FixedPriceContractMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 country:US wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 country:US wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:UnitBasedContractMember 2022-01-01 2022-07-01 0001370450 wldn:PublicUtilityMember 2022-01-01 2022-07-01 0001370450 wldn:GovernmentsMember 2022-01-01 2022-07-01 0001370450 wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:CommercialMember 2022-01-01 2022-07-01 0001370450 us-gaap:TimeAndMaterialsContractMember 2022-01-01 2022-07-01 0001370450 us-gaap:FixedPriceContractMember 2022-01-01 2022-07-01 0001370450 country:US 2022-01-01 2022-07-01 0001370450 wldn:ComputerHardwareAndSoftwareMember 2023-06-30 0001370450 wldn:AutomobilesTrucksAndFieldEquipmentMember 2023-06-30 0001370450 us-gaap:LeaseholdImprovementsMember 2023-06-30 0001370450 us-gaap:FurnitureAndFixturesMember 2023-06-30 0001370450 wldn:ComputerHardwareAndSoftwareMember 2022-12-30 0001370450 wldn:AutomobilesTrucksAndFieldEquipmentMember 2022-12-30 0001370450 us-gaap:LeaseholdImprovementsMember 2022-12-30 0001370450 us-gaap:FurnitureAndFixturesMember 2022-12-30 0001370450 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-04-01 0001370450 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001370450 us-gaap:RetainedEarningsMember 2022-12-31 2023-03-31 0001370450 us-gaap:RetainedEarningsMember 2022-04-02 2022-07-01 0001370450 us-gaap:RetainedEarningsMember 2022-01-01 2022-04-01 0001370450 wldn:DelayedDrawTermLoanFacilityMember us-gaap:NotesPayableToBanksMember 2019-06-26 0001370450 us-gaap:RevolvingCreditFacilityMember us-gaap:NotesPayableToBanksMember 2019-06-26 0001370450 srt:MinimumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember 2023-04-28 2023-04-28 0001370450 srt:MinimumMember us-gaap:LetterOfCreditMember us-gaap:NotesPayableToBanksMember 2023-04-28 2023-04-28 0001370450 srt:MaximumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember 2023-04-28 2023-04-28 0001370450 srt:MaximumMember us-gaap:LetterOfCreditMember us-gaap:NotesPayableToBanksMember 2023-04-28 2023-04-28 0001370450 srt:MinimumMember 2023-06-30 0001370450 srt:MaximumMember 2023-06-30 0001370450 us-gaap:CorporateNonSegmentMember 2023-04-01 2023-06-30 0001370450 us-gaap:CorporateNonSegmentMember 2022-12-31 2023-06-30 0001370450 us-gaap:CorporateNonSegmentMember 2022-04-02 2022-07-01 0001370450 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-07-01 0001370450 wldn:EngineeringConsultingServicesMember 2023-06-30 0001370450 wldn:EnergyMember 2023-06-30 0001370450 wldn:EngineeringConsultingServicesMember 2022-12-30 0001370450 wldn:EnergyMember 2022-12-30 0001370450 2023-09-30 2023-12-29 0001370450 2023-07-01 2023-09-29 0001370450 srt:MinimumMember 2022-12-31 2023-12-29 0001370450 srt:MaximumMember 2022-12-31 2023-12-29 0001370450 2022-12-31 2023-12-29 0001370450 srt:MinimumMember 2022-12-31 2023-03-31 0001370450 srt:MaximumMember 2022-12-31 2023-03-31 0001370450 2022-10-01 2022-12-30 0001370450 2022-07-02 2022-09-30 0001370450 srt:MinimumMember us-gaap:TradeNamesMember 2023-06-30 0001370450 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001370450 srt:MaximumMember us-gaap:TradeNamesMember 2023-06-30 0001370450 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2023-06-30 0001370450 us-gaap:TradeNamesMember 2023-06-30 0001370450 us-gaap:DevelopedTechnologyRightsMember 2023-06-30 0001370450 us-gaap:CustomerRelationshipsMember 2023-06-30 0001370450 us-gaap:TradeNamesMember 2022-12-30 0001370450 us-gaap:DevelopedTechnologyRightsMember 2022-12-30 0001370450 us-gaap:CustomerRelationshipsMember 2022-12-30 0001370450 2022-01-01 2022-12-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2023-04-01 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2022-12-31 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2022-04-02 2022-07-01 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2022-01-01 2022-07-01 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:QualifiedCashOrDeferredArrangementMember 2022-12-31 2023-06-30 0001370450 wldn:DefinedContributionPlanMember 2022-12-31 2023-06-30 0001370450 wldn:DefinedContributionPlanMember 2022-01-01 2022-07-01 0001370450 wldn:NewFinancingFacilityMember us-gaap:NotesPayableToBanksMember 2022-12-31 2023-06-30 0001370450 wldn:TermAloanMember us-gaap:NotesPayableToBanksMember 2022-12-31 2023-06-30 0001370450 srt:MinimumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-04-28 0001370450 wldn:TermAloanMember us-gaap:NotesPayableToBanksMember 2019-06-26 0001370450 wldn:TermAloanMember us-gaap:NotesPayableToBanksMember 2023-06-30 0001370450 wldn:OtherDebtMember us-gaap:NotesPayableOtherPayablesMember 2023-06-30 0001370450 wldn:DelayedDrawTermLoanFacilityMember us-gaap:NotesPayableToBanksMember 2023-06-30 0001370450 us-gaap:RevolvingCreditFacilityMember us-gaap:NotesPayableToBanksMember 2023-06-30 0001370450 wldn:TermAloanMember us-gaap:NotesPayableToBanksMember 2022-12-30 0001370450 wldn:OtherDebtMember us-gaap:NotesPayableOtherPayablesMember 2022-12-30 0001370450 wldn:DelayedDrawTermLoanFacilityMember us-gaap:NotesPayableToBanksMember 2022-12-30 0001370450 srt:MinimumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-04-28 2023-04-28 0001370450 srt:MinimumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember us-gaap:BaseRateMember 2023-04-28 2023-04-28 0001370450 srt:MaximumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-04-28 2023-04-28 0001370450 srt:MaximumMember wldn:CreditAgreement2019Member us-gaap:NotesPayableToBanksMember us-gaap:BaseRateMember 2023-04-28 2023-04-28 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:DormitoryAuthorityStateNewYorkMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2023-04-01 2023-06-30 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-06-30 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-06-30 0001370450 wldn:DormitoryAuthorityStateNewYorkMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-04-01 2023-06-30 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-04-01 2023-06-30 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2023-04-01 2023-06-30 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:DormitoryAuthorityStateNewYorkMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2022-12-31 2023-06-30 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-12-31 2023-06-30 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-12-31 2023-06-30 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-12-31 2023-06-30 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-12-31 2023-06-30 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2022-04-02 2022-07-01 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-04-02 2022-07-01 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-04-02 2022-07-01 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-04-02 2022-07-01 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-04-02 2022-07-01 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerSegmentBenchmarkMember us-gaap:CustomerConcentrationRiskMember wldn:EnergyMember 2022-01-01 2022-07-01 0001370450 wldn:TopTenCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-07-01 0001370450 wldn:LosAngelesDepartmentOfWaterAndPowerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-07-01 0001370450 stpr:NY us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-01-01 2022-07-01 0001370450 stpr:CA us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember 2022-01-01 2022-07-01 0001370450 us-gaap:CommonStockMember 2023-06-30 0001370450 us-gaap:CommonStockMember 2023-03-31 0001370450 us-gaap:CommonStockMember 2022-12-30 0001370450 us-gaap:CommonStockMember 2022-07-01 0001370450 us-gaap:CommonStockMember 2022-04-01 0001370450 us-gaap:CommonStockMember 2021-12-31 0001370450 2021-12-31 0001370450 2022-01-01 2022-07-01 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2023-06-30 0001370450 us-gaap:IntersegmentEliminationMember 2023-06-30 0001370450 us-gaap:CorporateNonSegmentMember 2023-06-30 0001370450 us-gaap:OperatingSegmentsMember wldn:EngineeringConsultingServicesMember 2022-07-01 0001370450 us-gaap:OperatingSegmentsMember wldn:EnergyMember 2022-07-01 0001370450 us-gaap:IntersegmentEliminationMember 2022-07-01 0001370450 us-gaap:CorporateNonSegmentMember 2022-07-01 0001370450 2022-07-01 0001370450 us-gaap:StockCompensationPlanMember 2023-04-01 2023-06-30 0001370450 us-gaap:StockCompensationPlanMember 2022-12-31 2023-06-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 2023-03-31 0001370450 2022-12-31 2023-03-31 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-04-02 2022-07-01 0001370450 2022-04-02 2022-07-01 0001370450 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-04-01 0001370450 2022-01-01 2022-04-01 0001370450 2023-06-30 0001370450 2022-12-30 0001370450 2023-04-01 2023-06-30 0001370450 2023-08-02 0001370450 2022-12-31 2023-06-30 shares iso4217:USD iso4217:USD shares pure wldn:segment wldn:state wldn:Y wldn:entity 0001370450 Q2 false http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization P1Y http://fasb.org/us-gaap/2023#QualifiedPlanMember http://fasb.org/us-gaap/2023#RestrictedCashCurrent http://fasb.org/us-gaap/2023#RestrictedCashCurrent 10-Q true 2023-06-30 false 001-33076 WILLDAN GROUP, INC. DE 14-1951112 2401 East Katella Avenue Suite 300 Anaheim CA 92806 800 424-9144 Common Stock, par value $0.01 per share WLDN NASDAQ Yes Yes Accelerated Filer false false false 13594982 13649000 8806000 10679000 373000 640000 54572000 60202000 79300000 83060000 2852000 4773000 5399000 6454000 155772000 173974000 25494000 22537000 130124000 130124000 13894000 12390000 36237000 41486000 15607000 10620000 17692000 18543000 394820000 409674000 35155000 28833000 36954000 59110000 4000000 14950000 12585000 102619000 16903000 1143000 1113000 4877000 4625000 195698000 127169000 19000 90544000 1251000 1601000 10731000 8599000 259000 259000 207958000 228172000 0.01 0.01 10000000 10000000 0 0 0 0 0.01 0.01 40000000 40000000 13504000 13504000 13296000 13296000 135000 133000 181747000 177718000 4980000 3651000 186862000 181502000 394820000 409674000 119077000 102645000 221680000 194483000 21302000 21284000 41712000 40094000 57142000 49771000 98054000 91439000 78444000 71055000 139766000 131533000 22416000 20439000 44801000 39796000 2619000 2373000 4897000 4771000 1287000 1714000 2820000 5019000 4128000 4426000 8328000 8835000 7709000 7936000 14580000 15435000 38159000 36888000 75426000 73856000 2474000 -5298000 6488000 -10906000 -2207000 -1030000 -4673000 -1781000 373000 329000 513000 526000 -1834000 -701000 -4160000 -1255000 640000 -5999000 2328000 -12161000 243000 -1673000 999000 -4062000 397000 -4326000 1329000 -8099000 38000 397000 -4326000 1329000 -8061000 0.03 -0.33 0.10 -0.63 0.03 -0.33 0.10 -0.63 13344000 13016000 13305000 12901000 13487000 13016000 13481000 12901000 13296000 133000 177718000 3651000 181502000 92000 1000 1391000 1392000 7000 124000 124000 108000 1000 -1000 1533000 1533000 932000 932000 13489000 135000 180517000 4583000 185235000 2000 7000 7000 4000 64000 64000 17000 1287000 1287000 397000 397000 13504000 135000 181747000 4980000 186862000 12804000 128000 167032000 -38000 12099000 179221000 52000 1000 1560000 1561000 4000 23000 23000 27000 837000 837000 373000 3000 -3000 3305000 3305000 -3773000 -3773000 38000 38000 13206000 132000 171080000 8326000 179538000 5000 116000 116000 14000 1714000 1714000 -4326000 -4326000 13215000 132000 172678000 4000000 176810000 1329000 -8099000 8328000 8835000 851000 -2842000 50000 69000 146000 107000 2820000 5019000 111000 -5484000 -6803000 -3760000 1889000 -1921000 -36000 -1217000 -225000 4987000 48000 6322000 -8859000 -11477000 -648000 2365000 -2089000 -880000 162000 18909000 -3569000 5762000 4344000 55000 73000 -5707000 -4271000 4000000 10206000 10679000 971000 1051000 5000000 20000000 9000000 6500000 599000 444000 7000 23000 1392000 1561000 188000 953000 -19038000 2430000 -5836000 -5410000 19485000 11221000 13649000 5811000 4464000 1584000 -1696000 474000 278000 1431000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND OPERATIONS OF THE COMPAN</b><b style="font-weight:bold;">Y</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Willdan Group, Inc. (“Willdan” or the “Company”) is a provider of professional, technical and consulting services to utilities, private industry, and public agencies at all levels of government. As resource and infrastructure needs undergo continuous change, the Company helps organizations and their communities evolve and thrive by providing a wide range of technical services for energy solutions, greenhouse gas reduction, and government infrastructure. Through engineering, program management, policy advisory, and software and data management, the Company designs and delivers trusted, comprehensive, innovative, and proven solutions to improve efficiency, resiliency, and sustainability in energy and infrastructure for our clients.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Company’s broad portfolio of services operates within two financial reporting segments: (1) Energy and (2) Engineering and Consulting. The interfaces and synergies between these segments are important elements of the Company’s strategy to design and deliver trusted, comprehensive, innovative, and proven solutions for its customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, <i style="font-style:italic;">Organization and Operations of the Company</i>, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Fiscal Years</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2023, which ends on December 29, 2023, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2022, which ended on December 30, 2022, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Use of Estimates</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Credit Agreement Refinancing</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As described in Note 5, “<i style="font-style:italic;">Debt Obligations</i>”, and Part I, Item 3, “<i style="font-style:italic;">Quantitative and Qualitative Disclosures About Market Risk</i>”, the Company’s current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, the Company’s Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under the Company’s Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In accordance with ASC Topic 205, when preparing financial statements for each reporting period, the Company evaluates whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about the Company’s ability to continue as a going concern within one year after the date that the financial statements are issued. The Company considered its Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed its current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on that analysis, only as a result of the Company’s obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to the Company's ability to continue as a going concern within one year after the date that the Condensed Consolidated Financial Statements are issued. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company intends to refinance its Credit Agreement and has entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. The Company expects to finalize its refinancing efforts and enter into a new credit facility during the second half of fiscal 2023. Accordingly, the Company believes that its refinancing plan alleviates any substantial doubt about the Company's ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because it expects to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accounting policies followed by the Company are set forth in Part II, Item 8, Note 1, <i style="font-style:italic;">Organization and Operations of the Company</i>, of the Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. In the opinion of management, all adjustments necessary to fairly state the Condensed Consolidated Financial Statements have been made. All such adjustments are of a normal, recurring nature. Certain information and footnote disclosures normally included in the Consolidated Financial Statements prepared in accordance with accounting principles generally accepted in the United States (“U.S. GAAP”) have been condensed or omitted pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). These Condensed Consolidated Financial Statements and related notes thereto should be read in conjunction with the Consolidated Financial Statements and the notes thereto included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 30, 2022. The results of operations for interim periods are not necessarily indicative of results to be expected for the full year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Fiscal Years</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company operates and reports its annual financial results based on 52 or 53-week periods ending on the Friday closest to December 31. The Company operates and reports its quarterly financial results based on the 13-week period ending on the Friday closest to June 30, September 30, and December 31 and the 13 or 14-week period ending on the Friday closest to March 31, as applicable. Fiscal year 2023, which ends on December 29, 2023, will be comprised of 52 weeks, with all quarters consisting of 13 weeks each. Fiscal year 2022, which ended on December 30, 2022, was comprised of 52 weeks, with all quarters consisting of 13 weeks each. All references to years in the notes to consolidated financial statements represent fiscal years.</p> P364D P371D P91D P91D P91D P91D P98D 2023 --12-29 P364D P91D P91D P91D P91D P364D P91D P91D P91D P91D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Use of Estimates</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements. Estimates also affect the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 10pt 18pt;"><i style="font-style:italic;">Credit Agreement Refinancing</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As described in Note 5, “<i style="font-style:italic;">Debt Obligations</i>”, and Part I, Item 3, “<i style="font-style:italic;">Quantitative and Qualitative Disclosures About Market Risk</i>”, the Company’s current Credit Agreement (as defined below) matures on June 26, 2024. Pursuant to the terms of the Credit Agreement, the Company’s Term A Loan (as defined below) amortizes quarterly in installments of $2.5 million beginning with the fiscal quarter ending September 27, 2019, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. In addition, each borrowing under the Company’s Delayed Draw Term Loan (as defined below) amortizes quarterly in an amount equal to 2.5% of the aggregate outstanding borrowings under the Delayed Draw Term Loan, beginning with the first full fiscal quarter ending after the initial borrowing date, with a final payment of all then remaining principal and interest due on the maturity date of June 26, 2024. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In accordance with ASC Topic 205, when preparing financial statements for each reporting period, the Company evaluates whether there are conditions or events that, when considered in the aggregate, raise substantial doubt about the Company’s ability to continue as a going concern within one year after the date that the financial statements are issued. The Company considered its Credit Agreement’s principal and interest payment due on June 26, 2024 and assessed its current financial condition and liquidity sources, including current funds available, forecasted future cash flows, and conditional and unconditional obligations due over the next twelve months. Based on that analysis, only as a result of the Company’s obligation under the Credit Agreement to make final payment of all then remaining principal and interest on June 26, 2024, does an event arise which raises substantial doubt with respect to the Company's ability to continue as a going concern within one year after the date that the Condensed Consolidated Financial Statements are issued. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company intends to refinance its Credit Agreement and has entered into an engagement to secure a new three-year financing facility with a syndicate of financial institutions as lenders which, among other things, will repay 100% of the obligations under the existing Credit Agreement and extend the due date of the maturity payment by more than two years from the current maturity date. The Company expects to finalize its refinancing efforts and enter into a new credit facility during the second half of fiscal 2023. Accordingly, the Company believes that its refinancing plan alleviates any substantial doubt about the Company's ability to continue as a going concern within one year after the date that the consolidated financial statements are issued because it expects to fully refinance the Credit Agreement with a new credit facility prior to June 26, 2024, the date on which final payment of all then remaining principal and interest under the current Credit Agreement is due.</p> 2500000 0.025 P3Y 1 P2Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2.</b><span style="font-style:italic;font-weight:bold;"> </span><b style="font-weight:bold;">RECENT ACCOUNTING PRONOUNCEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2023, there were no accounting pronouncements recently issued, or with future effective dates, that are either applicable nor are expected to have an impact to the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt 0pt 10pt 0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2023, there were no accounting pronouncements recently issued, or with future effective dates, that are either applicable nor are expected to have an impact to the Company’s Condensed Consolidated Financial Statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">3. REVENUES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:10pt 0pt 12pt 0pt;">Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, usually which is the life of the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately </span>2.0% to 3.0% of the Company’s consolidated contract revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of June 30, 2023 and December 30, 2022, contract assets included retainage of approximately $12.5 million and $8.5 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">3. REVENUES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts with its clients that contain various types of pricing provisions, including fixed price, time-and-materials, and unit-based provisions. The Company recognizes revenues in accordance with ASU 2014-09, Revenue from Contracts with Customer, codified as ASC Topic 606 and the related amendments (collectively “ASC 606”). As such, the Company identifies a contract with a customer, identifies the performance obligations in the contract, determines the transaction price, allocates the transaction price to each performance obligation in the contract and recognizes revenues when (or as) the Company satisfies a performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table reflects the Company’s two reportable segments and the types of contracts that each most commonly enters into for revenue generating activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Revenue on the vast majority of the Company’s contracts is recognized over time because of the continuous transfer of control to the customer. Revenue on fixed price contracts is recognized on the percentage-of-completion method based generally on the ratio of direct costs incurred-to-date to estimated total direct costs at completion. The Company uses the percentage-of-completion method to better match the level of work performed at a certain point in time in relation to the effort that will be required to complete a project. In addition, the percentage-of-completion method is a common method of revenue recognition in the Company’s industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:10pt 0pt 12pt 0pt;">Many of the Company’s fixed price contracts involve a high degree of subcontracted fixed price effort and are relatively short in duration, thereby lowering the risks of not properly estimating the percent complete. Revenue on time-and-materials and unit-based contracts is recognized as the work is performed in accordance with the specific rates and terms of the contract. The Company recognizes revenues for time-and-materials contracts based upon the actual hours incurred during a reporting period at contractually agreed upon rates per hour and also includes in revenue all reimbursable costs incurred during a reporting period. Certain of the Company’s time-and-materials contracts are subject to maximum contract values and, accordingly, when revenue is expected to exceed the maximum contract value, these contracts are generally recognized under the percentage-of-completion method, consistent with fixed price contracts. For unit-based contracts, the Company recognizes the contract price of units of a basic production product as revenue when the production product is delivered during a period. Revenue for amounts that have been billed but not earned is deferred, and such deferred revenue is referred to as contract liabilities in the accompanying condensed consolidated balance sheets. The Company also derives revenue from software licenses and professional services and maintenance fees. In accordance with ASC 606, the Company performs an assessment of each contract to identify the performance obligations, determine the overall transaction price for the contract, allocate the transaction price to the performance obligations, and recognize the revenue when the performance obligations are satisfied. The Company utilizes the residual approach by which it estimates the standalone selling price by reference to the total transaction price less the sum of the observable standalone selling prices of other goods or services promised in the contract. The software license revenue is typically recognized at a point in time when control is transferred to the client, which is defined as the point in time when the client can use and benefit from the license. The software license is delivered before related services are provided and is functional without services, updates, or technical support. Related professional services include training and support services in which the standalone selling price is determined based on an input measure of hours incurred to total estimated hours and is recognized over time, usually which is the life of the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">To determine the proper revenue recognition method for contracts, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined contract should be accounted for as one performance obligation. With respect to the Company’s contracts, it is rare that multiple contracts should be combined into a single performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate a single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. Contracts are considered to have a single performance obligation if the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts, which is mainly because the Company provides a significant service of integrating a complex set of tasks and components into a single project or capability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company may enter into contracts that include separate phases or elements. If each phase or element is negotiated separately based on the technical resources required and/or the supply and demand for the services being provided, the Company evaluates if the contracts should be segmented. If certain criteria are met, the contracts would be segmented which could result in revenues being assigned to the different elements or phases with different rates of profitability based on the relative value of each element or phase to the estimated total contract revenue. Segmented contracts may comprise up to approximately </span>2.0% to 3.0% of the Company’s consolidated contract revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts that cover multiple phases or elements of the project or service lifecycle (development, construction and maintenance and support) may be considered to have multiple performance obligations even when they are part of a single contract. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using the best estimate of the standalone selling price of each distinct good or service in the contract. For the periods presented, the value of the separate performance obligations under contracts with multiple performance obligations (generally measurement and verification tasks under certain energy performance contracts) were not material. In cases where the Company does not provide the distinct good or service on a standalone basis, the primary method used to estimate standalone selling price is the expected cost plus a margin approach, under which the Company forecasts the Company’s expected costs of satisfying a performance obligation and then adds an appropriate margin for the distinct good or service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company provides quality of workmanship warranties to customers that are included in the sale and are not priced or sold separately or do not provide customers with a service in addition to assurance of compliance with agreed-upon specifications and industry standards. The Company does not consider these types of warranties to be separate performance obligations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In some cases, the Company has a master service or blanket agreement with a customer under which each task order releases the Company to perform specific portions of the overall scope in the service contract. Each task order is typically accounted for as a separate contract because the task order establishes the enforceable rights and obligations, and payment terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Under ASC 606, variable consideration should be considered when determining the transaction price and estimates should be made for the variable consideration component of the transaction price, as well as assessing whether an estimate of variable consideration is constrained. For certain of the Company’s contracts, variable consideration can arise from modifications to the scope of services resulting from unapproved change orders or customer claims. Variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The Company estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessments of legal enforceability, the Company’s performance, and all information (historical, current and forecasted) that is reasonably available to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the nature of the work required to be performed on many of the Company’s performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment. As a significant change in one or more of these estimates could affect the profitability of the Company’s contracts, the Company reviews and updates the Company’s contract-related estimates regularly through a company-wide disciplined project review process in which management reviews the progress and execution of the Company’s performance obligations and the estimate at completion (“EAC”). As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule and the related changes in estimates of revenues and costs. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the cost and availability of materials, the performance of subcontractors, and the availability and timing of funding from the customer, among other variables.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the impact of the adjustment on profit recorded to date is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance is recognized using the adjusted estimate. If at any time the estimate of contract profitability indicates an anticipated loss on the contract, the Company recognizes the full amount of estimated loss in the period it is identified.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contracts are often modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist when the modification either creates new rights or obligations or changes the existing enforceable rights or obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from existing contracts due to the significant integration provided in the context of the contract and are accounted for as if they were part of the original contract. The effect of a contract modification that is not distinct from the existing contract on the transaction price and the Company’s measure of progress for the performance obligation to which it relates is recognized as an adjustment to revenue (either as an increase in or a reduction of revenue) on a cumulative catch-up basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For contract modifications that result in the promise to deliver goods or services that are distinct from the existing contract and the increase in price of the contract is for the same amount as the standalone selling price of the additional goods or services included in the modification, the Company accounts for such contract modifications as a separate contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company includes claims to vendors, subcontractors and others as a receivable and a reduction in recognized costs when enforceability of the claim is established by the contract and the amounts are reasonably estimable and probable of being recovered. The amounts are recorded up to the extent of the lesser of the amounts management expects to recover or to costs incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Billing practices are governed by the contract terms of each project based upon costs incurred, achievement of milestones or pre-agreed schedules. Billings do not necessarily correlate with revenue recognized using the percentage-of-completion method of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue consist primarily of that portion of technical and nontechnical salaries and wages that has been incurred in connection with revenue producing projects. Direct costs of contract revenue also include production expenses, subcontractor services and other expenses that are incurred in connection with revenue producing projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Direct costs of contract revenue exclude that portion of technical and nontechnical salaries and wages related to marketing efforts, vacations, holidays and other time not spent directly generating revenue under existing contracts. Such costs are included in general and administrative expenses. Additionally, payroll taxes, bonuses and employee benefit costs for all Company personnel are included in general and administrative expenses in the accompanying consolidated statements of comprehensive income since no allocation of these costs is made to direct costs of contract revenue. No allocation of facilities costs is made to direct costs of contract revenue. Other companies may classify as direct costs of contract revenue some of the costs that the Company classifies as general and administrative costs. The Company expenses direct costs of contract revenue when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in revenue and costs are all reimbursable costs for which the Company has the risk or on which the fee was based at the time of bid or negotiation. No revenue or cost is recorded for costs in which the Company acts solely in the capacity of an agent and has no risks associated with such costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable are carried at original invoice amount less an estimate made for doubtful accounts based upon a review of all outstanding amounts on a quarterly basis. Management determines allowances for doubtful accounts through specific identification of amounts considered to be uncollectible and potential write-offs, plus a non-specific allowance for other amounts for which some potential loss has been determined to be probable based on current and past experience. The Company’s historical credit losses have been minimal with governmental entities and large public utilities, but disputes may arise related to these receivable amounts. Accounts receivable are written off when deemed uncollectible. Recoveries of accounts receivable previously written off are recorded when received.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Retainage, included in contract assets, represents amounts withheld from billings to the Company’s clients pursuant to provisions in the contracts and may not be paid to the Company until specific tasks are completed or the project is completed and, in some instances, for even longer periods. As of June 30, 2023 and December 30, 2022, contract assets included retainage of approximately $12.5 million and $8.5 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue Recognition Method</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Energy</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Software license</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Time-and-materials</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:middle;width:33.34%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td><td style="vertical-align:middle;width:33.31%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Unit-based</p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:33.34%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Fixed price</p></td><td style="vertical-align:middle;width:33.31%;background:#cceeff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Percentage-of-completion</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 0.020 0.030 0 0 0 12500000 8500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:8pt;margin:0pt;"><b style="font-weight:bold;">4. SUPPLEMENTAL FINANCIAL STATEMENT DATA </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:8pt;text-indent:18pt;background:#ffffff;margin:0pt;"><i style="font-style:italic;">Restricted Cash</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt 0pt 8pt 0pt;">The following table provides a reconciliation of cash and cash equivalents, and restricted cash reported within the condensed consolidated balance sheets to the total cash, cash equivalents, and restricted cash shown in the consolidated statements of cash flows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,806</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Ry2eOTG6Pke4F1BqSyTcLQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,679</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,485</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 8pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="background:#ffffff;">Under certain utility contracts, the Company periodically receives cash deposits to be held in trust for the payment of energy incentive rebates to be sent directly to the utility’s end-customer on behalf of the utility. The Company acts solely as the utility’s agent to distribute these funds to the end-customer and, accordingly, the Company classifies these contractually restricted funds as restricted cash. Because these funds are held in trust for pass through to the utility’s customers and have no impact on the Company’s working capital or operating cash flows, these cash receipts are presented in the consolidated statement of cash flows as financing cash inflows, “Receipt of restricted cash”, with the subsequent payments classified as financing cash outflows, “Payment of restricted cash.”</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Equipment and Leasehold Improvements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,062</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 35,635</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,097</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment under finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,503</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Automobiles, trucks, and field equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,134</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 57,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,431</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,894)</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,537</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Included in accumulated depreciation and amortization is $0.6 million and $1.1 million of amortization expense related to equipment held under finance leases for the six months ended June 30, 2023 and for fiscal year 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Accrued Liabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued subcontractor costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,374</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,470</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee withholdings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,571</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Compensation and payroll taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,340</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rebate and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,643</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued accounting and taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,712</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,110</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:12pt 0pt 12pt 0pt;"><i style="font-style:italic;">Goodwill</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions / </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchase Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Reporting Unit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 129,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 129,375</p></td></tr><tr><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 749</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,124</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The Company tests its goodwill at least annually for possible impairment. The Company completes its annual testing of goodwill as of the last day of the first month of its fourth fiscal quarter each year to determine whether there is a potential impairment. In addition to the Company’s annual test, it regularly evaluates whether events and circumstances have occurred that may indicate a potential impairment of goodwill. During the quarter ended June 30, 2023, although the Company experienced declines in the market price of its stock, such decreases did not result in the Company’s market capitalization decreasing below book value. The Company evaluated the current economic environment and noted that it does not believe it is more likely than not that goodwill was impaired as of June 30, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Intangible Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in years)</i></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finite:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:10.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 6.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,871</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:42.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,806</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Ry2eOTG6Pke4F1BqSyTcLQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,679</p></td></tr><tr><td style="vertical-align:bottom;width:53.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,485</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 13649000 8806000 10679000 13649000 19485000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,062</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer hardware and software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 40,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 35,635</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,097</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment under finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,503</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Automobiles, trucks, and field equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,134</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 57,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,431</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,683)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,894)</p></td></tr><tr><td style="vertical-align:bottom;width:52.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,537</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 4188000 4062000 40434000 35635000 3832000 3097000 5588000 5503000 3135000 3134000 57177000 51431000 31683000 28894000 25494000 22537000 600000 1100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:44.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued subcontractor costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,374</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued bonuses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,758</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,470</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee withholdings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,795</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,571</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Compensation and payroll taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,340</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rebate and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,643</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued accounting and taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,712</p></td></tr><tr><td style="vertical-align:bottom;width:52.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,110</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 21927000 28374000 6758000 8470000 2795000 2571000 2690000 2340000 303000 14643000 2481000 2712000 36954000 59110000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions / </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchase Cost</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustments</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Reporting Unit:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 129,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 129,375</p></td></tr><tr><td style="vertical-align:bottom;width:48.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Engineering and Consulting</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 749</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 130,124</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 129375000 129375000 749000 749000 130124000 130124000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:middle;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:49.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in years)</i></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finite:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:10.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:4.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 6.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 11,871</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:13.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> 8.0</p></td></tr><tr><td style="vertical-align:bottom;width:33.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 89,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 15911000 11986000 15911000 10990000 P2Y6M P6Y 15810000 13332000 15810000 11871000 P8Y 58149000 28315000 58149000 25523000 P5Y P8Y 89870000 53633000 89870000 48384000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">5. DEBT OBLIGATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Debt obligations, excluding obligations under finance leases (see Note 6, <i style="font-style:italic;">Leases,</i> below), consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:26.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Term A Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 65,000</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Revolving Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Delayed Draw Term Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,000</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,958</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,958</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuance costs and debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (350)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (511)</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Subtotal</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,447</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">Less current portion of long-term debt</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,903</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Long-term debt portion</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 90,544</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Credit Facilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;margin:0pt;">On June 26, 2019, the Company and certain of its subsidiaries entered into an Amended and Restated Credit Agreement (as amended by the First Amendment, dated as of August 15, 2019, the Second Amendment, dated as of November 6, 2019, the Third Amendment, dated as of May 6, 2020, the Fourth Amendment, dated April 30, 2021, the Fifth Amendment, dated March 8, 2022, the Sixth Amendment, dated August 2, 2022, and the Seventh Amendment, dated November 1, 2022, the “Credit Agreement”) with a syndicate of financial institutions as lenders and BMO Harris Bank, N.A., as administrative agent (the “Administrative Agent”). The Credit Agreement provides for (i) a $100.0 million secured term loan (the “Term A Loan”), (ii) up to $50.0 million in delayed draw secured term loans (the “Delayed Draw Term Loan”), and (iii) a $50.0 million secured revolving credit facility (the “Revolving Credit Facility” and, collectively with the Term A Loan and the Delayed Draw Term Loan, the “Credit Facilities”), each maturing on June 26, 2024. The Company’s obligations under the Credit Agreement are guaranteed by its present and future domestic subsidiaries, with limited exceptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">Pursuant to the terms of the Seventh Amendment to the Credit Agreement (the “Seventh Amendment”), among other things, (A) aggregate borrowings under the Revolving Credit Facility were restricted to no more than $10.0 million at any time during the period from November 1, 2022 through the date on which financial statements and compliance documents were received by the Administrative Agent for the fiscal quarter ending March 31, 2023, and (B) access to the accordion feature of the Credit Agreement was limited to periods when the Company’s Total Leverage Ratio (as defined in the Credit Agreement) was less than 3.0.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">On April 28, 2023, the Company delivered to the Administrative Agent the required financial statements and compliance documents for the fiscal quarter ending March 31, 2023, reflecting full compliance with the restrictive covenants under the Credit Agreement, and thus effectively terminating the limitations on borrowing capacity and other restrictions imposed under the terms set by the Seventh Amendment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">Effective April 28, 2023, borrowings under the Credit Agreement bear interest at either a Base Rate (as defined in the Credit Agreement) or the Secured Overnight Financing Rate (“SOFR”), at the Company’s option, and in each case, plus an applicable margin, which applicable margin ranges from 0.125% to 1.25% with respect to Base Rate borrowings and 1.125% to 2.25% with respect to SOFR borrowings, depending on the Total Leverage Ratio; provided, that SOFR cannot be less than 0.00%, with the specific pricing reset on each date on which the Administrative Agent receives the required financial statements under the Credit Agreement for the fiscal quarter then ended. The Company </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt;">must also pay a commitment fee for the unused portion of the Revolving Credit Facility and the Delayed Draw Term Loan under the Credit Agreement, which ranges from 0.15% to 0.40% per annum depending on the Total Leverage Ratio, and fees on the face amount of any letters of credit outstanding under the Revolving Credit Facility, which range from 0.84% to 1.688% per annum, in each case, depending on whether such letter of credit is a performance or financial letter of credit and the Total Leverage Ratio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">The Credit Agreement requires the Company to comply with certain financial covenants, including requiring that the Company maintain a (i) Total Leverage Ratio of at least 3.25 to 1.00, and (ii) Fixed Charge Coverage Ratio (as defined in the Credit Agreement) of not less than 1.20 to 1.00, in each case tested quarterly. The Credit Agreement also contains customary events of default and contains other customary restrictive covenants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:0pt;">As of June 30, 2023, the Company was in compliance with all covenants contained in the Credit Agreement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;background:#ffffff;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Other Debt Agreements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="color:#212529;">The Company’s other debt agreements are related to financed insurance premiums, a financed software agreement, and a utility customer agreement and are immaterial to the Company’s Condensed Consolidated Financial Statements.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:26.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Term A Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 65,000</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Revolving Credit Facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding borrowings on Delayed Draw Term Loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 37,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,000</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other debt agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,958</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,958</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Issuance costs and debt discounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (350)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (511)</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Subtotal</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,447</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">Less current portion of long-term debt</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 102,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,903</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:9.5pt;">Long-term debt portion</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 90,544</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 60000000 65000000 5000000 37000000 41000000 988000 1958000 102988000 107958000 350000 511000 102638000 107447000 102619000 16903000 19000 90544000 100000000.0 50000000.0 50000000.0 10000000.0 3.0 0.00125 0.0125 0.01125 0.0225 0.0000 0.0015 0.0040 0.0084 0.01688 3.25 1.20 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">6. LEASES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company leases certain office facilities under long-term, non-cancellable operating leases that expire at various dates through the year 2028. In addition, the Company is obligated under finance leases for certain furniture and office equipment that expire at various dates through the year 2027.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">From time to time, the Company enters into non-cancelable leases for some of its facility and equipment needs. These leases allow the Company to conserve cash by paying a monthly lease rental fee for the use of facilities and equipment rather than purchasing them. The Company’s leases typically have remaining terms ranging from </span><span style="-sec-ix-hidden:Hidden_FMLHDqZD70yqwtHXnCIREQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span><span style="font-size:10pt;"> to </span><span style="font-size:10pt;">eight years</span><span style="font-size:10pt;">, some of which may include options to </span><span style="font-size:10pt;">extend</span><span style="font-size:10pt;"> the leases for up to </span><span style="font-size:10pt;">five years</span><span style="font-size:10pt;">, and some of which may include options to </span><span style="font-size:10pt;">terminate</span><span style="font-size:10pt;"> the leases within </span><span style="font-size:10pt;">one year</span><span style="font-size:10pt;">. Currently, all of the Company’s leases contain fixed payment terms. The Company may decide to cancel or terminate a lease before the end of its term, in which case the Company is typically liable to the lessor for the remaining lease payments under the term of the lease. Additionally, all of the Company’s month-to-month leases are cancelable by the Company or the lessor, at any time, and are not included in the Company’s right-of-use asset or lease liability. As of June 30, 2023, the Company had </span><span style="font-size:10pt;">no</span><span style="font-size:10pt;"> leases with residual value guarantees. Typically, the Company has purchase options on the equipment underlying its long-term leases. The Company may exercise some of these purchase options when the need for equipment is on-going and the purchase option price is attractive. Nonperformance-related default covenants, cross-default provisions, subjective default provisions and material adverse change clauses contained in material lease agreements, if any, are also evaluated to determine whether those clauses affect lease classification in accordance with ASC Topic 842-10-25. Leases are accounted for as operating or financing leases, depending on the terms of the lease.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><i style="font-style:italic;">Financing Leases</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Company leases certain equipment under financing leases. The economic substance of the leases is a financing transaction for acquisition of equipment and leasehold improvements. Accordingly, the right-of-use assets for these leases are included in the balance sheets in equipment and leasehold improvements, net of accumulated depreciation, with a corresponding amount recorded in current portion of financing lease obligations or noncurrent portion of financing lease obligations, as appropriate. The financing lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The interest associated with financing lease obligations is included in interest expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Right-of-use assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Operating leases are included in right-of-use assets, and current portion of lease liability and noncurrent portion of lease liability, as appropriate. Right-of-use assets and lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Company’s leases do not provide an implicit rate to calculate present value, the Company determines this rate by estimating the Company’s incremental borrowing rate at the lease commencement date. The right-of-use asset also includes any lease payments made and initial direct costs incurred at lease commencement and excludes lease incentives. The Company’s lease terms may include options to extend or terminate the lease when it is reasonably certain that it will exercise that option. Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of the Company’s lease expense:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,664</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,534</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,112</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 488</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,629</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of lease information presented on the Company’s consolidated balance sheet:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,224</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases (included in equipment and leasehold improvements, net):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,266)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,830)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="-sec-ix-hidden:Hidden_CQ_T9DTqeESKNakbksosMA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total equipment and leasehold improvements, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,673</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5.74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4.06</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">3.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Rent expense was $1.8 million and $3.4 million for the three and six months ended June 30, 2023, respectively, as compared to $1.7 million and $3.3 million for the three and six months ended July 1, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of other information and supplemental cash flow information related to finance and operating leases: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,273</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,002</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of the maturities of lease liabilities as of June 30, 2023:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,369</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 17,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 15,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 10,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><span style="font-size:9pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The imputed interest for finance lease obligations represents the interest component of finance leases that will be recognized as interest expense in future periods. The financing component for operating lease obligations represents the effect of discounting the operating lease payments to their present value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">​</span></p> P8Y true P5Y true P1Y 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-style:italic;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,664</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,534</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,112</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 488</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29</p></td></tr><tr><td style="vertical-align:bottom;width:37.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,629</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 1664000 1534000 3157000 3112000 318000 255000 629000 488000 24000 15000 46000 29000 2006000 1804000 3832000 3629000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:36.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating leases:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 12,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liability, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 8,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 13,224</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance leases (included in equipment and leasehold improvements, net):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Equipment and leasehold improvements, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,266)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,830)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;"><span style="-sec-ix-hidden:Hidden_CQ_T9DTqeESKNakbksosMA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total equipment and leasehold improvements, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,673</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance lease obligations, less current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finance lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.42</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average discount rate:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5.74</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:58.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Finance Leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4.06</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">3.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 13894000 12390000 4877000 4625000 10731000 8599000 15608000 13224000 5588000 5503000 3266000 2830000 2322000 2673000 1143000 1113000 1251000 1601000 2394000 2714000 P3Y7M6D P3Y4M6D P2Y5M1D P2Y7M28D 0.0574 0.0425 0.0406 0.0347 1800000 3400000 1700000 3300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six Months Ended</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,273</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 29</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flow from finance leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange for lease liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,002</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 3003000 3273000 46000 29000 599000 444000 4264000 1002000 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,369</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 17,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 15,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 10,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Operating</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Finance</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:middle;white-space:nowrap;width:25.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><i style="font-style:italic;">(in thousands)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Fiscal year:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Remainder of 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,968</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 3,369</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,519</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">2028 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 17,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Total lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 15,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 2,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Less: Current obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 4,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 18pt;">Noncurrent lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 10,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3.6pt 0.05pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 2793000 681000 4968000 1071000 3988000 472000 3369000 211000 1519000 80000 816000 7000 17453000 2522000 1845000 128000 15608000 2394000 4877000 1143000 10731000 1251000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">7. COMMITMENTS AND VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;">Employee Benefit Plans</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company has a qualified profit sharing plan pursuant to Code Section 401(a) and <span style="-sec-ix-hidden:Hidden_QAMO3d3iNEmMpcGEE_PkqQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">qualified</span></span> cash or deferred arrangement pursuant to Code Section 401(k) covering all employees. Employees may elect to contribute up to 50% of their compensation limited to the amount allowed by tax laws. Company contributions are made solely at the discretion of the Company’s board of directors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company’s defined contribution plan (the “Plan”) covers employees who have completed three months of service and who have attained 21 years of age. The Company elects to make matching contributions equal to 50% of the participants’ contributions to the Plan, up to 6% of the individual participant’s compensation, and subject to a maximum of $3,000 per employee. Under the Plan, the Company may make discretionary contributions to employee accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During each of the six months ended June 30, 2023 and July 1, 2022, the Company made matching contributions of $1.6 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><i style="font-style:italic;">Variable Interest Entities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">On March 4, 2016, the Company and the Company’s wholly-owned subsidiary, WES, acquired substantially all of the assets of Genesys and assumed certain specified liabilities of Genesys (collectively, the “Purchase”) pursuant to an Asset Purchase and Merger Agreement, dated as of February 26, 2016 (the “Agreement”), by and among Willdan Group, Inc., WES, WESGEN (as defined below), Genesys and Ronald W. Mineo (“Mineo”) and Robert J. Braun (“Braun” and, together with Mineo, the “Genesys Shareholders”). On March 5, 2016, pursuant to the terms of the Agreement, WESGEN, Inc., a non-affiliated corporation (“WESGEN”), merged (the “Merger” and, together with the Purchase, the “Acquisition”) with Genesys, with Genesys remaining as the surviving corporation. Genesys was acquired to strengthen the Company’s power engineering capability in the northeastern U.S., and also to increase client exposure and experience with universities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Genesys continues to be a professional corporation organized under the laws of the State of New York, wholly-owned by one or more licensed engineers. Pursuant to New York law, the Company does not own capital stock of Genesys. The Company has entered into an agreement with the Shareholder of Genesys pursuant to which the Shareholder will be prohibited from selling, transferring or encumbering the Shareholder’s ownership interest in Genesys without the Company’s consent. Notwithstanding the Company’s rights regarding the transfer of Genesys’s stock, the Company does not have control over the professional decision making of Genesys’s engineering services. The Company has entered into an administrative services agreement with Genesys pursuant to which WES will provide Genesys with ongoing administrative, operational and other non-professional support services. Genesys pays WES a service fee, which consists of all of the costs incurred by WES to provide the administrative services to Genesys plus ten percent of such costs, as well as any other costs that relate to professional service supplies and personnel costs. As a result of the administrative services agreement, the Company absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The Company manages Genesys and has the power to direct the activities that most significantly impact Genesys’s performance, in addition to being obligated to absorb expected losses from Genesys. Accordingly, the Company is the primary beneficiary of Genesys and consolidates Genesys as a VIE. In addition, the Company concluded there is no noncontrolling interest related to the consolidation of Genesys because the Company determined that (i) the shareholder of Genesys does not have more than a nominal amount of equity investment at risk, (ii) WES absorbs the expected losses of Genesys through its deferral of Genesys’s service fees owed to WES and the Company has, since entering into the administrative services agreement, had to continuously defer service fees for Genesys, and (iii) the Company believes Genesys will continue to have a shortfall on payment of its service fees for the foreseeable future, leaving no expected residual returns for the shareholder. As of June 30, 2023, the Company had one VIE — Genesys.</p> 0.50 P3M 21 0.50 0.06 3000 1600000 1600000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;"> 8. SEGMENT AND GEOGRAPHICAL INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Segment Information</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company’s two<span style="white-space:pre-wrap;"> segments are Energy, and Engineering and Consulting, and the Company’s chief operating decision maker, which continues to be its chief executive officer, receives and reviews financial information in this format. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no intersegment sales during the three and six months ended June 30, 2023 and July 1, 2022. The Company’s chief operating decision maker evaluates the performance of each segment based upon income or loss from operations before income taxes. Certain segment asset information including expenditures for long-lived assets has not been presented as it is not reported to or reviewed by the chief operating decision maker. In addition, enterprise-wide service line contract revenue is not included as it is impracticable to report this information for each group of similar services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Financial information with respect to the reportable segments and reconciliation to the amounts reported in the Company’s Condensed Consolidated Financial Statements is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unallocated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&amp; Consulting</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Corporate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intersegment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:55.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,077</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,128</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,207</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,181)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 640</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,296)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 243</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,885)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 394,820</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended July 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,645</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,426</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,030</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,357)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,999)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,891)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (514)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,673)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,467)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,326)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 323,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,883</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Six Months Ended June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,680</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,328</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,673</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,805</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,851)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,328</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,939)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 394,820</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Six Months Ended July 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 194,483</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,835</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,781</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (10,710)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (12,161)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,578)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,033)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,062)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,132)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,055)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (8,099)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 323,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,883</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment assets are presented net of intercompany receivables.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 11pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following tables provide information about disaggregated revenue by contract type, client type and geographical region: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended June 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25,390</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">39,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">43,718</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">49,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">49,969</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">119,077</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8,816</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,543</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">19,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">60,153</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,108</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">119,077</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,015</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,062</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,077</p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended June 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">47,653</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">84,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">92,261</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">79,817</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">81,766</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">221,680</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">14,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,699</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,618</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">37,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">104,323</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100,658</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">221,680</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,300</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,380</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,680</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended July 1, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">7,587</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">13,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">20,927</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">42,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">3,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">46,299</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">35,419</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">102,645</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">6,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">8,177</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">29,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">16,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">46,199</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">102,645</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 84,675</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 17,970</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 102,645</p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended July 1, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">16,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">26,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">42,746</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">85,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">6,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">92,240</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">57,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">1,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">59,497</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">194,483</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">14,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">2,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,744</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">31,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">80,011</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">96,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">96,728</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">194,483</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 159,561</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 34,922</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 194,483</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Amounts may not add to the totals due to rounding.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Includes the portion of revenue related to small business programs paid by the end user/customer.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Revenue from the Company’s foreign operations were not material for the three and six months ended June 30, 2023 and July 1, 2022. </i></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"> <i style="font-style:italic;">Geographical Information</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Substantially all of the Company’s consolidated revenue was derived from its operations in the U.S. The Company operates through a network of offices spread across 22 U.S. states, the District of Columbia, the Commonwealth of Puerto Rico, and Canada. Revenues from the Company’s Puerto Rican and Canadian operations were not material for the three and six months ended June 30, 2023 nor the three and six months ended July 1, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Customer Concentration</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">For the three and six months ended June 30, 2023, the Company’s top 10 customers accounted for 51.7%, and 51.4%, respectively, of the Company’s consolidated contract revenue. <span style="background:#ffffff;">For the three and six months ended July 1, 2022, the Company’s top 10 customers accounted for </span><span style="background:#ffffff;">55.4%</span><span style="background:#ffffff;">, and </span><span style="background:#ffffff;">54.4%</span><span style="background:#ffffff;">, respectively, of the Company’s consolidated contract revenue.</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:12pt 0pt 12pt 0pt;">For the three months ended June 30, 2023, the Company had two customers, Dormitory Authority-State New York (“DASNY”) and the Los Angeles Department of Water and Power (“LADWP”), that accounted for 10.7% and 10.3% of its consolidated contract revenues, respectively<span style="background:#ffffff;">.</span> For the six months ended June 30, 2023, the Company had one customer, LADWP, that accounted for 10.6% of its consolidated contract revenues<span style="background:#ffffff;">.</span> <span style="background:#ffffff;">For the three and six months ended July 1, 2022, the Company had one customer, LADWP, that accounted for </span><span style="background:#ffffff;">14.6%</span><span style="background:#ffffff;"> and </span><span style="background:#ffffff;">15.8%</span><span style="background:#ffffff;">, respectively, of its consolidated contract revenues.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;margin:12pt 0pt 0pt 0pt;">On a segment basis, the Company had individual customers that accounted for more than 10% of its segment contract revenues. For the three months ended June 30, 2023, the Company had two customers, DASNY and LADWP, that accounted for 13.0% and 12.5% of its Energy segment revenues, respectively. For the six months ended June 30, 2023, the Company had two customers, LADWP and DASNY, that accounted for 13.0% and 11.6% of its Energy segment revenues, respectively. <span style="background:#ffffff;">For the three and six months ended June 30, 2023, no single customer accounted for 10% or more of </span>its Engineering and Consulting segment revenues<span style="background:#ffffff;">.</span> <span style="background:#ffffff;">For the three and six months ended July 1, 2022, the Company derived </span><span style="background:#ffffff;">17.6%</span><span style="background:#ffffff;"> and </span><span style="background:#ffffff;">19.2%</span><span style="background:#ffffff;">, respectively, of its Energy segment revenues from one customer, LADWP. For the three and six months ended July 1, 2022, no single customer accounted for 10% or more of its Engineering and Consulting segment revenues. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;background:#ffffff;margin:2pt 0pt 0pt 0pt;">On a geographical basis, the Company’s largest clients are based in California and New York. For the three and six months ended June 30, 2023, services provided to clients in California accounted for 41.4% and 41.9%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 26.1% and 25.3%, respectively, of the Company’s contract revenue. For the three and six months ended July 1, 2022, services provided to clients in California accounted for 40.9% and 42.2%, respectively, of the Company’s contract revenue and services provided to clients in New York accounted for 19.6% and 20.2%, respectively, of the Company’s contract revenue.</p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unallocated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&amp; Consulting</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Corporate</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intersegment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="14" style="vertical-align:bottom;white-space:nowrap;width:55.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,077</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,128</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,207</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,181)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 640</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,296)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 243</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,885)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 394,820</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Three Months Ended July 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 102,645</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,183</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,426</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,030</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,357)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,999)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,891)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (514)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,673)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,467)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,326)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 323,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,883</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Six Months Ended June 30, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,680</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,328</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,673</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,805</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,851)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,328</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,939)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,911)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 394,820</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Fiscal Six Months Ended July 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Contract revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 194,483</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,835</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,781</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment profit (loss) before income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (10,710)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (6,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (12,161)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (3,578)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,033)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,062)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,132)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,088</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,055)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (8,099)</p></td></tr><tr><td style="vertical-align:bottom;width:42.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Segment assets <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 323,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (23,130)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,883</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment assets are presented net of intercompany receivables.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 98015000 21062000 119077000 3877000 251000 4128000 -1000 -2206000 -2207000 603000 3218000 -3181000 640000 207000 1332000 -1296000 243000 397000 1885000 -1885000 397000 333136000 23851000 60963000 -23130000 394820000 84675000 17970000 102645000 4183000 243000 4426000 -1000 -1029000 -1030000 -6357000 2531000 -2173000 -5999000 -1891000 732000 -514000 -1673000 -4467000 1798000 -1657000 -4326000 323070000 23293000 58650000 -23130000 381883000 181300000 40380000 221680000 7801000 527000 8328000 -3000 -4670000 -4673000 3374000 5805000 -6851000 2328000 1448000 2490000 -2939000 999000 1927000 3313000 -3911000 1329000 333136000 23851000 60963000 -23130000 394820000 159561000 34922000 194483000 8340000 495000 8835000 -5000 -1776000 -1781000 -10710000 4638000 -6089000 -12161000 -3578000 1549000 -2033000 -4062000 -7132000 3088000 -4055000 -8099000 323070000 23293000 58650000 -23130000 381883000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended June 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">25,390</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">39,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">43,718</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">49,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">801</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">49,969</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">119,077</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">8,816</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,543</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">19,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">60,153</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">50,108</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">98,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">119,077</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,015</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,062</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,077</p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended June 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">30,997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">47,653</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">84,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">92,261</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">79,817</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">81,766</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">221,680</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">14,159</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">16,699</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">66,618</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">37,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">104,323</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100,658</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total<sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">181,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">40,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">221,680</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 181,300</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,380</p></td><td style="vertical-align:middle;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,680</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:14.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended July 1, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">7,587</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">13,340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">20,927</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">42,544</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">3,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">46,299</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">35,419</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">102,645</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">6,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">1,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">8,177</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">29,861</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">16,338</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">46,199</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,114</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,270</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">84,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">102,645</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 84,675</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 17,970</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 102,645</p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:middle;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended July 1, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Engineering and</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Consulting</b></p></td><td style="vertical-align:bottom;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:15.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="8" style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands)</i></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Contract Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Time-and-materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">16,405</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">26,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">42,746</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Unit-based</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">85,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">6,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">92,240</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Fixed price</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">57,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">1,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">59,497</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">194,483</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Client Type</b></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commercial</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">14,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">2,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">17,744</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Government</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">48,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">31,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">80,011</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Utilities <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">96,551</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">96,728</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total <sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">159,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">34,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;">194,483</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Geography </b><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:middle;width:48.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Domestic</p></td><td style="vertical-align:middle;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 159,561</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 34,922</p></td><td style="vertical-align:middle;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">$</p></td><td style="vertical-align:middle;width:14.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 2.4pt 0pt 0pt;"> 194,483</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Amounts may not add to the totals due to rounding.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Includes the portion of revenue related to small business programs paid by the end user/customer.</i></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6.75pt;font-style:italic;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:italic;font-weight:normal;">Revenue from the Company’s foreign operations were not material for the three and six months ended June 30, 2023 and July 1, 2022. </i></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 8947000 16443000 25390000 39900000 3818000 43718000 49168000 801000 49969000 98015000 21062000 119077000 7440000 1376000 8816000 40543000 19610000 60153000 50032000 76000 50108000 98015000 21062000 119077000 98015000 21062000 119077000 16656000 30997000 47653000 84827000 7434000 92261000 79817000 1949000 81766000 181300000 40380000 221680000 14159000 2540000 16699000 66618000 37705000 104323000 100523000 135000 100658000 181300000 40380000 221680000 181300000 40380000 221680000 7587000 13340000 20927000 42544000 3755000 46299000 34545000 874000 35419000 84675000 17970000 102645000 6701000 1476000 8177000 29861000 16338000 46199000 48114000 156000 48270000 84675000 17970000 102645000 84675000 17970000 102645000 16405000 26341000 42746000 85501000 6739000 92240000 57655000 1842000 59497000 159561000 34922000 194483000 14790000 2954000 17744000 48220000 31791000 80011000 96551000 177000 96728000 159561000 34922000 194483000 159561000 34922000 194483000 22 0.517 0.514 0.554 0.544 0.107 0.103 0.106 0.146 0.158 0.130 0.125 0.130 0.116 0.176 0.192 0.414 0.419 0.261 0.253 0.409 0.422 0.196 0.202 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">9. INCOME TAXES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences of temporary differences between the financial reporting basis and tax basis of the Company’s assets and liabilities, subject to a judgmental assessment of the recoverability of deferred tax assets. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets may not be realized. Significant judgment is applied when assessing the need for valuation allowances and includes the evaluation of historical income (loss) adjusted for the effects of non-recurring items and the impact of recent business combinations. Areas of estimation include the Company’s consideration of future taxable income which is driven by verifiable signed contracts and ongoing prudent and feasible tax planning strategies. Should a change in circumstances lead to a change in judgment about the utilization of deferred tax assets in future years, the Company would adjust the related valuation allowances in the period that the change in circumstances occurs, along with a corresponding increase or charge to income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">At the end of fiscal year 2022, the Company’s total valuation allowance was $1.2 million, remaining unchanged from the end of fiscal year 2021. As of June 30, 2023, the Company assessed all available positive and negative evidence available to determine whether, based on the weight of that evidence, there was a change in judgment related to the utilization of deferred tax assets in future years. The Company concluded that as of June 30, 2023, the valuation allowance for the Company’s deferred tax assets was appropriate in accordance with ASC 740. Consequently, there was no change to the valuation allowance during the three and six months ended June 30, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For acquired business entities, if the Company identifies changes to acquired deferred tax asset valuation allowances or liabilities related to uncertain tax positions during the measurement period and they relate to new information obtained about facts and circumstances that existed as of the acquisition date, those changes are considered a measurement period adjustment, and the Company records the offset to goodwill. The Company records all other changes to deferred tax asset valuation allowances and liabilities related to uncertain tax positions in current period income tax expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes the tax benefit from uncertain tax positions if it is more likely than not that the tax positions will be sustained on examination by the tax authorities, based on the technical merits of the position. The tax benefit is measured based on the largest benefit that has a greater than 50% likelihood of being realized upon ultimate settlement. The Company recognizes interest and penalties related to unrecognized tax benefits in income tax expense. During the three and six months ended June 30, 2023, and three and six months ended July 1, 2022, the Company did not record a liability for uncertain tax positions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Based on the Company’s estimates and determination of an effective tax rate for the year, the Company recorded an income tax expense of $0.2 million and $1.0 million for the three and six months ended June 30, 2023, respectively, as compared to an income tax benefit of $1.7 million and $4.1 million for the three and six months ended April 1, 2022, respectively. During the three and six months ended June 30, 2023, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction. During the three and six months ended July 1, 2022, the difference between the effective tax rate and the federal statutory rate was primarily attributable to state taxes, non-deductible stock compensation, nondeductible executive compensation, research and development tax credits, and the commercial building energy efficiency deduction. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 1200000 1200000 0 0 0 0 0 0 200000 1000000.0 -1700000 -4100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">10. EARNINGS PER SHARE (“EPS”)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Basic EPS is computed by dividing net income available to common stockholders by the weighted-average number of common shares outstanding. Diluted EPS is computed by dividing net income by the weighted-average number of common shares outstanding and dilutive potential common shares for the period. Potential common shares include the weighted-average dilutive effects of outstanding stock options and restricted stock awards using the treasury stock method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The following table sets forth the number of weighted-average common shares outstanding used to compute basic and diluted EPS:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:54.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands, except per share amounts)</i></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,326)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,099)</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,901</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive stock options and restricted stock awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding-diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,901</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings (Loss) per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.63)</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.63)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the three and six months ended June 30, 2023, the Company excluded 451,000 and 433,000 common shares, respectively, subject to outstanding equity awards from the calculation of diluted shares because their impact would have been anti-dilutive. For the three and six months ended July 1, 2022, the Company reported a net loss, and accordingly, all outstanding equity awards have been excluded from such periods because including them would have been anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Six months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">June 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 1,</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:middle;white-space:nowrap;width:54.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(in thousands, except per share amounts)</i></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 397</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,326)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,099)</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,901</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of dilutive stock options and restricted stock awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 143</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 176</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average common shares outstanding-diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,487</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,901</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings (Loss) per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.63)</p></td></tr><tr><td style="vertical-align:bottom;width:44.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.33)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.63)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;"> </p> 397000 397000 -4326000 -4326000 1329000 1329000 -8099000 -8099000 13344000 13016000 13305000 12901000 143000 176000 13487000 13016000 13481000 12901000 0.03 -0.33 0.10 -0.63 0.03 -0.33 0.10 -0.63 451000 433000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">11. CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Claims and Lawsuits</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company is subject to claims and lawsuits from time to time, including those alleging professional errors or omissions that arise in the ordinary course of business against firms that operate in the engineering and consulting professions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, for such claims as they arise and may from time to time establish reserves for litigation that is considered probable of a loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In accordance with accounting standards regarding loss contingencies, the Company accrues an undiscounted liability for those contingencies where the incurrence of a loss is probable and the amount can be reasonably estimated, and discloses the amount accrued and an estimate of any reasonably possible loss in excess of the amount accrued, if such disclosure is necessary for the Company’s financial statements not to be misleading. The Company does not accrue liabilities when the likelihood that the liability has been incurred is probable but the amount cannot be reasonably estimated, or when the liability is believed to be only reasonably possible or remote.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Because litigation outcomes are inherently unpredictable, the Company’s evaluation of legal proceedings often involves a series of complex assessments by management about future events and can rely heavily on estimates and assumptions. If the assessments indicate that loss contingencies that could be material to any one of the Company’s financial statements are not probable, but are reasonably possible, or are probable, but cannot be estimated, then the Company will disclose the nature of the loss contingencies, together with an estimate of the possible loss or a statement that such loss is not reasonably estimable. While the consequences of certain unresolved proceedings are not presently determinable, and a reasonable estimate of the probable and reasonably possible loss or range of loss in excess of amounts accrued for such proceedings cannot be made, an adverse outcome from such proceedings could have a material adverse effect on the Company’s earnings in any given reporting period. However, in the opinion of the Company’s management, after consulting with legal counsel, and taking into account insurance coverage, the ultimate liability related to current outstanding claims and lawsuits is not expected to have a material adverse effect on the Company’s financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">12. SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:11pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="background:#ffffff;">In accordance with ASC Topic 855, Subsequent Events, the Company evaluates subsequent events up until the date the Condensed Consolidated Financial Statements are issued. As of August 3, 2023, there were no subsequent events required to be reported.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> false false false false EXCEL 76 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /J5 U<'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 " #ZE0-76:K/ .\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O30=*J'KBV-/"H(#Q;>0W+9@TX;DI-VW-XU;A^@'\#%W__SN M=W"-]E(/ 9_#X#&0Q7@SN:Z/4OLU.Q)Y"1#U$9V*94KTJ;D?@E.4GN$ 7ND/ M=4 0G-^"0U)&D8(96/B%R-K&:*D#*AK"&6_T@O>?HM[!] M)-5K3+^BE73RN&:7R:_UPV:W9:W@HB[X?<'KG1!R=2?KU?OL^L/O*NP&8_?V M'QM?!-L&?MU%^P502P,$% @ ^I4#5YE&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #ZE0-7/QH!8O@% #7'P & 'AL+W=OI]>I=KY?Z2Q'S M]%BN1 )WYE+%7,.I6O32E1(\R(/BJ,<9CL)$3!5) MLSCFZOE21')ST:&=W87[<+'4YD)O=+[B"S$3^LMJJN"L5ZH$82R2-)0)46)^ MT?'HN['KFH#\B3]"L4E?'!.#\BCE-W,R"2XZCBF1B(2OC02'O[48BR@R2E". M?[>BG?*=)O#E\4[])H<'F$>>BK&,OH:!7EYTSCHD$'.>1?I>;GX36Z"!T?-E ME.:_9%,\V^]WB)^E6L;;8"A!'";%/W_:5L3+ *74D_@U;1A"(,(>YEO*,\7 O6QP3A]G"7Q7'+6O.S?7<&KVQ7 M% M_O8>4ZV@,_YCJZ%"H6]7,%_HNW3%?7'1@4\P%6HM.J.??J GSJ\VO.\D]@JV M7\+V,?6JFSP\KX2-% ^G3O>S#0F-:HDT*)$&S9 ^9UQIH:)GCY<:\ZCU J(AK4$/"T!3YL!3H4*I4E> M 8$4:.V=N%*96&HS"QK?DO.LY#Q#2[=-RC=A),A=%C\*92/$-1R'=EW7.3VQ MP:&A+>&&)=RP"=R]6(0FC4)KWO'8VH2XSM?)[>V5=T?>WW_Z,CTJBC>Y&Q_; M>%&EEKS4J<9;IPGQ)/&E@J\Q'V6/R$Q#SR52D;',$JV>X3^P5L,>]:MK&S$> MU!;YA<6@39 ?^!.9!/#%AO/0+]Q%?7_>(TG[73H<4$J9E1<-;LO+*E[6A-<+ M E!/CW8'Y!:>(Y\2>[OBDJSO4'+-4TT^0$>)(DZ\M4CLHPXNU9:^LD44-2(X M_<-&6NEQR5D6:E$4T74<*_,AS!&MW!'%_D98:> M*KD.$]_.BFN./2OH(5P4K6P4Q=U/WE<])7A]"^("9S6?Y"%,$ZU<$\4MSZWT MH6-.ES+!;-,>D3[K=X>TW[?R'<(WT'\%*L\E(,=SLP MM0G"9$%FS_&CC&SH>P2^WE[=65<2#F&86&68&.YN=HU)KI_\)4\6HM85[Q&Z M\V97GG7FC0>V):PL$FMDD<:94F8*5TQ,\Z:$-)M95YOV*/YI7:,:XU%M.2LS MQ!J9H4FBA2I6+,T_ K9RX8AWG(0P0JPP0:V2 S"05YC P4BZDLN:B/3J> M[PN0 (&@$+.R'L(#L:!;S*"*760JW4WN/Q75J5U7PN+9\E?-AC9S/ M=2S4PGR2[T%!+\$=Q"N>V!NUY?(1'M<6M'(^##9MM/11J@US-["NM1]0=#/O#,YB] MKVV,E0MB>[S+=@"Y"5-C]_X4X%ZPA< ]D)9 M\0%,!8B3)!!/Y(.PYIT]4H[C4/?4Z0^LTR\\N"WGB\TQW*9XT)!!T9@1M^:8 M/0*U616/^[]@O1=;IV; RW>44^*;9=AB%[6\6NY:>_E>;:]ZO-CR_LC->)F2 M2,PAU#D^A82GBEWDXD3+5;X1^RBUEG%^N!0\$,H\ /?G4NK=B7E!N9<_^@]0 M2P,$% @ ^I4#5\-.7V#W!@ RAX !@ !X;"]W;W)KWNLRN?/(CRNUPSIL!CGA7R=+)6:G,\F\ED MS7(JC\2&%?J7E2ASJO1M>3>3FY+1M%F49S,,83#+*2\F\Y/FV74Y/Q&5RGC! MKDL@JSRGY=,'EHF'TPF:/#^XX7=K53^8S4\V](XMF/JVN2[UW:S3DO*<%9*+ M I1L=3HY0\?G)*H7-!)_<_8@=ZY!;?T= )K1"QCB:I54/WOGIVS M+*LU:1P_MDHGW3OKA;O7S]H_-L9K8Y94LG.1_<-3M3Z=1!.0LA6M,G4C'CZQ MK4%^K2\1F6S^@H>M+)R I))*Y-O%&D'.B_8_?=PZ8FG5Q>;6X MO #Z:O'UR^>+LUM]\^'LR]G5^258?+J\O%V 0_!M<0%^/?@-' !>@-NUJ"0M M4GDR4QI#K6F6;-_WH7T?'GG?GU5Q! B< @PQL2P_=R^_8$FW'.\OGVG+._-Q M9SYN])$Q\ZNR9(4"5$JFY+'-GE:!9U=09]FQW-"$G4YT&DE6WK/)_.>?4 !_ MMUGW3LKV;"6=K<2E?7Y.Y1KH70-)?<%^5/R>9MIXZRZVJH)&55T*[N>(!%Y\ M,KO?-<>4BB(8=$)[,+T.IN>$><.D*GFB6 O4!LZIX*U;TBKS=RV%01C;C? [ M(WRG$6=)(BKM6EWI$J;]O,S8%!2Z*HL5H)FNG;1(&-!5&*2B6JI5E>F"MEVB M10Y(2)JM.@@\"*@".FU8ES;-+SH36+YD99<-4_TNN6%-6;&[S#4M]SP_Q M8$]-J0!J_79_!)T_ G?LB4*5NF1O$\V&+C#>&\8$P@$Z4RHB,(!V=&&'+G2B M^ZK6VI']5EGQA<:;<>0/G6<*>6%([.BB#EWD1'==L@WE*6"/FKLED\WVBP9R MLE>^;*@C<\])/$QC4RCP?,^..NY0QT[4MT+1[!4 8S/]?#\THM(B%I(X' &) M8$]_T GS4I?!3=Y U%[-F.X(UB)+ <\WI;AG]2^RR5PKU4$S)GPO]@;8;6+8 M)^$(]AWJ1D[L?PB1/O LLT)#IL,(1-C ]J+6)&3R^9-0W@H5H>59([M MWVK9?W]DNM BADD\DO>HIT3DYL0V\WFA:'''=>9OD8[O.#%PD #O;.46KBGF M(2\:84;44R-RZY";[+K&:4.?:BJV&FSR%?$U M:PPWQA3#443& JV+"; MV.J.BQ=W=0 E0D_=*2MI,S@['.M6^>99QZ0]#\(QPWK6PV[6ZUK)%_R/+E0?B\W=;1!IN,YD7A MD/=L4@$>V^J>]K";]O9;W9?"TD)GL1_$T1"K10Z'>N='T/:\A]V\]W)@FH1F M!J4I$T/?&^$\W',>=D]BHT$YU8^D[)R\$67]V K?G,%T0J.A 1:I *(1_#U] M83=]#4+U#:A-LD(P) 9L4RSRX[&8Z"D-NRFM[2L+4;PVB$W2PKX1(VZA_3.L MGM>(F]?:9'L!'[%,7#",_6&2V>1PA,*1TP[2DQ1YB:3RG*MF>FR/W)[9.!E# M[-1GIUY@8]UW4+1O<\]XQ'V6NE B^5X/SZR4OS3GB^K)VK"2=SU2?2]M^U;O M'*JZ:?2Z?!YZ9&W_%!S (XAT?2W!/R;BF;DYU*23V.ICI>$@.4UYS1FZYM6' M@(>\ G=<%T#K4!MLS(*O6$C9),+PQ!%(W#[YH*XFXL;IJA^E )&RT)O@;W6 M62;F.!HVYA8I$O@C#$WZ#H.X.XR6/Z2E5EFA6MJ$*(B"X2&%50[Y8\?FI&\H MB+NA,.BNB>%7PX^,#S36,PR+G/4,8[;SH;'^ROL7+>]X(767L](+X5&H'5"V M'T[;&R4VS;?'I5!*Y,WEFE$-NQ;0OZ^$[D:W-_7GS.[S]?P_4$L#!!0 ( M /J5 U<1 ADY7P, !$- 8 >&PO=V]R:W-H965T&UL MK5=M;]HP$/XK5C9-K=0U;[R4#I H,&W3UJ'1;9]-=C_[(L#0C8. I#4'QL84I,*:1D,>O M0H8VK':OL!_7TF'L6L MJ(0I9S]#7P4CX\H@/JQIRM0WOOL A:"NQO,XD]D_V>6V_8%!O%0J'A7.R" * MX_Q)?Q>)J#C8G3T.3N'@'.O@%@Y9YLR<629K1A4=#P7?$:&M$4TWLMQDWJ@F MC/4T+I7 MR'ZJ?'TZ^UL?KNA%NZ M8G!!*,/%3F,/")8-\7FZ4NN4X0K,;9M$YU$ZS5%T:5[+A'HP,K#V)(@M&.,W MK^R>]:XI!2<"JR7$+1/BMJ&?+"%YE%X616\MV[';Q_G>5G7^;]/K6*5-C7ZG MI-]IG<\%;@H@!/@$*\F[;V+6.>54G0BLIK5;:NVV3M43K18A^90ZL2\M^,E$'C&KL>R7[WO/89QPEH:D*N C_ MX@NM(A]MI)[C=RNL;"O_/:%_A&%-0K^4T'^1A%#*]##]_G^LGO)NLZ@1OBH) M7[V(,![W4N%^'L:;0ZRO#K)NLZBQ'I2L!ZTU/>51A!> O04].&5!GPBL)M2V M'@]GJW6"JE)?5L]%@ ,%?9%?8%5=X(K*5?"E0>=KND^'[#,_%\/2&3XXW/Z68KJQNS^=4^V?![ M+K_L/Q7J:G9B6:4[GI>IR%'!U]>3M^0R9K1J4"/^2/ES>?8;5:8\"O&UNKA= M74]P-2*>\:6L*!+U[XDO>)953&H<_V]))Z<^JX;GOX_L[VKCE3&/2@-GH %K&["?[<%I&S@_VX/;-JA-GS6VUXZ+$IG,KPKQ MC(H*K=BJ'[7WZ];*7VE>!X6[_B-'MG;J.T11]N8_0JU]>HW*;%+Q$:8X> MMN)0)OFJ?(-^Z5U?S:0:;-7E;-D.[*89&!T8&$,?1"ZW)8KS%5\![2-[>\_2 M?J:<=/(4/7KJAEH)?SOD%XCA-XABRH#Q+'[4/+M F-3-*63.O^L]_L>]]YS! M3F'#:CXV=MA @=!TYS5#5EZ[#8H M=)R G6 ]<]V3N:XU/*.T4(4(+44I2R36ZD?? M?/0JS9?9H50UJGJ\JN'9=_4X2R1?J4JCYF"9)DTMRU+H?C!13NC[1/.#B0H#[&K>B@$4<5@(^R$X^2&P^N%!R"3K&0LM M:,@!@3$Y@$(1EPVD,W"DPM":S;[E>>\4$ZH M$]%*B<"T5,97 AOQ;VK'4/(23$GAF"EI3+)H3+)X)++>U!#'+#G;5Q"K7]XERS1+Y=$SZ^;R5&)!^XEIF$="W7P Q7RF6V^B MG"#T=>,!U'GVZ]M..]NI/2:D6'Z=5OO7E3@31-NAT!L0K8>6333*#E#*BN-- M!U .]73+353 =*X8 M0@7,';"\T];$+JX_5O48M- QBXN/C8 &4"$S+#11Q'$-/0W!7&?0QDY0$ZNR M:\OPYL>5"/2#:^:8@+B&(P"8%P2![@D3YKM&2,00C 7N4&+K1"BQJ]#;7"UI MM8/X793E:[0NQ Z)/2_J,(>M![2FX^LZ!$!-71H:QILPS]%=%$-D!(=XR/A. ME!+?*D7J4$=IZX)VSN$-$;'JVY?*CU'9HE'9XK'8^G/2"61B5\BWN>2*5QZ7 MX!N47HACD,T/AFILIXF)5=3<9K?WH[FEIHR;DH#I60:"^;HF MC""4TJ%ZK0'[I.Y K:&==*1VZ=C/L(]\+0I^S#FUI 8=8$HYS\&Z^29HZH:A M/N< C)IJ B(CE'@#H4T[^4CM\O'V9"IZU>X77A\# #0=D'V.'NP :$J,Y1H! M,,,_,<3E8(\.&-Y)2&J7D'=\X$F6_J4V<9LDS=LY06IWL^)%^M3(WN.+J++.S-6K*;5LP6D;]07Q MJ&S1J&PQA=3^P%KI5#>UJ^[%\"H!O>T9WQ6 )&&"P"1APJ D 9 %>+ 8=(J; MVA5WG!1YFF_*8SE46XWF@RN<'$85W:.R1:.RQ6.Q]:>E$]W4+KIODC)=5I^1 MT$ID65*4W<3 =G0^6?A@2^P4:1-U!1?,*-(0V3ZBSV8RQMX%TT[X4WMPCM* MLT/UC>P%MH<_9;N) FV'R S;0:XAVUFGR!FV+L8_ZW,G?#5-GM2.?\./1Q_$ M098RR5=JH8++DEF%_HL_<8_)%HW*%H_%UI^@;NO [%N';EDV,P/&(S.%.V', M^#($PK#^.CZ"V;#V!2F&8#3$ _6!=9L%9M\LG"]'F\W "V3F&.^901A@,\RF M+T,(!M@\.SN^M./%ICXW5BII==;1-P?A/B3%)LU+E/&UZ@I?^&JL17.VK+F08E\?GGH44HI=_7/+$R4 *X!Z MOA9"'B^J#DXG_.9_ U!+ P04 " #ZE0-79-]%9D<+ +;0 & 'AL M+W=O?5Q6A5U]O7XW&U6+%-6KTJMBSG_[DKRDU:\\OR?EQM2Y8N M]X4VZ['ONM%XDV;YZ/)\_[>/Y>5YL:O76+T;>Z,LQM6?]Y^+/G5^(BRS#8LK[(B=TIV=S%ZX[VF4= 4V-_Q M[XP]5B>?G:8J7XKB:W-QM;P8N8U';,T6=0.1\E\/;,[6ZP:)^_%G"SHZVFP* MGG[^@4[WE>>5^9)6;%ZL_Y,MZ]7%:#IRENPNW:WK3\7C[ZRM4-C@+8IUM?_I M/+;WNB-GL:OJ8M,6YAYLLOSP._W6!N*D@$E\6C4S9W<[3FPYZN?6D> MX"QO6M9-7?+_9KQ2/SU>W_W7.G,\WL?/BEY=.M4I+5CE9[MRNBEV5YLOJ M-^<7Z?I\7'-G&Y/C1>O8VX-C?I=CQ6;#6]Y-72R^ J7GYM)OELNL:;GIVOF8 M9LLS[LL\W69UN@:PXAZLQ6*WV:W3FBV=ZWK%2H?[QKOQJNE?#\RYRA?%ACDO MWA55]1* 3\SPGUC-!P".G:1EGN7W4*RH&>*VT"HVYNW@V!C\8V/P]SA!!\[; M=)WF"^:DM1.SQ2N'>+\YONM[$'L'I&B/U Q?#Y>>/ST?/YQR!-P335SBR[?% M^FUG1(%*('/N;";?18&[)C._J< #$!9R# L9%)87O!4=VOK+02$ZH(9RB-Q M"9+1=O-@>5UMTP6[&/$F5['R@8TN?_V;%[G_@%HR)EB""4:1P"0"@R.!P1Z= M=!#(>RA_ZE:<0<[9_M/+9G3:CRVK8KUD9<6'M3]W6?T=XC% C,,<$RS&!$LP MP2@2F$1W>*0[-/;7F\/SJ+AS%H>'2-40[615M>/#+"=^4>1Y.[-YS.J5PS;; M=?&=L?;&[:YLA2U[F& 4=+]C%(V. MK$0_CY73L1AB*-(J$"I/G;G16]N.B F68()1)#")\LF1\@DNY1E_S.9-JO&# M\XX.:#1K.R)/M+;B$Z6G8MI+,,&HT7F)M.F1M.GSD];7/Z>:V^JTR.BD;??$ M!$LPP2@2F,3T[,CT; C3NXKS6A?.-OWNU.FWAOL?I-^7:5Z#R9L1V;8'SK36 M<#8E$Z4/8EI,,,%HC_L2-YXK$G,7A9V^KM::D=SSE>#.S;[8=C=4M 05C6*A MR:R>R"V>D=4K/HSNDTD^OG+\NLP6C:YP(#1]3,NED^9+9Y=G<+]KX4_GGD3E MTM,)5Q]H9B^M&<)$HUAH,D-" _',(H@-0[U]S]>H(!.-+Z,_UGT/$RU!1:-8 M:#*S0L;QS#K./M\_:W3H93.WV;*\2O?3&/:M^#R ZM[==2W9@QK+E"5&%2TI$63A_").G+0WMMD-H1^ MXID%E(:-75ZR=)W]C_>5^Y2/HR770\HS"UB#DJ6NSI MTH:F-:-:I&:+,D-"2_',8LJ)4O]F6[YRW(,,[8-T1+IR?,^< MYC]U^FQ6"@.\^YRJ6CYE&SU'18E2T!!6- M8J')K O!P#<+!H-FQF8,:VXQT6)4M 05C?J 5#(]'9IETD[V40S>2/'/W=H\ MF?"!30O:],S7A01OXD<3Y5D3F_VR#K9N-7!=94I(0=^BJ>=V1%'DZ_Z3]EWT M1Q38>$%\+U1CBKKS A4M046C6&@RCR*Y]\W)O4VRTD+U] 8][P63%;-?UISH M5H%D!?2M.UGQ15+NFY/RIR8K/K"8#R0K9NO6O0%U;P,J&L5"DWD4J;L?/>LT M#C,!GZ.BQ:AH"2H:Q4*361=2@S]H*\23UEK-T-:4Z^+%F>=%ZM")JC:@HM&^ M&L@4"17!'[3QX2\ON/IZ(G^FS3U0MS>@HB6H:!0+3295B!^^6?S 7,WS 4%$ M54/,[E@3BZJ&H*)1+#1Y2[900TC/]H@G+.:9(6T'4J)OK."S4*5!Q*@V$U0T MVE<#F1HA61 $R<*,80XL@0HL@@[6(PP*( M:^ .TB+4W3L$RO@,@$"9&!/*O(0%!%!E2T&!4M046C6&@RZT)D(,CG M+6P//K7V32>?"+0W8N:IHR&JO("*1J%*DEG7F"GD!8)\KN*OG'\BN@8QT^9Q MJ!H$*EJ"BD:QT&3FA09!GN^B0&CBIXOI:RHJH.J&BTKP;R^6"A)@0_ MY[!% !RV4,]:F%VQ/@*,JB^@HE$L-)E4H4,$SWO6(M#/6JA/NP!(VM5GG=E+ M:X90-T!@H$N"?M3!# M6K]H 5!>0C5]CU%M)JAHM*\&,C4G+\,P2R"#Y%DSAC47F&@Q*EH2Z%+*3-4\ M:<]-,A-"1@F&R2AI[;Q/R^-N7 (2 KQT@J@R8@#("5,W]-2SM&:_K".H6PW" MJ7I8!?0M]$G'V:% :!W!L+,0BAC5'U'@6 $)IC,UIJCJ!2I:@HI&L=!D'H5Z M$0P[C3%$2 R@'%V59@- BH"D6;-?UISH5@%I%JJ 09H-A,P0##L+82O-!L#Q M T":-5NW[@VHH@$J&NT-B$R04 ."V7-*LP&J(("*%J.B):AH% M-?B.5$!A" ML\ P:-)EQK#E%A4M1D5+4-%HBZ8L6W?LX@^%?A":]0-IY3P_#I_@9"($M )M M>A;J:@$?]">!.CTS^V4=:]UJ,%/W2E.H M-H&G4\D$*1XX?#]A]H*^=]$07R M>1)JQ\_,UJU;.6I&CXI&>P,B$R12]7#8UH8A<^86JJ>9 WDKE(68_;(.MFX5 MR$*@"ABRD%!DU>&PC06V64@([!\ LA"S=>MFCII!HZ)1+#29QY-W1X;/.3T+ M4=]]@(H6HZ(EJ&@4"TUF76@((?++*8>^J=!LU[H]Z)*%-JBB"@RH:-3HOLR< M4 W"G_".R;ZUA1!XS:(Z0*.^[ $5+4%%HUAH,N%"X AQCFF /&(J!/,0..@1 MJ8OIJ"835#3:4P&9("%PA#C;'7H[';#4K\W^4?4+5+0$%8UBH@ MVDQ0T6A?#61JA'(2F96309JA&<.:"U0U!14MB8"7:R4 !@ !X;"]W;W)KI^N@47SUS\E!O&2O"2I;F\G&S*LCB?S62T81F5GWC!)K)0C :FT59.D.>%\PRFN23Y87Y[D$L+WA5IDG.'@205991\7K-4OY\ M.8&3MR^^)T^;4G\Q6UX4](FM6/E'\2#4I]E.2YQD+)<)SX%@Z\O)%3R_(;Y> M8"3^E;!GV;D&VI1'SG_J#U_BRXFG$;&41:560=6_+;MA::HU*1Q_-4HGNWOJ MA=WK-^V?C?'*F$5W_OP;:PPR ".>2O,7/#>R MW@1$E2QYUBQ6"+(DK__3E\81G05*CWT!:A:@_@(RL@ W"[ QM$9FS+JE)5U> M"/X,A)96VO2%\8U9K:Q)O?MQPK7S]35NQ,06^F7".GPG]6^2> MO3. /(0M>&X.+4\_ 0^:Y<@!!^\\BXT^/.99*C=@K=)$@K7@&5"9)VB9Y$_U MUDW*A,ESF]MJM<2N5J?UN2QHQ"XG*F\E$ULV6?[];S#P_F&S^4C*]CQ =AX@ M+NW+;ZH*)7G$,P9.4B[EJ/'\' MSW<&Z"K^M\HO59)*"4JN:E+$\RA)&7\%))=5% MDI^^/[K^,:-[)&5[[@MV[@N5%'J[VE"'0T2^UT-MD0E& MZXJB/^E*JHB3+>\J-UI]&V%R (1^Q&K=W( MS9@;JJR1NJ_HE%,IF3)7>R)-Z&.2FM)JLM+R;;-(6Q9$L?4V:U&0]W*PE)?T\/I8+0 MPR.Q;5L!Z.X%;M1>%8H:FWA:\9'!G?$\&.3<4&H*PW LZ=IF #K)- .T1_N^P7JLX-%"@VY O=[%L[UH'-0J9D$0[ V<3"$7 MY4(WY^Y2IZ"OHWDS MY,T (]3'9V'7,/3']F5+L-#-L)H,*K97_*P@AY0YA9#,!VZTR 5C?D0MMR(W MM^[2^P!,9.%5'/@]D!:I*?+&/VYRB(VQ?Y84XA:1D(? MFWV3?,OD>Z8C=-3A]UC:]KW0',O.1;@.U9(G<9'D@BVS;T8I_2(C*XUZ_IMK$")J/],.H94XT_U 6 MK9./(/33S(0LC$\P9UW"(&/>2- M-&RH)6YT8#2N<0-SW"U+D42E'CQ53*UH;?SM!?-!Q7;>]'\,!FYY'KMYOAN, MG)?,V3AA"XTOYOUNV28%/7\D>W!+]MA-]M='&\DBA;RNV+X=;4> W1W!=]7W-T[_?^VP ML/W"8HA%+/!'#>F1J.I5T!04G5U4%S56\Z"U"N/A1#KU%_W$L$F1 M,=;#+8?C QR^SWKZ"$DU8>9PAKTP$272OO6')-QG#8L(&B$^W)(T_BA)-R=% M6::/% W\>A>QK$CY*V/-E\5;KU*DU%I.L67TQ8M^\V&3\H.Q7&[Y'+OYW#"A MH?*2Z]U3'^&"G4E/@HXT3=C"S3#LGSK;I!;^6#1: L?NT?= &V+CR]N6@+&;@)O'.$(G*#B)67UUJH_IM'%GM8FZ$=RJ_98WAW7O MX#QL.[0.VK M"%H-'1(V(4'_8-I?.L_4K. LO R#13_)+6)D/@:N\P": M.'?0JBJ*U$S4JNN($QFE7%:BYL2T]6L@NV]W;Q!=F?=F>M]?P_.;^CV@5DW]6M)7*E09E\J>M5+I?9HK8*)^ MTZ?^4/+"O"SSR,N29^9RPZARA190OZ^YFGJ:#_H&N_>MEO\%4$L#!!0 ( M /J5 U<.F%ZP_P@ % 7 8 >&PO=V]R:W-H965T&UL MM5CO<]LV$OU7,.IT9Q?M2=2>RSD^ODOD'D4L28!!0 E*+^ M]?=V05&TH]BY:^Z++9+ 8O?MV[=+GJR=OPTE452?Z\J&TT$9X_+9P4'(2JIU M&+DE63PIG*]UQ*5?'(2E)YW+IKHZF(['3PYJ;>S@[$3N7?FS$]?$REBZ\BHT M=:W]Y@55;GTZF RV-Z[-HHQ\X^#L9*D7=$/QP_+*X^J@LY*;FFPPSBI/Q>E@ M-GGVXHC7RX)_&5J'WF_%D([97N:J('_5 M.JT].ARHK G1U>UF>% ;F_[KSRT.O0U/QU_9,&TW3,7O=)!X^5)'?7;BW5IY M7@UK_$-"E=UPSEA.RDWT>&JP+YY=7K^9O;OX]^S]Q>4[-7OW4EU>O;J6JQMU M^5J]_^V5.K]\>S5[]_'D(.(\WG60M;9?)-O3K]A^HMXZ&\N@7MF<\KO[#^!G MY^QTZ^R+Z8,&?V_L2!V.AVHZGAX^8.^P"_Y0[!W^7X)/MH_VV^9B>A:6.J/3 M :HED%_1X.S''R9/QL\?\/RH\_SH(>M_T?.';4]&ZIO-JX_J#U-5N;;JC7?- M15+4NW# MN8)_%Q2X_'4U5)&RTII,5TK;7&7.!A2>L0O%V)J,@HI.-=%4)AH*0^PV*QU) M&9NCC/QF*/N6S;PRF8+>V S+E(Y*5Y6J:$55X$,7;D7>0G;B2,T"=">XQF MU] B"S!Y'^XY8+M1.E^9X+:(!U?$M?8IH!P:=6=+'Z*<@EFTL.14(7*/I'ID MC_(A0X1"*KD?K("ML=8AO_);$@N R.[B93:86NXJ*@J#;-L,+B&AH$CZ+>[! M/'J7GC-Q-C"[16Y/PAE7L$%E; "]$,ATWC.-)[\^#VKNG88[SL<"<#A.49<8 M]%(/3@:D,)8X*JZ=*G XN(C\>>)=B=(+AB<\4S]-?H9\=@[]-.7++@UR[[PK MA>20L9%\H?D\"7##VYE8V9RC.#9#"T1K)1[],MYE:>\(#&H@ M[@#?E+!^OO[W=#&V!L>FGH?,CT0GQH?/)2B=9:ZQ HZPS C-*\P4E'-]]'G$ M 07,,S 92\[HE?9175Q G"+5ZNE0O7,0ALE07?;*4=RZE 2)0W?C5Z]-X!K[ M2!JD[.5]EU/>GU(8)!)M;8,=_?QRGH),$;G"B<=3EL3CPU^0EEL%.\9!4,A* MG3M)E'KM3:XWH)P+%"*C_I(RJN? ^G R^C9//C4 @'RU><@9/FQRQY5'/4$_ M)NG'-[2,K4_CE-^>DUN9@W4.=W+T7YWQ5ONLA!6816#+)7*OYQ54J4W(!@F1 M>6"HUJ7)6*6 ( PG1'09I9.$5.GRGTV<5Y[ @#RE+O6\CU#0)2.MBNLM& M4# 07ARX2S]$+[:%#J;P@(+:+W81H?P^!.DOK^!!+;1BKF'I4J<2X8>/6X<_ M6,1O#RRO$N2'T=PC%N1>'1 ML$<]V'05W&/N>LP?MDD]DC[CC0OT5WDC&K_;(^HG98/\HR7URACJ6'%H.,:K MPKL:VU!#.Q1'ZAP=WT0UXSE D+ZFUG68Q:@#-<^\F1.WO:20Q\/MK 8NSZ.Z MQ.RT:.7QGPVZA8DBZ>(V;E3;ZY<=Q$'-YG@7Y#*^A21?FW"+$5'DW&,RQ& E ME)C=G*OW;HG);#H^YD)";TA48^?V$DN&')3"%]C<'2IHI:LF]=R2\$!&4)Y& MO*01B"2UA[&5V&5VM1Y( 6*Z2Y"P5;T >H 7 M?:US.V/$;E@D$37,7NP][F48P;:S@8.VBK;H(B:O$P6%_7RU%Q5IYJ@5RN_V MAGXH6':?"YV/4";87+93MHP2+,1+O1'*Y' 9E2_"/WTBJG:TK4^,ZJWUK/$^ MZ /.>&4Z2 EU\@\AJM2 M%9@!PG#[4I!.:=UO;/^.Z[%7XEBUL%KZ#$37Q%-W+6^L(_5BUQ99;+!_ RT> MX@ZZJ"0M5=[7QJ3=8>D%(2VZ7X%;K6.@J@YDEB^H>V0*>N(O*T+N_9FYGXTA M:"A"E_@,0C!-4V<2RH8]G)4:A+FE:)3K1_3W[\Y;S*LY"UR:7#L9?=V1Y>9Q M.G/X3 ^XY%L5H[W$%K!*S5-5; L9>Q@=N^AUG$ 9$TJ#"VM^ZR+Z16+8"20& MZH1"ZM,\5N<815)/V!'=6 AN;&=:'%OQ-.!#2L"0)9^[>:M#L!O:J82U;J,F MX_'?MHSJTW5'(?K<3@1[ P61J1VVF.']EH4F@'8"_[^@K@Z[C6SM;A:X4V51LB ,-G^F)/A>8\&[E\RAXA[GH,V ()VE(#IL>QT/ M&7&2NJI(",MHPG,<]S[N'EA9;>Z*_1QO(:!].R+<=V59(5)4%JU,.U=LOD6_ MOW\%/#XU[7B/F#+-[^S J8]W4T&(=MS?*R\M5?]=K_^_[1';0^\J)%\2%?,N5RE;,Z81O$-S=1;8.A[]>CQ0/GV_31?1+>6;Z=Q%O(W*SY(THN$%>%XXS$?M M!1_0?40_^P]02P,$% @ ^I4#5YF) <^, @ R04 !@ !X;"]W;W)K M!G09L"P%YND> X/99/#K=+/ID2T\%H):49!:6U] M'88F*[%BIJ=JE'12*%TQ2Z[>A*;6R'(/JD081]%%6#$N@W3H8PN=#E5C!9>X MT&":JF+Z;8)";4=!/]@'EGQ36A<(TV'--KA"^U0O-'EAQY+S"J7A2H+&8A2, M^]>3@7*6'\$[9M;I($ MD#7&JFH')@45E^V;O>[NX0!P%7T"B'> V.MN"WF57YAEZ5"K+6B736S.\*UZ M-(GCTGV4E=5TR@EGT^5L.IL_PG@Z?7B:/][-O\)B^3 G>SJ[IX/5,+14Q>6& MV8YQTC+&GS!>P+V2MC0PDSGF?^)#4M=)C/<2)_%1PN^-[$$2G4$GO0OHILC>@>=WL$Q]G_2>YPQ M[L'?2&%L0!5 =X_=W9^!+5$C;-U#*IJH3#72";;R>MBW9[:MR.Y^_T=LG=,[WATH# M@J!1[_(\ -TNCM:QJO;#NE:61M^;)>U:U"Z!S@NE[-YQ!;KMG;X#4$L#!!0 M ( /J5 U?&PO=V]R:W-H965T&ULM5QKC]M&EOTK1,]@8 -J=;OM>++Q [ =!YL!D@WL./.Y1):DBDD6PR+5 MUO[Z/??>>I$2U4X&^R5N4:RJ6_=Y[D-Y>6_[SVZO]5!\:>K6O;K:#T/WWZ46YM.]WBFZWM&S7@8[^[<5VO5<6+FOKF[O;V^4VC3'OU^B4_^Z5__=*. M0VU:_4M?N+%I5']\JVM[_^KJR55X\,'L]@,]N'G]LE,[_5$/G[I?>GRZB;M4 MIM&M,[8M>KU]=?7FR7=OG]'[_,)O1M^[[.^";K*Q]C-]^+%Z=75+!.E:EP/M MH/#/0;_3=4T;@8P__)Y7\4A:F/\==O^![XZ[;)33[VS];U,-^U=7WUX5E=ZJ ML1X^V/O_UOX^W]!^I:T=_[>XEW>?/+TJRM$-MO&+04%C6OE7??%\R!9\>[NP MX,XON&.ZY2"F\GLUJ-WM?]/0V=J,_^*J\&L29EH3R<>CQK<&ZX?6'][^] M__G3^X\O;P;L1L]N2K_RK:R\6UCYO/C)ML/>%>_;2E?3]3>@(I)R%TAY>W=Q MPW^-[;IX>KLJ[F[OGE[8[VF\VE/>[^E?N)JL?'9^)1G"=ZY3I7YU!4UWNC_H MJ]?_^-N3Y[VZ51[+'0[Z-X5 MIAUL44)2/0S 0;N&?6'P1UD;O.&*8:\&_AX&7!Q4;^R(A\=.N\)NBZXWI6EW M^-<>#!FB6V''LAXK>KHU7W3%[^A5,WW0[:B);EAL:?M*M:46LM]\_ 3=>/+L^O:_5L4'>;'8 M]K;!1I/[O6.[T?T*%ZO,UN!HY;#\7?&K[4Q9/+]]SJ0-H*'7->C%"_ T5<,L M>02C8J]QT/6Q^,??OKV[NWU!J[&./SUY\7A=O''P9.5^Q;N$FY@*.]")KE"1 MZT*4\N9,9&6OT>I.]^Q>Z:9V4YN=(H_%/*"OPSXKN!NP%E[ K\/3UBEQ;UX* MJJYMB0LMO%! &;0J]PM'SD]D+IV3SOU>M\4CVX.OCR<,<-C'^?N?/T-$OP6+ M[3TIT: V-8EA2RQW^6;$ZR?_?(%G]Q8O=+:7=YW>B:""#*.Z)CUGM>:;-M:1 M@C>-;>NI58"X<*-BIUO=@SX0Q('"#+C#FH5_^_1%\5&.C(I6_(HCHPY^$ XQ M!W_2P]Y6<>&O)U9Q[M%['+X[%I^2J61_1AKL=KA7O2YJ"+)U^MP[/R2++'[1 M/=X;$%JO[?8:'.AJS23^6=IV4#A\(-: X6"!0\BCCY?I_5.T!%9:4<"#@M : M];OMS7 DR9Y3BR1MXY*65H4]Z)[=4;'1I1K!*;\!+3#MR!Z.+&.+]X+6(/)" M)?@M;Z;KG*C,U2V?VP9K/G_71E1#N"0*5T,E_3+2/DOD5 9[DLHZ.J$MQ[[7 MU?5@KRO(A W8X7+LM 8[J'JZ@+UY.'+J9L$)]U44XHR-'J $,$ $Z(U-7A1 M$WF$LH)ID]\][J+98-8IWWIJYQ#M[Y8\0- M^%A/BR;OT=O?<:UU\2,B056Q=:V^BGPCSIB4ZQ6J!;Y)FG(G@]*+K=(G05Y+":^_#$=1<;J1TSL,0@?SW&;H3H4+X MV'D+P[,1YK*W8Y\,BUC+KLU'&$8[V,E6A0=&O:P#0Q7)TF\HU.--WD^$5SOK MT9$ F*!R6(R_3;/!P1S!IK:]3,*Z>.$#'G-V05=7I&1W)WF>J,R!SZ MKS%I G+( ]U ^LN:=-;XU@4RM;,Z.T5IF3)-T(YL!U;3%JR0BG0(N@J;JL: MH_A/TOO (N877^/T-;"OTC7,>2+H(-Z(8@E*-7:,B'RO#A2^L.\&;A)+-^/ MUJU5W^I*MD7\PJX"LPF+QD>Y\/KP#,)323V (A2V9IP3_" I 7.(B,2+%<$, MYJ*SM:DXY&Q4S?;,*><,Q[,!0*2X;6(. W0WPRYB]^#15CM*"&"6E,[@2_F& MR@D0-I^TU83$?CR7#S DG\K6^Q_:!M?%28Z!&V3):#!>']SP*/QX"8-GF)M? M(VQ!YGR*K-D;3=!ZP.++4/SBP1/L[7.5N;XM) YL^1Z)5S,0,$#H0?.11)J* M?*+J( OB#R++_=Z4E"-&G"'ON@$$J=JV!,#K6K)"NL?F*#JFVW0I 2:G=ZXA M#]D-?L/[-+LAT0NR7SB#;=%2Z"MVUE;XV"=] >6-<1)P3@/(7/-RTT#>8,JY M4V) ,P4RS.^ $DT"C]ZJ^%!.IU>!>6R=IDWA\6):-JMB8+_Q+>7R'$D;7C M#U)J7>Y;XA.$UE%\(KMX W2F8AYA MMPXD-UJYL6>G/8OK)!C6P@27Y0U__W,) R[N)-1'.8H$MOH,/+$SWR# ZRS0 M]#"4?,1"3-(4/-G8H!RLZ93UXOV&))J"*2#A6).D"<=M1,4(>\ W(GIH.0-* MQZRD>#[+YN/N^VR'^$;:_>R&2QG]O\D=PYET'FI[ M^H%K+4[X+/!$@" M.^I4_6)?SOY+?+;?_J2@Y3)_21$?6X2,?1+2Q7,YODT2HB>$V$9@81?*-S[! M^8(7F*>#HN2(.$I?0(W;P5%W>CV MBBZ,#76MN5H%".,Q"'^7?<6K&20Y7-G7._& M Q#RM)2LX,*5;NB? $VBZ#8Z%G4K I#G'9&9>KS<*'T)CL %;A72_[(WG(6P M-L+EK6;K[T^6>_F+1>!:,)TL<0J$ L=![BG85F;+>&.(S"5N>I8S-$QO2)[& MI6PR)R_;*6=#QBT)3,2*03QA[UC$F-5?HOE[LM>A7#C)FDF!2 %[,C2X%=(_ M0EU?>"\([-U4I4J.2LF9G"A4B$B9\@:3H(!5'DLL>U11W<9V#:,3\A!#[S.4 M.<[.HO1CIG9SUJ4\Z-Z("1'A' 5[J'Z0=&KF,25CF[4G'CIAJJ__8<5[=*$^ MLH%!25"2"EDIK']@!YG+X 2-_F!CKFO(EW(+AY1DY4N>7O?$4H,? M66"RI,Y_DG'%HY2&>^ 4HR"4C1VK5.O89?HSO'%KJ5'G6\?C'Q?WT!$.!Z$0 MP1E;*19)):N)S"JK7:A5D0OR5KW 2=+57!"4DGLE@"RHEQSPU>A\D2)(\1*N M9%,.E0VJR!1=/5*0P8X["K8^)UIY1B2T&JY!8!M77.A:3/9F:Y64[!A+ .?T MT2,2KGE*$DMD@&BZCJMPM-N;KD Z :/A.@ % M-E_]]EZ(K-<'MYA@.57K6*T4*>)0(<#6DP"&1Y6=2#KM[[MBF;V$,J^4*J"> MPIRM1'23,G\IQ%US(2[4$T/J2^C>UV^]^/MJ5J>(ZA?C\[;Y(OGV0'*K$HAL,< MRV4;P3@!$(W;>]IUBSU*+6U &J(0(9[40CIU9"9QM7A=?&+>Q!H0M:Y];55D M*N:4YQ$QE'%P"KE;2Q:.,8X'],5I4@^FEXN&6?@>XEV\CH,4QC#-]Q##_;E,9 H#_FT M@"D%O?%8 *T:6W9Q?"E$)PM!;?' M#L>RK BXUX=Y22[IV+*@!PL,KA%6M'0B M4\F4J:GUCBHHP4(9.Z_.JE7F&%>^&U+C;!D;HT,?(3$?;$\.!$"4:C0>>80H MJJO'/IDB1BEG6_ !'#XH4XLP)X6%=?']&)^!)[X*%'M1>5MQH[.^%)5C+K3U M+H+.T%(3_@O\SW-VAA&3%JR8*">DJVDW!B0$83M?[+U0JN"!DZDF>[LB4V]U M+!7)M9S.U$K2*X64B,Z6E"'+A1YV%-/FR8%&XZ0]*&7"B\NO0S4RT=/K'0 &!3 LARV2>D-W(N?2RIB!S+AV"DVDGX#*3Y*R*L M.J%3?]'E&*7V]4*/]:'HBJ>R?>2'@]Z_>3<9# KYSK 79T04K\Y1FAM(G*M: MQ69/;1HC>2;9%"0U#@QIR,M^UL<4:K$%S;6LTK4'>T_ )Z=V/O+$[RH@A7*O MJ]%CNOP%43#F]<1'Q?0\J+SC3GFX7#/R\,9GS2"NZ1(K)RJ@N-\(Y[.Q?>R< M'4@AV7V(V6<>QUM1IK%LYS/S#N^ZX60;6I8-IYTT4"8]>MM[V,$%NGP7?@C! M@'8LV8XBCEBN3U->\,#T#KOH:.F+;6U5_8Z5C:].98[7$9BD+/::DZIK+D5&/6 MS"8;:4K&525Z$E[S'8"*@>>3V3=W ?0H6"=WH>E@FS%BDD/99BT3FGR%6C:;UQKO7$ MP52$GC5&?)?UDG9]#=L#=_/KQ(KB1'=,8J]33>P2J0?:\=&M2RWE?.MFEE7E M?)A55T5QA12>,5DROK,U@*G?B;-1DO<15R&UBD/M-/1*!8"D[W>&RF@C0P)L M4YGTN5\0%4J*;>RWIFE+Y"^=S5--L0Y1T0S#B=VFSISS;G_=!%M M/V?F"\M$%@L"!N[+:/PY=N)(_"WY_C@BH9#8& ^-[]5.QWDN)^-<<3Y!HG?K M?YTTN;* 8=^B(RFXKZ \GS[,!]%(75JN24Y,;#IO)2 UO#HI_?[_4*N_^!F1 M_XBU(5'A?+K_K 5<\#@ME[?*D+OO>7[MF%^642(WL#M28!FBAKRS7P($8@5M MGR*%=?%1/*+SQIW[5=]J$7=54:&1RG0)\3YUGM0"@RP>)(1#7'+V/V:R MGE>D1#D7II!)A4Y;6WL/,VBRG+%Y/JVUA1[>JS!?[6_/]D01T' G* PTL-O] M.8$ZAE]N"#"00^'6/YP-A24,0K,'MN81$X^W%5)8']0)/^Y",9'HAO+)0/R\ M..NBM<+R K#)D04-T:B^-W*K",5III^1L2"P6LI**;V,#8'*CIL!B6""35GX M5*&$131#%GDQ)X1Y?NV/$?D 3_![S)K55K)?@)%9W!/B=@MGA^):[ 2%A#,9 M4SAWVN??<(W;_P@NHAQ+*,70N""->2#N;JG>)"U3..KK>$PDC.D2;QL.2MK& MAI0VY2PY1LELYL_7=P+&BH,;>0FYHY\+D>E =.VL_QGSEU1_ILP5?I?/U"Z; MM2;K;/Q I =*Q'4N@0_B<^@XKI<7W0CT6,I +7TE93OD -TX>,\B790L2HD; MS%5.^+*LC\1L*@: W:%OI1N>G<\$M.:?H%$+7PITZLQF'6F?'1T--V9[3C"I M'_RG-5*ZH2X'5&\U"24))8-]%&A[[6<97)0S<7"OZTI2H4V ?4NS@?['J!U< MTZ@D"TP_%CT9&_.C*T<.WZ0 MK>;\2[SM []9AI/AH+\_N5M_0Q"[#I7_Q]02P,$% @ ^I4# M5P]M^H%&ULS1EK M;]NV]J\07C#< IRMIRTW#\!)TRY#6P1)NON9ENB(MY2HD50=[]?OD'K1CI(F M%RVP+Z%X?-YO*2=;(;^JG%*-'@I>JM-)KG7U=C93:4X+HJ:BHB7\LA&R(!JN M\GZF*DE)9HD*/@L\;SXK""LG9R<6=BW/3D2M.2OIM42J+@HB=^>4B^WIQ)]T M@!MVGVL#F)V=5.2>WE+]I;J6<)OU7#)6T%(Q42))-Z>3E?_V/#+X%N%/1K?* M>4;&DK407\WE*CN=>$8ARFFJ#0<"QS=Z03DWC$"-OUJ>DUZD(72?.^[OK>U@ MRYHH>B'X?UFF\]-),D$9W9":ZQNQ_9VV]L2&7RJXLG_1ML$- 3FME19%2PP: M%*QL3O+0^L$A2+PG"(*6(+!Z-X*LEN^()F%7!G3Z[/;+]?7'RT^7G^]6']'[J\^KSQ=7\'1[M[JS4/1N=;/,OPC[J3J!&%)7?Z.3LUU_\N7?\C-)1KW3T'/?_ M7^EGV8XK'4W1B\2A&ZJT9*FF&;H@*D=W.44;P:':67F/-%ESBBHIOK&,*D2@ MD%-1IHPS8JM2;%!JJ$B9-0_TKYI](YR66F$+E0-_BR!I):2Y;9G.68DTR .6 M&30*@R)*)3C+B,%8$T[*E");'@II89&UT(1;7OB%(E4NMB4:9 T2E(:C,)2] M)1NP7+U%O_Z2!%YX_,-.* !J"Z #O*,I+=94[@%-=9@_P2/Z_UCU1:W 0/6F M"=68TWN"(^2'>!XM'4""$V_N!MP2NY+\8)#H>WB^6**[G^'N?6\_I[._Q%$2 M]X OD"@2I51J&%BHUI"(>F>$: D# A0R,B]$49%RARHJF#+%2L2:HU13GEF=580LN&])>63T5VG;*TI/)^!R@I ( -L%N#+1V],F@9 M QD:1+6)VFIG_;HX5L C^ZT9"6 "U,Z:YH1O#'<'>VH+L+/ V(3 ?Q2X$C7* M%48OR :1&3-A6->:&CP%55Q#JG3*[ F'J$'HTE3(#(J<[_;=EG*B%-LPJEI& MG7OKUI%]N!L)H-A!"DS1.4U)K?8U(7+,T14( S0IZOO\*<]UBBN;;SD!_Y<" M,5 WU<:3CO8]C=DF3 =+2<5,!H,H6(4DM"T+['(/=S8VO0ERI-*-JK:7EL:D MUZ0R.&/#2FA;O1A6MH*,:H%W?-,(,70';K,(_C&VK=&*5/5:0;T9,6TRJB$\ MV8@PV-OVI5T/.7P8I%8Y'"DM2+B!,5X7I^VU[_)?WP_>U+)FN M(6S&A@U[,,]N8XFPGR1[=V\>V*2!@I&04S+;DI9.JVO;R)KH4<0-JX$TQK&C+-R\$*UJ* &Q9IR:G)5U M^K5MOY )H +M.0\2_3#>NT7HMEXWX[/GO<#^8C%56FO,Z:RB0OUI4I=.1-Y["&<]XA'/E3OP= C>P1T(?*;"50. U[Z$Z# MFVTG&XUB-SX4>T!%LT93LT8/.6_3VL9.&&H%$PKM*)$VU;$IU(K:UQT.\P"" M(6N@_LC(VK1%1O_UU=BI#.VKFQU@:"K4WGX2^'@9+%Q @L-%U%.O15FK$6/G M>!$GCZ )CA8>NBPJ+G:4VA9J\@PZX\ AP(ME[-SBA6]; $1YR!EHM!+V7UA] M'ZA+.E]ZSBV,/-BDS Y@B00$7#[2*82Z/83Y$6PX86^DF<)U:8>2X7,H-$I\ M5WL_:/1Z\]1]-LE67,1,-I M4QU(H=G3.6LS\[J6:0YE"'&%!6.5_0]6AZ8OV^S]3N+>V)<3$XPO,$Y^_%O MX7G9K)7.NALLH09B!W*XEH]!.JK+\A[>#6'K;;/I CQ62%LV4_]0;P M/?@8#[/">]@/HM>:<$ UM'I-P"KS%KI2BOZ$3>1GG_M=?S3S1WOJ:\\/4JC! M.^X(?SG&:FRV Q ZU/YO8[!K^[KUO1)SP6;FF>6-0;'1GU]MKSWO),EH28IA M$80\C?'2]UT 3+%D_BR&AYY ),>7DZ@_=,T+P473D_H M3F";."V\!X^?8 MA[^9\\46?'=OOTO#JYDIBN;C;0_M/WVOFB^^ WKSW?P3D="T%2R/&R#UIHMX M@F3S+;JY:%'9[[]KH2%0]C&GD)C2(,#O&R%T=S$"^G\(G/T#4$L#!!0 ( M /J5 U=+Q(ZNS@@ !49 9 >&PO=V]R:W-H965T]$ 7EN6'W&:!^ DS;U=-$V19'<_TQ)M$Y5$EZ3B^-_O M&5(OQ[*1XGZ))6IF.,\S0^9BH_1/LQ+"LM&9DR5RIG_3R-;[L!*202$1D20+'SXNX$4E"@J#&KT)FI]J2 M&)O/I?0[9SMLF7,C;E3R/QG;U65GVF&Q6/ \L8]J\[ MG*F.&\K)C(+R9#6^2O#9J]LOU\_LX?K;U[]FSU\?OC]=]"VDTK=^5$BX]A+" M Q(F[%YE=F78ERP6\2Y_']I4*H6E2M?A48'_SK,>&P9=%@;A\(B\867BT,D; M_@,3O811NP0JC,]FS2-QV4'F&Z%?1.?JSS\&D^#\B'ZC2K_1,>GOTN^XA'&/ MO17";L7<,C5/Y))3^ILN$Z]1DL4+G^'IZWR M1P-O@%W!IS'%GR^U$(!0:_:(SZ;3O;5!]VP\9<_*\L3S[Q$$8;>5,3AUK%^- MR5T>1@4&6L, MP%-K6,[62CO\5PN6J&SY+TMNW;'.B1N^3[EDPA.MWJ$LY=<(T6#ZPLZ [ M'HVJA=T,D:BIA\QG?C@A9!N<=9&\@MVH=,VSK7-5)+1%&R5-)5QE\KF1L>2: MN&&)@$@F,ZM S&:(*N#6\3T*I)/%2['IK(PZ^\01A()ROG4;WDEMK&TL7Z+EL,&XJ>*3B!1V.<#R7;WX(MXQZWDE]4&6>[[UU&'@J>]4KNUJ MGWRVUC(I6\&@H)6+-M)[KJ,5FSK*L-!;OK8*]3:&)2EYT)OY JH6ALK"05,Z M!3H,SM^ZW"T/SD_0QB&+,[-%G4>00X9[E)7(:)D9*VWN(1A>22A&VE?,]?T# M^YMK+0V[YMG/+OO>F_6Z1,5C3 #26,UIE$%UNQ@WM)GM$LR6#8UZ"(K83Y&U M5B\R1H9AP .DGD#G#X,@Z 68-I*$$MX(E!+\X$HA(3QJ;MD UW*G+N1 4+YF MR-4/XZ8L9'=<8%Q,&+A]R%_;R6H_;E-859D?>\D6)V.&:RFGYZ:EI=NV:',MV#+GF@-./"80TKBAAKY"_46.?06+50I4D=$."G6] MU8E,)14&!@JQ=EOVV(]<$_1;"CGM3 %UQ=Y:6B75/F U/+3'U8A[JL@SKM'9 M%75/Y-P,6;"$I"556Z.OUNXXW, W %?D"BI'1F0:],L42Q56[0J!14DTDHN3 MJP"G.)VPV$>)Q*^%E@H>U"K= PT0:)4O?OZ%8Y4&&^IT[5N=.)WN >[34\ MZ#?ZH,6O7!+A[P7G]UR.\Z?#$WQ:Y$G2%%FA2YF3I%Z$G((V]EB%E_TLQ\BP M6%1H1>4(2VR9JBY2!5P@N%6UL(CCG$,506)\@54J$+%,U\K +[4&OM*-L&4R M[M5M'9\OI4I[86JMU[TDFPNN:002I!.5H9!.18Y.:5P2B??E4!&GIZ)+/" K M,CJ_8[QP\88GO+ 2BQ[N'AOP8UM36CDP]!' S@[&(^C59>LDIZQA?(T 1WR> M"."[7DH0>PS8^\ T4OJR@0F06\0CC]2T@YZ]."R RY8PYFT6AO?<"-I,:@8 MPU9&,JO!@XE'K(MD5=YU;65Z7@X-,947G.'$1#S+%(6H49P S>!CM\YFVE@N MT%40?>=D:CR6]G+.VL7%@P5:H)]Y1Z4>R:4#M6H)L-S$O--H64I#(T\,H WC M*Z=B10EY23@LE]+R+*?R:!PZCC>>XQ/#T4+W7GJ3)S[:06\4?"0,AOPL3]\7 M5I^X,,:45)B5!/5:G-S($G)#(JRE016OQ4"E&J?9=[3:';U+M:>C(KLGTVE# M[^Z;,MHQ YW%U;[)\=VKU= *PS,G0>[:DA!5Z4:&[)&786CS2PU?K0-TD8!F MI]/ &(?FQ9Q8GNQJ#2HL)QO+>QDORF/T+L8PNE]U(K@;TEN[)X7(NBLZ'/=2819Q^[AIN5E_#M,[NK1ZWBB4 M>$80AR>C$NG/R'=58C]5X-MKNQOM-ZZJH-DF;!!5B#WNFXP[2_A/" Z&( -\72MGRA3:H M_A-R]7]02P,$% @ ^I4#5WMV 2-)"P A"< !D !X;"]W;W)K&ULM5I9<]LX$OXK*$TRE531LD3JJ])FLA"?-3-EGG/]\$YDZNYB-!W5#[[(S=;B@]/+\QW?B!MA_[W[K&%T MZKDD,A>%D:I@6J07HZOIFW?WE_=O+\Y/[7 M"Y^&O2\2D73I3T$'KTA8*_(N/,KPGV4Q9M$D8.$D MC([PB_S&(N(7??/&'-UL/QTFP1NSX[&X&$&4&Z%OQ>CRUU^FB\G;(UK-O%:S M8]R/:'6<;C%FCI1]W0IVK?(=+QY8)B >#8N%MI!^3*6IC 5+>2PS:27,E. < MS3)5;$ZLT'G "E6U8/#?+==2E88E MW-*D5N5F"[^"/0BNT5>K,?L(R94D$K,LH+E:/VF86F=R \1)I4LJ"Q1?BX.J MXM5/2UU(6Z+@(JDW(_XNY0Z*@/UVS99C]D&KG%DH(LPJ^NWJ!VR%-DP6,-M8 MA@S3TL\HH%T/FXP\[&8.R#VS+;U$REG*BA(@QP+;8X"A%4ZJ"+$FECNQL M6.#M<[>5\19J$_B]B+,RP>C"F#!$PC0(\C5'K8%N,>%HKR'B 7?N,A#0W1L2#HE M(I8)V:5XYYC1^R22%).Z9=FH, M2*K#HO&7DU<^+D%A]<9IT9A=5?F*_(\:AL+RQ*H3^L?'MA:LE2P0QVWE M*\VMI'-Q MX!<[-_.-%H+B&;(EQ3@**'QX9J"FH/-(8TB-1+C<$VBJJA(JTTCA:0IJ5FSA MH3$2&@PGXTA$A['2";4F"I"KFVOV54$DL-4L/)E.3L(YM. F^G%]6=C*%Q ; M32=5=9=KVFH Z@&,3FBZ\$EI>EF)D3^)WK(/GKR26$\<:?Z]&!RHX$)/@+%5 M#KL"MQE+VVVK8"A"6K00*X7A#D#31F,08ZAT(&$C%!U-++8J T?F& /.<9"@ M9%M@5^?4,+%-7<]:_1.LW*\0:YZ1SH1WL7$_20. /5@Z4G1:F9=UD .\BR5W MJ(5\SB$4H5F8G7*>XCFZ&&H%JN^4B%TW83NE:QOT#%TC'E/Z!)75*!1SY/L_4! V7)5>F78=R[ 00P*9+:P5.MB_*G%L XQ1 MS@PXGQR%8!2//M+E<]LI;2LB.(/36J6P1&PEC$66"E< 5GYF+VDZ7#W/#SG M+WLBYU]]#-N/G#WAYAK1'L?TN@LMV^_"WLJAV_;IZH/4$\I*88RR34%N7),K MJCI!AY#"5HVJ\E9:$DZ&)52S@.H#L8L]D[P0-)4$## P!V M:P".=6^@HQ/,WDD >AYQT%,GH6IM=9Y1,3X07"3!A^K!0K$G!IO^UFYGJ<)S M$@$F;#W5Y=#1B*S5?#-@^+-_OVX!CG1N/OS4C;S?/^&!:?, 7#,-GKX $2W^ M"5O_U7.OR+UP$(:H,Z\//>Z52(IC]@)D+!8S3X/C>=0>1\%TONR.IV&%3D2+ MU<]SQ)7K;;PNNE49K:>CZ6I $L[G@V>+\&SP;+9:L8]U@P'NP[+L.[^/V33Q7- MEN?!?+7JCB=-R%X=.'HT80L66RQ:%3R$$C!YW7/"TX\[C2(0?V'8&2^6T;-- ML]=%'1#?KFK36=0=3Z/'.3P2JSYF@W ^W?-T,9GVK)8^05?,TEEGO)P^/X#[ MOW_2E2E"1L!%?#.\MB.0CJ6+[D&_(W2;.M>[._ ]<[P85J-H',T'CCG (!S/ MAM4W'"^&_>^'62N1)G9G<4B@GVB;^7@Y8R_]<#:&@OKR,7O,QM#*7[9,.5NV MAE\PA&MS>= M>&'A+N R=PB-L;EK=RL&PI9]8=&W"7-8%%MN5]80SOND.PI/%%W.M>$)"2YW MNZP^Y='+D11?G[27U=>3],; >81>%/VPQG[H]R"TKW\?1? ^2P;XW9?[+FJY M1@OLN*RN%^DBR@RNPW+8<.G.QL,;"?D<4S09TOC O?GI7[(TE3("+!MUQB'T MEX.<>F\ !]FT%T8W-Z+?QJT-8[R$V?/K^C[LI];-]36<^]WE=CIX4_&=_AB8 M?09XH7MXFTR:N'K\: U956H'Y/;%#MUI]UZK_/C4:O97%]E'$J/I42:&2H'= M\CN0/#5AO"V'G79.&-3_S]KCQ:I!%;"TL?PL.%LTN ^\L.PL;-IJ%)RMAL?5 MV3)L+Q]&?Q1$BV$0A]..E.5@ 9SEIPW9:M)>O:I?$VG!4T >S;)I([]AV<;_ M_AYH(&\9S.9#6!D&\U:U^P2X[@W[F.]*2_E2G;Z]K^$8/)N_'C!Y-0U7?21\ M&,OU#B.-)FV YS2I7@[O9=,]7C5F;4/:/YJ;X:,XN'NZ>G$ NM*U>=\VJ=)' M\*L6U=G>4$Y[*L0 JJCZ0J]&TKT?706N.]?.W PNW!E]ED%WS9"H4E4?.;3N M\!M!J&BO2QQ35;CW<:!>#>[J^]\^$Q]R[@6XU-T[9H]#]GV><]KZ,BH7>D/? M?R%$ GGN(RG_U']B=N6^K&J6N^_3?N=Z(PN\@DR!=#)>SD?N;KD>6+6C[ZS6 MREJ5T[];P:&ZX *83Y6R]0 %^ _O+O\/4$L#!!0 ( /J5 U>O**TZ"0< M #(1 9 >&PO=V]R:W-H965TCS-#'VVL^^)+*0-]J[3QQZ,RA/KU9.+S4E;"9[:6!F]6UE4BX.C6$U\[ M*8K(5.G)?#H]G%1"F=')47QV[4Z.;!.T,O+:D6^J2KCMF=1V&4-.;DZ'IW.7I\=,'TD^*3DQ@]^$WNR MM/8+'RZ*X]&4#9):YH$E"'S=R;=2:Q8$,[ZV,D>]2F8<_NZD_Q9]AR]+X>5; MJS^K(I3'HUF8YM/Y M_C/R]GOG]Z.\_7_%^23[X''9W$RO?2UR>3Q"MWCI[N3HY.\%D#/=?/J&K8L_9V]^ >F==)YDZX*G36EA M[9W$&SR3 >)"Z>!K)10@B*I_/:"N%BY3 M&PG#A&*/'M8 MB2^0*4)><@"&%L,:=I.)7DQ_8C%L?"U<4+F"E.!;AQ]P@9X)V;TQ-36?#WMV M90IUIPJ6.Y#41XZ=!!E1N^:6!U2Y&7GAU??NDQ( MAA0"(,@>$*+E'QJ]I5E\,']H2O%DS-FU678(@-4:#S+ZA-(42RWIP@2)]@W ML*""0HW\:>A2.!AUP%IFA[M:V(;P2'6B5+3>_FHW7"4(KU>%0B3&]/E\@9CG M7QOEVC-A77O'1<@.1KF:<.T3!?Z63Q M@&D/\R(.Q#NIM\GRKC$:^(3QUC?'L"/11*=L '544?NE=&MD_G2-#L&<#F,J M!+>,B"I_DTO7<++GARE0.WW8,W7ZQK1,T1/(\)H^(Q,%U+YWMJG'2$.>M;'" MQ_OS*]H3]RV_Y-T"$H:AN4&EZ8(^9W0)&DM[K>)XZIU,E$N$CSYD=.9$8WK* M>&HIF1#ALFL)'QQF="B3W)T8=OH70#:)A*,O?*\R M/@AK6^^!6G*MB)P4I?<\X&%NZ3?B. MGZ=:'CJUV/297P2DE0]76&K_PE([WH4/-(H%[ED',(2-&N/( M>#SO0@"KK@>5U4EA';M@55B8:VP@R.6@J0!+L7+F7P:8D7TWRV7$Q )12] @ MNDJ]+YM!!PSA9UCPFU+EWQ-OT/<QW6"]6TL5$ M6\Y[WE3+E/<'POH*X; Y7ZJ:34YPCKKHRPU&X[KR:&TAJQZ.971E ],Q.!>= MJH?$CF\ 7.YKX7JBSMY!&'J&&.HG4M*N(9A2N!/PGI(6@6%-%0#[>#G"A(W1 M^%[#L"O:S>6?)+3 34.A[00/BI[Q8:*?SBK0)V42]F+QD#NQ1O&N;42#'35C MPDTS=0A\X\:S$8H8[';<]DV-5@H#?WI#!#Y8M^C7M)64X]8HSB6TI=WL?K+F MEI\! 1KG4G.Q!+C2V1['[Q,1 5FO7#MHZPUYJG.4<&*KPU1NHD(,-TAL\H;-Q%^XWA?R7Q MP>*R]-8M$SXSXN7<>MIBZN\L$%B';;,N284X?M&'0C]:VO?QY_Y+0([ 9G&& M3/&UL MW5MI4]RX%OTK*F8R1:I$XWW)0A6!)).I":%"\J;FHW"+;M5XZ;'=+._7OW-E MNS%MT1C"3,C[ FY;NKKKN5?7\JN+HORKFDM9L\LLS:O76_.Z7KS8W:V2N3LZ+,1(V?Y6RW6I123/6D+-UU+"O8S83*M_9>Z7O'Y=ZK8EFG*I?' M):N662;*JS;]E;W8W/:C:OZ<;NWJN%F,D367]=')?XM;NB,E69S"M5 MY*R49Z^W]NT7;SP:KP?\1\F+JG?-2)+3HOB+?GR8OMZRB"&9RJ0F"@+_SN6! M3%,B!#;^;FENK9:DB?WKCOH[+3MD.165/"C2/]2TGK_>BK;85)Z)95I_+BY^ ME:T\/M%+BK32?]E%,]8-MUBRK.HB:R>#@TSES7]QV>JA-R&R;IG@M!,S MD.;R4-1B[U597+"21H,:76A1]6PPIW(RRDE=XJG"O'KOY.W[CV^/OK#]HT/V M_NVG]Y_WCW_]<+#_._MP].[3YX_[7SY\.GJU6V,E&K^;M%3?-%2=6Z@&[&.1 MU_.*O98CKN!GKL2V]7TW$<6NZ'J MF:E2 +VH%B*1K[<0(94LS^76WB\_V8'U<@//WHIG;Q/U!_.\D:J99Q9-V)CE MV(F<(4)K]B%O\($"[?(L<.7U:LOBA8U8RMF"@E'$.6LRO. M1#[%]0Q,R5+E,_W[H,@K!!5^-L]K \%DKN09 S:5@@8B$!.E@2(3?\F2LXNY M2N8L@1>J?"G!0,%.)5-U-U->RF1)@,"*LS.5T)12)A(W*KUF*<\) -B9RD6> M*)$RU1-1Y6!*X:F^,R&1(=,%_+E<>;D>\MLRO6*VON%,C)K=K @FST6Z%#5I ),Q2K.<)R0WDP(Z MZA@E;)NRY4*+EQ091I0L+2I(6199MP), T6"B.Q&U>)25A-V(,L:.6!%3E05 M4LI-I27I95;"XJJ!)<29DS[9A0*CV% M#9EJGI5R491T%\8%D<9D^'EZI87=K)D)?):)*;C +A:R$.ITB_LHG((E530:.OV3JI<:-9#>()LF6*+%^]8$3#P7D2U>]L ,ER44CJ%PO1Y"?"EJZ'*=\K8V M2K&L8,?J.91>)1CU18-'/[FN@<;W4N3!>HAT#WYF<<0MV^_=<&QN!4[OQLXM MU[8=MYVH,9BL MZ@:Z*LE9#G1;'SMF!8<[5C!R7+C*KXNR. /";!,>/Q\"<,?6@$I@#5W"Y8X= M#?W-Y79D/Q_!6>!9T,=@Z>U3F4LP.21!@@Q4Q5W7&3)A"X[T@E& M,](J9B!J;%HYBGS3RK@]9F6B>=)/A@L M>$[PB+ 2'3B<>- M;(B@T 00ONV-8L2&1@;4!)T38HS<.!QUP&4C8$*!+G5 M\_P>5#CQT#W]"#P,1]\.%1%AF]M!Q0EV'3]6 8&\Q%VKCPR>Q=UH#%0XJ#4" MC+P?5(0\LH9AX#O#9#(&*B(XPM@*8@P8$6X.S6\>YWXS5+C<#;VA+J A0Q(- M*+>-2M^M3NX!$S;WO&% .MR+3;' 8S<>PPC@:@1(V#PV&!^JL0TIV^6Q/4H) M\&I@_I.K)0P \;0K"=N/N1_8O3NN!X.-VF% = _8>#]\0$1[0Z?SXF%$C,.' MR/5'XL.8%9"YPC$[#(R+[&\O)6R+A[;!JP _KB&!!MR*1D7FMHVR([#O6TRX MW \C4P3[WK"^ DY8[KC*QJ,]ZZB"(D24.88H@^ &?8"N/VK?L8UM--563Z>@ MH*77N*'6[G6WCCRX.&OZH4G37&J[K-2JJB8KBM38;'I'NDNJGY)'GE,KKM_\ M$J?%LF9358G9K)0SW7;I .'TZKI15U\M$$%)JH@W^J&#>B:+62D6P;1O=W@U?ZQ2M=8A6 /F%Q'TT[E4F=[# #@P GD1:]= S MXK$7]G[; 7*TV[OA^-Q%>OZ:JWJGZ2\/A2>"ZB)D*%,4SV'H7$0MTKMA]&8EE77FGKT-->X[*/:\*#(,@2@ZOG.SZAQ M/:]?0:,8Z64-LFUD!^Q]<2[+7$?X0'T6('4()M!+8 \-BIK$]EWVM5:IJA6B M>]L D;X%.!Z6&(9LAI&V%3TQV[UOX>4*66@HW$/_'R+75+5*GH2(W?^3S:^N M?EQ( X0%?C\.(%,<]T'."S'"W81I$9730]TCXMSA3BIVN(/:=1.FA3%BT=3( MC TE#7)S& 3&R!BQC^[VRS\LK-D><";N2P24NH%S,##V?!N +< (0_)Q0QX: M]KRV18V>NY#-MH"6ANZ*[9HH6O P,[A]1Q/^:^CV'64<0(6I=C-LAG\\G NY M']THW=P;>UJHV-(]CPTPYU%H#0$--9H_=&HOP-8CW@ASV+3[WG!F9&@_N3[W M;'/I=O=KA>[UP0^+<0& J-_ML+FW5KK92/T;$,Y!0@F&!3&@T35LV6$Z&Z;; M#' >%K6'AK+]8>V&H0X,\K2,]Z^AV_<3\9_Z;Z@%_R\@DG:SUHTJ&_'A]0,/ M"!AZP<92T.>^8>N)"':'I1N5@IZU$2-]*CX-)0./O.&^R8^YA]+56$?W7@_64D)>VWI]LR<:4/Z8GIM#OX5I,FZ3!F<-25V?6VKZ2*7IS!VUW=4L[Q^W;(^5UJP#*7UX\!N/ MDJY;4[=$^Z=X5^B^/*UJD==8%_-)<"C%>"*W?Q2NT]J%@+K!-)WLU#+3"=R> M;.W)PZ^3DQNG6]LAVAHPTVS.!#63Z8 _+=\MB@5*%=?Y= MP0P)11Y9&@OX]B1\UF@2E]XSWIU9A2^D5WR4%ZV?NYV,8_U:!0_CW >[K&7= M:ZX?G_>1ZF9S.#B=GE]QRX&59:;JHKQB^TN42*6JKW;T45QV)"_8GQ0DV\24 M8[T\W#\Y^E-?VR^?KP[3_UY4;#^?27K+?W M_<,_CCLZQ*"HU[1F6["WGHDK]YE^[U/?H9/JIF+9A'V;A;6R"CJPW2J+,\VX MF6%O$K0,^Y/(:.2[!9BP3PCY_AEZ50U94L@SYVJZ1-!?.YV!I8S>N>)^#AVN M--C1-JS]>!Y%;J)UL4%?[L1J]>5,_!5[;5W?<6FV[#6K]T :$Z.:/XO8[4<= MPUAY '?W54##UJW[P'56VQB[\?)V&&@K%$Y%.:-S%,W+W^:5=+,Y0[%Q(%(% MCG(E]*H=7C[$[-UW&MU[:ET:=HNN+75#&QZE0[T$KN)[),:;YU\TCW?PL,H' M-SEP@HG=<.#XP.H'8BI3L;[&R^3"U M^8':1W\,>EK4B%1].4<-+4L:@.=G15%W/VB!U=?!>_\#4$L#!!0 ( /J5 M U=WG4I^K < "06 9 >&PO=V]R:W-H965T^>;DEK5@087UJ=L_Y(WCC\ MW6G_>[0=MFREIUNK_ZOR4%[.7L]$3H5L=/C9[O]!K3TO6%]FM8]_Q3[)KL]F M(FM\L%6[&0@J9=)_^=#Z8;#A]>K$ADV[81-QIX,BRK'J_4^W__KP3OQR_;]W=Q?+ (V\OLS:W3=I]^;$[I?B M@S6A].*=R2D?[U\"20]GT\&YV3RI\)^-68BSU5QL5INS)_2=]>:=17UGWVA> MVGT^O9L3XHVO94:7,S#>D[NGV=4/WZU?KGY\ MMYC^W\*>V_B^WIW7];B*$" M\=YDMB(1Y -Y(1V![YEM3*!<('5%@P Y$4JL>X]+[(K/'TI2&30=P6(E!56X>4 M%[DJ<$!ZL:6P)S)ILS+29$IJ:(9H4&;'N:;2Z:PS/;$RB-_:JI;F\,-WKS?K M5S_Z$TCGJ#3;3\A^$:R0XE.3[U!- @YA>>_YH=/(!MV3Z_R!U?RQ*Y[OGXJD M;UBN\6P*&12?=I>3 4+T4%-: K2ZU@?^@==RJTFH%$J5?',@Z3P_[$N5E5BR MGDZXE(\>:M[VAN$9<0+>H EQ_@5Z"?O@&U3&"5,?606/2)&5TNP2L-X21&7 M!KP:HZ_)*0O-I0S\1C@:J1GT0MPIP"]4)H&FHPD? MPY%1WJZPWFZ\]:?M?7^+T+FGU#R!UF5 M@A3=;ZSY*WS1.,<8%!C09@?$%/(ABV2&!(/?,O$ %[E8;9%PV;HS+R M054)3XMS,K$XDQ4*1X_\F.5#IB9FPF&Y0XLU8GL0X!P\&H4\O N3H"LXF;7< MLF9GV8[:X6R3ZE$!<(IW<+QJ+8UA"1^8:#N0$($J;:/S$1,SY;*F\B$Y7F,N M2>E^E.@C*K>82J*=30"O?^VMFB(*-K;&Q@2<#_V#22/"B-%JZX>6'+=)-DRD M C^?LL%F"#(.E!I.PC@02C;' J"OKF!(,NG"WDO50ZTJ>V7O'D%BEB:"?C ]V#EPSO* @/Y!3( M84IB2J*ED9O'D8WI%H_:QR$MU0=$H5,2<;ADZB1SNO!RD?XF^J22VUF*5(@Y MUY)!GO+,5#BZRO!U *= 1'OJVMG:*>!G4#P5N#P%EIEU?7N*XPAM)1BI57#RC4<3PD'@_'%BX$IFK ^=(H1MT7+ !H MN[<:-7O!H0JH*. DR5BI>F?<]H_-KZJ^I3=FB8,?!AIVU^1X)/R9N)\L9 M:IDCPU \-P)?CQ;/" '72#2^@46J'W?CQ /N/D8:9Y)D6!PAR5"!^2&6JI,G M%;\[8G3ZCIO843Q1>#@Y11H6TX.LVL[+#;';)1N$S[44'Q6G0%EIXE!0P<;0 M$Z [)QDXM(1A=I/F2)7FEN!#+QAQE[&Z[= X0KP*P*87JS\E&U6)>/.!6V*N M=Z.1:-!Q!"ZX/"Q0.S\RC4XZ6^'&X?AHCC+B(O7C& _FQ8$U?C \CL+Z]H\7 MEX[E3T@CK.OYXX:(>3J/H4Y4A\..MZ1TCYKDS4+<#/W_=7%NQZV6_%V7ZAL( M(I$&/>YLW6C=5WIN(/.)E.5DG_(8:_Q^=6S8\4QT\%6_T&E^OCMY]DCXN#O( M.%?6TK47F!&*CG.,8KUX-49QOEC_$137:%SZ&*FT25T(@1= MK2R(AV"-652&!J/[(;WF_@B$E01*S"\A.+5M0C>,L'![(9_'Z1UP&AP09^)@ ML\_1B8A8Y$$4&4C0 V;]B&8LQ=\AI,.XG9@$5]@ZEOIX\T9$D$G'(H^]*";Q M9KUME,[3;93<[L#FJDS!"^!\.I9+S'.=^G7Z_-^GIWW*96!U-OG):#GX<@>E MN_A]DK.K,2%]Q.M7^T^@U^G+WU$\?3_]@)JO#%^!"FQ=+5Z]F F7ODFFAV#K M^!UP:T.P5?Q9XKI$C@7POK V= ]\0/]A^.HW4$L#!!0 ( /J5 U<+O,Q/ M?00 .$, 9 >&PO=V]R:W-H965T;VPY3]FX_FT007YTX:SNE_/N3G1!"7SCN;>X+ ML2WIL63)C\5H)=6#3A$-/&4BUV,O-::XZ/5TG&+&=%<6F)-D(57&#$W5LJ<+ MA2QQ1IGHA;X_Z&6,Y]YDY-:F:C*2I1$\QZD"76894^MK%'(U]@)OLW#/EZFQ M"[W)J&!+G*'YM9@JFO4:E(1GF&LNT]S#Y?W=_"T>UT=CSJ&4*W.KVX1KJND,(WD ;P5>8FU7";)YCL MVO?(J\:U<./:=;@7\. WM_;MA&/J7!.I&P>4Q M7#/-8Z 5X!IBF16EP03F:TCX(T]XOH2<&(+G)$)@CXP+-A<(1EKEC*X756K\ MD$J1H-+6SJ0(*W9G-4(!>-5=P!4 + MYVV-8<<_/S^&[XR Z/[613LJTH^L.S/3'VA\&+&)G*"4O#T2\N.4T&__M+ M4-'U-KM^UX_:R?:[472\(P_\7?F Y!^>'<+?Q=DL?*R9TK@K:#.LG]^XY@+9 MZ]%QVC?$)RQ?VWM@^3.!_FG0\7W? ?2CR(UW,MFQE5.@:^C$ND,=Y?QW6VU$ M3NWZQ1\E-^M-42V4S-Q^,1-Q*9AK"C?U:2NP*I(YQHR8SFIR!9Q<(^"5+$4" M*945R9%Z2>+_DTUA=P^+N^()2PB[82LLB)=)A;E7S=[SCL-@<2R5#<2&R(38 M$]O6L^807;BZC-/ZW=I&5KU3]2.2_5EL=6Y?ZVMZK;8S0[5TS;5]L(F]J@ZT M66WZ]ZNJ;=VJ5\W_5Z:6G%A!X(),_>X9M'O;V] WBUL^[> M5T1!/-3:^.M)%4+S>C[W>46U]#/;D,%*:5TM Q[=9NX;1[*(3K6>KQ:+E_-: M*C-97\5WG]SZRK9!*T.?G/!M74NWOR%M=]>3Y>3PXK/:5(%?S-=7C=S0%PI_ M-I\8.W+)I*=;J[^I(E37DU<345 I M6QT^V]U[ZO)YP?%RJWW\*W;)=GDY$7GK@ZT[9R"HE4F_\J'C8>3P:O&(PZIS M6$7<::.(\F<9Y/K*V9UP;(UH_$],-7H#G#)[CK^\^ MWMZ]^W(U#PC)"_.\<[])[JM'W%^*#]:$RHMWIJ#BV'\.*#V>U0'/S>K)@+^U M9B8N%E.Q6JPNGHAWT>=W$>-=_&A^R?WRO#NWQ&O?R)RN)]"\)[>ER?KYL^7+ MQ9LGP%WVX"Z?BO[?X)YV7RYGXBB$N-52U5Y(4XC?YMC+(*13<%(&3X1E!$+SB]RV#J]M*;+6(R\/'!O,$!]$ MJ5S=^6+V.!EZ;S+8E\CQYHPZQR;HOF,L?G:4>8&7(!8-#>18NQD6E*-#56JWP/]QI<305F(KSRJF>28=.^2YD=:KD_I520 M#S+3RE>BTY2/H0!(;60<5C%[5(LS5 4Y*CB!#%Z1,RFT]4CTCL=:#E(Y TR. M4,7GUD1.L(LII"L\MME(%TO(?AR5#[5:_O0&)82R007D!>(#X>1"/QD;!87TT!4:IR8(.Q9H M82F9)0 ]TQVG2?E:W9-6E;5%DD9Z=RA)!>%E!-..^>*([:P-_V*;=WN4<&0W MVK;O$]Y!*]HB>,K'&GV>901P5-M ,W%#N6P]C96-BT%N:U88\VI8-"; O348 ML(7*N3-H>I9@VDK==E%*@2$$JI%E3L2L4%.@M9A'&V++1]( . MA8I\*DVV1WL:W#SX4<@,R$39!JXWTF2+.&,D7SX L"*Y5?BU@]:2!6*V=1/2 MZ+GK-#7:1Z&/DTA?&<>W0.<9M($!.U?#*84K/Z?LKU1\T8Z5"F M6A81F9#%EN+!FMHL'3ZGCE%LE=P"XR"X@R^5)9^#UISO0NE,# *\K((-;M7< M(HUUZ21&,%O,Q'N[0QNY:7_T-\ITK7LN[-"*R .-[,:G>Q1+:G@^D'"I3V4( M\IZ7E>%>20??<*+#%/LC:)HF'"I6:1AJZ&N6=CSQXXD5F+=X;'+8<_>C3G+T MT("BY/IC-)[KW9G@Y<7%V;OE?'3)K\EMXJ=,+*4)Z;[?O^V_EMZFCX3!/'UJ M?9 .%RD/1DNX+F8_O9@(ESY?TD.P3?QDR&S !TC\%^,/]Q VP'II,=Z[!]Z@ M_X9<_P-02P,$% @ ^I4#5Z@B,Z^# @ P 4 !D !X;"]W;W)K&ULI511;]HP$/XKIU3J4T5" AUJ 0D8U3JI$VO:[MDD M!['JV*GMD/;?[^Q QK263=J+[3O?]_F[Y.[&C=+/ID"T\%H*:29!86UU%88F M*[!DIJ4>5(HPCJ++L&1#@N.?;PCI'.!U7;(LIVL=JI-ES!MV3#GA\ M/K#?^-PIES4SN%#B!\]M,0E& >2X8;6P]ZKY@OM\AHXO4\+X%9HVMD_!66VL M*O=@4E!RV>[L=?\=C@"CZ - O ?$7G?[D%?YF5DV'6O5@';1Q.8./E6/)G%< MNI^26DVWG'!VFC[.T^7WQ^6W!U@^T9J.0TNT[C+,]A3SEB+^@.(2[I2TA8&E MS#'_'1^2G$Y3?- TCT\2?JUE#Y+H N(H3D[P)5V.B>=+_B?'EF+P/H5KC2M3 ML0PG =6^0;W#8'I^UK^,KD\(''0"!Z?8_TW@:8I^W(,_:.#\;!1'R37P6@XO("T7AM\J5%:6.YH-1=@"X2%*BLFWP!W3-3, MHJ'N[0+1!T)=02TM%QZ04] >2=4@#>;N9)3@[B:'&RY) V<"4DN.TC,PC<"- MJ3'OP'@4Q1MFV#==YN/,W:KOP5WLZV.Z:W7!H0N"%HU/LT#$"W\Z(U MK*I\CZZ5I8[WQX)&+&H70/<;I>S!< ]T0WOZ$U!+ P04 " #ZE0-7;I"M M#M\9 "D4@ &0 'AL+W=O03V]:]]6OC>G4;5TU_MG)NNLV/YV=^6)M:NWG[<8T\,NR M=;7NX*-;G?F-,[JDF^KJ[/+\_/%9K6US\OPI???!/7_:]EUE&_/!*=_7M7:[ M%Z9J;YZ=7)R$+S[:U;K#+\Z>/]WHE?EDNB^;#PX^G<552EN;QMNV4\GB[XQ9H;G_VM\"2+MOV*']Z4ST[.D2!3F:+#%33\MS77IJIP(2#C M-UGS)&Z)-^9_A]5?T]GA+ OMS75;_83K M%6WEZ5]UP]<^>GBBBMYW;2TW P6U;?A_?2M\R&YXZ MT\^?NO9&.;P:5L,_Z*AT-Q!G&Q3*I\[!KQ;NZYZ___CWJW=O_O?J\YOW[]35 MNY?J_8=7'^G3)_7^M?K\CU?J^OW;#U?O_JWN?6@K6UCC[S\]ZV!K7."LD&U> M\#:7![9YK-ZV3;?VZE53FG)X_QF0'.F^#'2_N#RZX#_[9JX>G,_4Y?GE@R/K M/8A\>$#K/?C#?)@Z/*_]<'IMM*N?_$87YMD)&(XW;FM.GO_M+Q>/SW\^0OG# M2/G#8ZL_?Z&]]:I=J@^X=M-IU/8I(H\O\WEMP$2*MF\ZVZS41F2MEFT%AFM* MM=BI#JZY;NN-;G9*.Z,\. WP"]U:V49]T*Y3;][,U)O.U.K)3+UK.Z,N9NJ] M6^G&_J[9"IM2O=\81Y^([&S1(]QX%+GQZ.@Q7EM?Z$K]VVCGIYCP[7>KS]EI M6R(9V('T.[.!0WME._S<]'#'TC:Z*2S\!4( A^#)590*3OSH4K5./7IP>F/, M5P7KV+;TRC0ELAE^Q_._=K;4.U54K3>^4UVK7IK"U OCU(.+^;=1\EL/ C"N MVATC!C>[&)!R)R5@:88L[9/9=$(3?,+M,R+I,Z^.Q[UX^%U[O-6N6,,JL"P< M;+,!W=.+RLR5"&0' B%+GZF;M85+84&/RT4*+G^X"!AL"8I19N+WX P,1%#0 - 4=@_P:?0?^>/>Q@5%P M$6(7V^V8^U_FG^;J[U=7'X GO_46-H1XV@ P3N0F;7^:I2)^Z)B:P^@9<,N MJUOK3NGE$F %"8%M$ C0-3I/\FEPO>GXULKJA:UL9V6I$M@/BM\[(R= T>/. MA^[A7?",P5O>>>QYQC9=^?8NY!;P'=JG*WJ%2IGLH+) ]@V(6 M79_Y%P@;%1X-MG%JZ=H:;@/C3ER?KZ:NX/S&%\XN@%.@1!3+'LW4W_[RY/+R_&>P^D6GWB\JNY) ]C^] M!DEB\-TR'^&+*GQ^&67NU=4"H#$ZO*\0/#]:_U6]:2CPNA+V-JRC5Y^NU>=V M8POP*(_0Y9A&=!^)F]1TT'%R&GO"F@W"MMGJJB?%@$7A!X>_@BYB. >] HYP M7(;%MK0NJKM00*ZJA*O+X(#T"K@'+# SY31X.\#V"Z ). '$E6T/3-)TWHP$ M9.'%#S^#9I*.[\1_ <6H@?"U6K5(/7Q7&-<00V"[%J(0>6&][)AJM@DR1_PT MR14\E@7C->4PBN9'@ELQ8&C-00_*\K,^@$*BF',-)9?V$SI(-PG(;73W>J,QT?U )*<>#$SJ=C$K+5&_-F)(<,]R)UF ME85 ;PI4* VZ< -$PLVG=(;D()>Z8"XPHE%^!YI52)!*BFX;B !=SUH&VU:( MFYQG @]G*G3OD;$#?O<5.**D^Y/N M151UBM/@32#DA6PG.8\$O1IQ&G_ -R6U#%G$H?P%TO>(R6-L)'C7T@]0&5 K&M-L$Q9 M4.$]GQZCU'>XXJ. ]LO?OR MZM/01364=)+/0=-U&@V(.$U(!?Q% 'WT.RBTVD+,;'OXA-'3/E=^-#?D+I MW#Y4_@*Z=O'P]/S'F0H,):]]/3S?-153C9O!P2!3L9@"^0QI/SY_'(L8SE2: M91(1^&O)PJE4 0=0\H M(Y^3\,\?_*P^\991T=1GV%)-&+5Z"ZE66\8;/^]9Q=17KV#SU4Y]2::2_1EI M:)?=#7H[\'[HNJ:N>9TL4GTP#CTM8+W3=GF*5:K*$(G?2]L*%,X0/$&&H[\$ M^(\?C]/[7;0$5DK=< O9#N"O7UO"7PP$DB@DC5%$0PY.'0 M,K"$$;2FK4*H"&8ZSXG*7-WA?9M@S=-GK5DUF$NL< AEY#:J=2$YI768C!2@ MMZBH!"#*TZX]92C5QE(+AKL.T5M^ WGSL.70S?8^^9NC%,(>"],A@H-MP(3P M'L".ID+RL/463!O]9H>>S3B*'QL A1TY$>2^;=B[XLK"6\;$;)VA>BNUN9(Q M)M&"^0@$BU_A6',JFI2&GU>^ 2C3;%M-IK=9VM0:/C8 /EP"\':XB[)MN%J90,<%)1.+8X]?X U ) MZ8&.#' &,ACLU*2JG?5?R0$V;8>,VU!S0/0D7"1LBSP>Z/=^]!X'[T-:KUFG M2"W@EZ09$Q&GOEV_^%5*&[6^M75?I^".]4&6P$PD)8GE#>G"-E,0L#ZT("7F$R#*DY6C=DUXTI>5F(7PXS*%0^Q*+QJUQX+GR' MM8>D'H/.0ZCQ%@5S2%)[R9 &2?M"5V3/-(T."-(5EGB\J2HI?L#&BUUJ7(9# M,3#9/W,%\N#5P&_$;E MI@%Y@RW&3HD S1#(A)8(H42;P*-8%6U*Z71H&;-UVB:%QXD%TVVJ &5%G(HB M7X"G7&+!*I0CA? #QQGXEX7!5D',:9-).Z-[]*F'54N>AX8H!E M&F[ ^DZS 9)KHT.#=13743"DA0DN\Q5R_JF$ 0[N.=1'.;($EF8"GK0CW\# M:Q)H"@Q%'W$@)DUTZR#KA>NI5)V"*4!";,#RU,."50RQ!]?;#.^A/95B/<;S M43:?]0+3"O&*M/KD@H+ M"PA8F)D\32B=?V]!&( [-=C;KWVYBJT#*OP")O62I\B&6.-V;;\9UA7(\=!@ M@DFT1/81B?$TA[PSM]"+M6Y6K#@<^30NX!2JD2L%3ZL56'J3T.$ 8V6= MSE@'/69M;0:C4F1]PEK0&Z MR[3(0)DXU\3C%7HC/8]AW*SU+N_BC"I-P>5%W=BL-1X8F^M5*"._$0Q"OV4_ M$2?-JNVL>.W(T,$P5_+#H,[EI,5G "Q=3X7X F470+$XNZ MI3DX-F"''B\W2BG!(;B 4X7TOW"6LA#21G!YL]']-WNWB_S9(J2OG!*G0"C@ M.)!["K8\?8*<"\Q%;@K+"1JF*SA/HU(VFE/H9PTX&S)N3F B5@SB"6O'(L:H M_A+-7\B>AW+A(&M&!0JC8A!?"8XCZKJEM4!@UT.5*B@J)6>RIU A(F7*&TP" M U:Q*^"V>R76;=I-3>@$/43G)$,9X^PL2M\G:A>3+N5.]X9,B B'IT'.#:,7#%\_D9S:KM0 MQ(6M_=IN%*03#N< 9+Y4JM]A^A';\1S<8H+E=65BM9*E")LR 6TU"&#P5=D. M))W6#^,DR5Y"F9=+%:">S)PE1W2;,G\NQ)U2(2[4$T/J2VUXKM^*^%TYJE-$ M]0ON34I6L8\T9,GB;GLD;?=P+E;YH8=::]8JC^@A*K53BTHW.!JHQV,+@4<# MQ2-O@X:I$ YBFE$9'2KZ82N@5BA,=58J*683^*&$X0M(5Z),A:SDKEZ-]AOD MRWO9@4XLBN$PQW+90F"< !"M7POM!H=V"\-M0'RRAH6X5PL)@QA4+9ZK+\2; M6 /"UK745EFF;$YY'A%#&06GD+L%][\?.6AP)]9 TDJU+E.YY\"^$6H&KD_U M:L$&P"D1^ZA2A:2$_ P'M;)8=& ;ZR6F:TR1))H>+QEGX/L0[>AU"*80AJ^I MAQ[L2S 0*P_ZM( I&;W16 #>U3?DN+8F9CHD?4(P4;^+2EN4Y2\'3S?V/0?+ M:#0 UDEJ"1LO:#WV88.T 4&:\YIZ644/(9.AWRAKQ[( -:C03;1%T;M4M,%9 M%F)QAP.1OBT8M\<.QV%9(7"OMN.27-*QPX)F-,\:&X?B8RX?VPX9-@WEY(., M0^_-,+B"L&*X$YE*ID1-959800D62MAY-JE6F6.<23<$9P+Y64+<]!XDYEWK MT(',XE249"S2Z$6EL"YEEDZ=M?>(/#)J1V//-&U&I!"L39E M+Y@NOX 5C'@]\%$Q/0\J[ZE3'@Y7]S2\\=4,'J891E-\EH#ZC>!\%JV+G;,M M*B2Y#S;[S..(%64:2W8^,N]PK>_VEL';LN&TO0;*H$??.H$=5*#+5Z$O03#\ M&!<.Z\>@UV7C(\.1YVCI!]O:NOP5[HS/,B5'+G7 MLG2O7R^-(:P HTG[)./5L&H'>;;LA9G M5M+$%(:'/4,NG-58!S(9;IMR==XN^S,LO.J180 MC<.\N'#5>A_J0ZFE=Z2+C'/)624WR8]6&G+,[G%I6,EMEP!F!'A)YY8!-W<0 MDEFFPOU^%B3A1(J/N=8%:)%U@_= 'HW;)\R3_QX&<0N(TL@YG+(6X [4Y>XS M(Y8QFHSP3T#^X9W@3]""[XA,(ZJ1<\B?_5)U3&71J<:LF4PVTI2,JTRX(@^W MLRY>XMKKCNDD*%QC&[8KFSH=M3)Z*YAK:Y/$C M=-H_XH#U\>;V("X4IS?F>M9JBU%FF6I:4\4,X&+L)G-0F9@>0L-+WH.>:V&/ M<2\,?'ON]Z&^><8[CH9EPJQ%"DGWN5@TY12I:C2L-XZU'CF8BM"CQHAT68]I MU[>P/7 W/TZL* YTQR;V>EW'+I&^HQT?W7I\_&NB=3/*JG(^C*JKK+A,"LV8 M'#*^R1K ^-DEF8WBO ^Y"E(K*=0.0R]7 %#Z/CQS5AC+0P)D4YGTJ5\0%8J+ M;>2WAFE+Y"_N35--L0X1WWBP)Z601/%<7LQ)V+D'8F*V"3MPPP+IH8X\GW^X MBD16;@%DJ:O0AR,2/)>:$Y!AQ^Q9&-E'\0,MPZFRN7IA@UZ@?8T4R< M.4[A<;E<8'7D*>XO]=(Z#3\YZ0,N:CLCDJ"%?+G)D4EI$L$@08N)31 MZ'/LQ*'X&_3]<41"0V(3'@"_T2L3Y[D\CW/%^02.WHV\LF9P9 ;#TJ)#*?AO MH#R?/LP'T<)3WB,3&\Y;,4B-#X3GI=__'VK-K6=/ @1B&6WO(X6Y^L0>T8<'US*_*JT6 M=E+LS)HX'\::$ M)N".;/K-HYBJ_X2<0V. :?@O>TY/JO+.K/&U35O:#.O?8*(%/P'&?;F4=/LX M]^JYA(I!]0X]F:MWXY7D03Y+=8WO7NX](UJZH\Q7E+G02TPOI/A+D(HQ"5G_R:3];@BQ@AOOF$8X.>0?EX('YP),#2+&TUOBYG>.Q378B8./"Z'I@.B:4?\SYB^I_AR>"<8]C<]FK=$Z:QF(%*"$7*<2>)=>[$+U M"@_-6HJO-B!#F_&[5W# !3*O M%8ZV<0&+JK[C9Z)'+\Z*+XT:\2_QU@5^DPP'PT%_O;B%C"K>?S'QZ=.PXD(%R<3[%CJ98&.E4+#0S#15Q?5F M!A+;:7 :[!Q+4936.<)D4O,"5F ?ZX4F*^Q9,E&!,@(5TY!/@^O3R]G(Q?N M)P&MV=LS5\D:\=D9=]DTB)P@D)!:Q\!I>8$;D-(1D8Q?6\Z@3^F ^_L=^ZVO MG6I92\D7:)[3?8UG/F^%*4QO^RMHL=GPP![B(W@'$6T#L=7>)O,JOW/)DHK%EVD43F]OX4CV:Q GE/LK* M:CH5A+/)A)9HW6&8;BEF'47\#L68W:.RI6%SE4'V M%A^2G%Y3O-,TBX\2?F_4"1M&7U@:MJ*+\:/)L!0;9;O^[;W]]+ONFOY/>#!&0P& "'%0 &0 'AL+W=OD;)F.%=79 MUF'](HHGWO'N>,_=B>C0JGEV7@LLX)61)[R):WARYR+ MBBB8BL58+@4EN6&JRK'G.-&X(JP>3T)=RR1:$T83PY7Y(%O:/JT_)&P&S<2(T$G5^,IN[99:+7FP6_ M,KJ2UCO2ELPX_ZPG[_*+D:,5HB7-E)9 8'B@5[0LM2!0XX^-S%&WI6:TW[?2 MWQK;P989D?2*E[^Q7!47HV2$IGNK$GU/(R7DKS1*O-6F>$LD8J M7FV808.*U>U('C=^.(;!VS!X1N]V(Z/E&Z+(Y%SP%1)Z-4C3+\94PPW*L5H? MRIT2\)4!GYK7_]X?KC_?0]>OONX_3CU3MXN[N?WALJ>C.]GZ)7]V16 M4GER/E:PI^8<9QOYEZU\[QGY$?K :U5(=%WG--_G'X.NG<+>5N%+;U#@+TU] MBGP'(\_Q_ %Y?N< W\CS_XD#^NQNQ0;]8C66SN229/1B!&"15#S0T>2'[]S( M>3V@=- I'0Q)G]P!-O.FI(C/ 1D9KS-6,F+"'"@9D04B==Z^T#\:]D!*6BN) M#17448)EBK8+^FP;W/TYVQ+/\5^C?VN$$-S2CU8R*/:(. OWP#OA? ML1JI@C<23)8GZ.HYGW0,WR/7QU&06H0$)TZ$;O?]M;>3Z^UV=!T];M] M(@%VDV1O[D0>NN+5LE&P:4%$OB(;=LGGRDRVRP,'!W[03?T01WZ(WO?Z>[<* M)[YGS9PT1M?=@360> 4H6I,ZH^W1[5A#'%K*PLSQT;2!HL-G#!(^1DHTV>=- MW,X9!15VH;#;T04E[5F [IJ9,D#H9,?8C>/=U 5#733-LJ9J2A/L.84@R#9I M3.]'*BX4^[,E=,?ANSA*_),=P0.8IL&)9?+S,8I1395U.%Z(@S2P"1X._7@( M/E$'G^AH^) L$PV8"$D:_,H4H[UH&13X3:)ENC%<-C-(;$I $\8%Y#BYEW@] M%Z=>;!,2[,=!QSWC=6-'[7:,40C^E"AT'K%[L)'@X M3D-K%L:N@2ATF[OX6Y*UX&6)%'FD-FN4.M;,#QPH$3,(8%,K4-/(>;IID+BV]JZW*30]H64YTH]P&MKQ':;8=9VA^(Z[ M^(Z/CN^L(/4"-M[6,"+$6AL"9:\Q"Q:,QU-5AK?@3;O&_1] 7BW MG9,_@9//OKK]US45B[7=AW@I8#BT*$_[I3[*ENNZ7L"I4[%%PQ5X#/ZS]/3I MSK'5_CS7FGV)WB=#]U8.=KW@I29LN 8@EG002XZ&V$)P*75);'0(F/)HU"4Z5MGNKWDO'G\QA=CG!.LCC5TS[NJ.IB8_];WVT&X 6SP_T M>I)$;/*:$J';7Q,K7S^?O'2\%P0BG52[5AJ0&.+4=6T"]!E)-+C"P2E4=^]T ME[A^[-ZB4P=BX8&6? GGH&A6U+SD5M;K*GN($]O1I^!BP,A*=.CT>T4FT;KNV6MU>4'XB LB3AWV(.K,YI#+^WHKWV:R>*+\U5VXPK."CS6E (3*$7 MP/&ULI57;;N,V$/V5@;HH$L"-;KXFMH$X MWMUFD=T$L=L^T]+8(I8259**D[_OD+(=N5:, GT1.:,YAV>&Y'"\E>JGSA - MO.:BT!,O,Z:\]GV=9)@S?25++.C/6JJ<&3+5QM>E0I8Z4"[\* CZ?LYXX4W' MSO>DIF-9&<$+?%*@JSQGZFV&0FXG7NCM'<]\DQGK\*?CDFUP@>:/\DF1Y1]8 M4IYCH;DL0.%ZXMV&U[.NC7($5A (38QD8#2]X MAT)8(I+Q]X[3.RQI@I8OD4*[+VSKV$'L05)I(_,=F!3DO*A']KJK0P,P##X 1#M Y'37"SF5?9TMXG#W!OG)CFI64T4?4/7ANRQ,IN%SD6)ZC/=)UD%;M-P-N=8E2W#BT170J%[0F_[Z2]@/;L[H MZQ[T=<^Q3Q=TX])*(,@U':R5 ;D2?,/LZ=4=P-=$5"DO-DTW5%1K!0DKN6$" M!-(!U6UYG5WYH[R&41#?P/\=:1O1;>,<$\Q7)-<:_XZR>]PTHI.("UZ R62E M69'J2WBLC#8TM159246UIID&NNE+5#G.(+.Z/>$);2'AV'/PD(HDXK,!@XZ+W6%2L2 MA$1J6I-RK'E2KA-9MOW=(F$+#:_&5O6H^P<73AZM_N=41!3Z8^B]SSO!Z8!^02CH-/K=J'M MVON-=IRCVKA'AP3:BM2=^> ]O&NW=3M_#Z\?Q>],;3A=B(& "S&P &0 'AL+W=O)Y04FD%J7)")NF-TI)G TFI^K=73$Y9:5(XHS>%8B7:4J*IPN: ML(>S@358O_@8+Y9"OAA-3G.RH%,J_L[O"I!&M98H3FG&8Y:A@L[/!N?6R44@ MYZL)_\3T@;?^(WF2&6-?I' 3G0U,:1!-:"BD!@*/>WI)DT0J C.^KG0.ZBWE MPO;_M?9K=78XRXQP>LF2SW$DEF>#8( B.B=E(CZRAS_HZCRNU!>RA*M?]+": M:PY06'+!TM5BL""-L^I)'E=^V&]?I#3@LBXFR!$A6%D'&!7L$>GN?4:Z3L MVFW9-BS7UV4+H^LX(UE(6ZI.?IK#SU-6B/A?HLH;)!+AG I>#]M6T%F"7;?S MSL/CSCLG"-!-)B@DDT"@O3I.$I-9G,0BILTNV.DLMKI[.%[7E#'ZQ 1)4 :M M1_,\-J"C:)X/3-WS@8TU61ZA!Y1N#4IW7U!6@+S)JK8G'7PG@04NB:0_)&8O M&:0RP#62_SA+XHC(T0N2J R8RIJ\#TT*#6B9@$6$O M.V?N -X&TOCAT%#DX0V;ORDA2AMY#PD#&3+6L(L->VP>O-NMEOU/+<6.$?B^ M)GO8W;7.@&-S#EV]*""14"[1"[E4P\8T?-NJQ@<]^G5LFX#&F8E+)V0VSIUS+.4WD("' U8\D2&$KS@MU3.<(-">SCPT-\ MM>\>K2.[AAL$NFPV*7L>AF5:)@JE$05TA3'1(G $'O.\5J/ 4&G,XXT@['WX MEB&0?QAKLN?;![MF:X@0FR7Q0AU(2PO#N)DH)_1^HV M=>ZV L_F!'OH=:N1/;3=3F!V*,!#IUM]\=#KMMD?YJTHYB$K(1?@:/0G^L8= M^@YZ78O.$ KJZ^?\X0R!,;QNN=+Q0>RA!%Y-";Q]*<$':/J%1@DD_J=EGB<* M])#DEX0OT35<=+5I'VE5YEN,).[KY^/DO1Z_SL$/2Z MT.I\0;DQ)W&$P(F(I#+M.&HW(,F_4O!:62C7R_!T>N.WYV@3D5!:,)>!G!;R5)U=9\^W:V@2BWL$YO*)N8UUL)J"( MKFC!8[@D&=0*&;8?&H^.VQWHU/KMS#1Q'^#]&O#^MUS,WQ-1%A75DB5 ARRZ M;4ZW#;V].[T,>AN+UZ7G&>PU#8B'4-%D*_P.FJXZ; 1E$YRG71]4"@7)U0V^CC5*/V]3H=Z?& MK6V^^A?+UA2TE^3J5Z=7&[RTIRP$=5D(#B\+&CEYKBCT[O.K*/PJ"K^*PO]6 M%$:M#RDI+1;J89GKU.>L]*18QV)/0.2PUA[X[ M0$7UB:@2!,O59YD9$X*EZN^2$H"%G #C<\;$6I ;U-_I)O\!4$L#!!0 ( M /J5 U?.@G2 ?@@ ,DL 9 >&PO=V]R:W-H965T7UT=-#>;5G]J>92UN0NSPJU/YK7]>+M9**F.T&!WL-6-?JH.]N \GYJ^(?AG*F]5YYUH3:[*\D_]<9KLCQPMD,SDM-8<8CQNY)', M,LT(8OQ[Q7.T65)/[+ZON7]L=(1TOL_J\O/U# MKO1I!)R6F6K^DMN6-A C,EVJNLQ7DR%!GA;M,[Y;V:$S(70>F>"N)KB-W.U" MC90?XCH^V*O*6U)I:G#3+XVJS6P(EQ;:*1=UA5]3S*L/+HY//AV?79+#LP_D MY/CSR?GAES].CP[_04[//GX^_W1X>?KYC(POXZM,JC=[DQI+ZHF3Z8K]^Y:] M^PA[GWPJBWJNR'&1R&1[_@2B;N1UU_*^=WL9_GU9[!+N4.(Z+N_AQS?Z\X8? M_P[];6JW7(6=J\ZDMVH13^7^"*FB9'4C1P>__XWYSKL>F<5&9M''_> "F9DL M,TG*:W*=%G$Q3>.,I$6;HCK6;]-ZCI11"\0^J4M2SR4^%V55:T<2)6?(JUK9 M%.M=^C'%0M?A[\AK?QX7,Z@CJ[28;<:^%G&6E=.XELF3\X_*0I59FFP1'Q>R MFMV3W^-\T5( #O0"1V4%>X.4G!:UK%8F)Y=E#5\]Y#Q."_BH7*JX2-0;\C%5 M4U!=SBLIMQ*((/SE)OQ?S)!0LZZ IXBI&UDLY>:'WT@44H=YG0&74<=W.P,[ MC[PS%E$G",@'B@720DSA&WZ7_:@8>BGPE"PDA319:$<-4E'/7 M%()1-_*'".$*3L[@@I4-5H8Q5(UL*X>A9UL9PT-6UCS7;HF5DK7"9,O2' ;E MIJ==A*A7 NAH'[0A046T"AP MAL""XU)?>,^$!21R:!I8Q]&WP8)P_1\("X!$-QI&QYWOAH6Q3[D76#*5>MR4 M=NQ2%O AN3'V:!1%;YX'#SKU(DL&!3: \)@8) A#<$'DIR%B#$_Z%E,P&D06 ME 1?F^$L$@C*74#9$*A DCN=R.] A1N9X>F%D,&D?APJ0HUM? T5%^G=+U9 M8%^BW.DB@W H#X= A8M:PP?E\Z BH*%CIH'GFIO)$*@($0A#*X@A8*1QTW2_ MG8Y_-U1PR@-AV@(6LFRBOM[;!FW?*YL\ R88%<),2)>*R)8+-.+1$$$ 5P- M@M'(XGR8AEFV;$XC-L@(B&I@_JNK)2P \;HK">9%U/-99X0+.&S0"0.J"V#C M\_ !&2W,H!.1F1'#\"'DWD!\&+("=JY@R D#="'[_E*".31@EJ@"_'#+!NI3 M)QR4F6.&LL-GSRTF./6"T);!GC#K*^"$PX=5-D*?60<5% &RS+5D&12WV -\ MO4'GCC&.T;JV>CT%A5[Z@30Q@J;I A6Z(:(CN+R&O1#:,-DB+NZ1OE.9WC3- MPUW2T_GR-ITO;W#G*TE5/)M5:=#J])JVFTH/FDD;++V\7Y@9_0Q_IW&F.D ;TD@$G6_F M8SOGG0'7HQP[^=T,P8%*(;:T.W!:5.G4U%-$ MP!=SIJWT VGD1RNC=C-N2'=KW<7ZX3MBEC;MPQ_IPZ,RSY&K:2=V?D,Y+$2W MV$;=TME@M&]#YI.3\D9610,&AOD!^FA;KR-FV/C./FH2MRJ8LRMP_3@@BY:.MY1I;J M!]MXX/O6S!APY%X?K7]96&,".!-U-0)*;>$<'(SC80^P^:"P;#X\H('E>,P< MW1-Z"MF8 [2T-&(8MW%T$&%V<'M!%_XT='M!'0VHL-5NEG/SKX=S ?7"K=*- M;QU_86*G:8_TP)S0J64"&FHTSPQJX>.4$O7"',[WGC!GAI9.%?>H8/;2[>G_ M0*S_T_#+8IP/(.HV1A@5#THWAJV_!^%<;"B^61 #&KGE= _7,;BN'^ $%F6F MHYAGUFX@=>&0U^6\GX9N+Z?B_^MIJ07_$A"I3[/.5I6-_!#=Q ,"!L+O+04] MZEF.GLA@;I9NNA043B]&>KKXM)0,-!3FNZ!*@HL,&UG?&!52YENZ$_C^BZ=40QU?&G@#*R*>>I;W/+(WY.BK$F<).NK<;6VI"+)4K^2"G0)@&>W M\=-I,9QFY6BH@F5*ZR0Z#Y'B)TX1]VRFJW,=?YBMMU5>8-W5';0=4*L."=(KI#G\ZP\D)63<-3D5M9 MR4:3-4AIHE:?ICS5,*KZS^.:I(O*]B;MI'.]%!+/FDNTBDRU/=N;IIO1S3W= MP_9ZZO_(VTN^G^(*.*]()J\QU=D-O!&IVHNS[4==+IK+JE=E#?,TKW,9)[+2 M!/C]NBSK]8=>8'-[^>"_4$L#!!0 ( /J5 U?NH4\0/ , /4( 9 M>&PO=V]R:W-H965TM\-W!SQ@MG M.K:ZA9R.1:4S7N!"@JKRG,FO,\S$;N+XSD&QY-M4&X4['9=LBRO4_Y0+29+; MH"0\QT)Q48#$S<2Y]6]FD?&W#O]RW*G6'$PE:R$>C/ IF3B>20@SC+5!8#0\ MXEO,,@-$:?RWQW2:)4U@>WY ?V]KIUK63.%;D7WAB4XGSM"!!#>LRO12[#[B MOIXK@Q>+3-DO[/:^G@-QI;3(]\&40F1/^WUX24"P#PALWO5"-LMW3+/I M6(H=2.--:&9B2[71E!PO3%-66I*54YR>SF^7]Y_N/ZQ@,5_"ZN/M<@Z=^6+5 MANIF6,LQOO(6R9R8&U6R&"<.'0F%\A&=Z9]_ M^ /OS84\HR;/Z!+Z=$4G,*DR!+&!HLK7*,UL9XF&R6OVB)+.#<0BSXG?*F64 M M#!4YH5"2^V4"E,0 OC458:#7UY#&2$A&>D2(#*/E?UQ;Q^5/4P\,(W\+O& MSZE$A+QF'AKF-:85?SIO.(Q$,+0$.RJRK^#W7NY@F&D^06OV?)4.+T"GHE+4 M -4#?(JQU%!25VWK@.6B*K3JPCW=Q;R@IB%T,J%('HNB5UHEX8#-IV MGQ2CML>PYXU&7?CR+)Y?G#<1/]Z\)WMY;6]/O"^ M544TO+Y08S3TOZN1R8*P%'3^MLUI.GCSRTD^LP?XV%VO[X7M9GO],.R>V'WO MU#X@^[MGF_!_<B;M-*7_$I3&@>P;(?1!, LT?SK3;U!+ M P04 " #ZE0-7I2'D:S4" "_! &0 'AL+W=O0&//>?,.6:&H&'\1>0 $KV6!16ADTM935Q7)#F46/18!52= M'!DOL50ASUQ1<<"I 96%ZWO>V"TQH4X4F+TMCP)6RX)0V'(DZK+$_,\4"M:$ M3M\Y;^Q(EDN]X49!A3/8@_Q6;;F*W(XE)25001A%'(ZA$_P\7 -^_ ?!;@&]TVT)&Y1Q+' 6<-8CK;,6F%\:J02MQA.J/LI=+W_%S\O-&L7K.=IL%SL3[='F 3T_+M!LL]K&ZY_H(]I#IKZ'1$MJ MNT%?Z[LY2$P*\3YPI=*C6=VDK3VUM?T;M<=HQ:C,!5K0%-+_\:[RT9GQSV:F M_EW"IYKVT,#[@'S/'R!AU=[A'727-#"\@QN\5WQ?BJ4K@F1D=@1)64VG[J]OMIC.V3?DOW8[V"O.,4($*."JHU]/# MP.VXV$"RRK3H@4G5\&:9JS\,<)V@SH^,R7.@"W3_K.@O4$L#!!0 ( /J5 M U=8'!/A&00 )LA 9 >&PO=V]R:W-H965TP_%PQ$D\09QPSMVZ]S(5.J MQ*7L^5-BQ]_G2WQJ2_;H2-FW;$\(1\]QE&1C9<]Y>J.JV7I/8IQU:$H2\69+ M68RY2+*=FJ6,X$T!Q9%J:)JEQCA,E,FHR%NQR8@>>!0F9,50=HACS%YN242/ M8T573AD/X6[/\PQU,DKQCCP2_E>Z8B*EUI9-&),D"VF"&-F.E:E^,]>U'"A* M_!V28_;J&>5=>:+T6Y[P-V-%RUM$(K+FN0*+GQ_DCD11;A+M^%Y)E;K.''S] M?++/BLZ+SCSAC-S1Z)]PP_=C9:"@#=GB0\0?Z-$C58=ZN6]-HZSXBXYE64L4 M7A\R3N,*%BV(PZ3\Q<_50+P"A*<9,"K > MT6P"S LQ+@6X%="\%>A70NQ2P M*L"Z%.A70/]28% !@TN!804,WP)6VX?33E].N[0.O?[8Y:0K9TDQQ6S,\63$ MZ!&QO+SPY0_%/"UX,;/") ^I1\[$VU!P?+)\<*?W_K_3+_[R'DWO;;1<.0]% MZA$M9^B+YZ"[Y6(UO?^*_D"S,%OC"'TEF&7H5YMP'$;9;R.5BX;D.G5=57I; M5FJT5&JB!4WX/D-.LB&;!CZ0\[HA$:AB!.IA,$[#<&M(C399=Y Q_!T9FF$V M-.A.CC^25(K;09[.R5\_*GE2U"),P/L1-LU *?O0_ M/*3,AI0YD+(9I,R%E'F0,A]2%D#*YD"RLUBRZEBR #9.%F180DDT79"M<2)D' M*?,A98%\L&6;.*!FG 7-H Z:@7Q?AY_;]G52\*-! BFS(64.I&P&*7,A91ZD MS(>4!9"R.9#L+):&=2P- ?9U0\BP@I39D#('4C:#E+F0,@]2YD/* DC9'$AV M%E:Z]O/81X/:V&;/AH'5W!]H.%]3F@=I\4%OPSHB;_=8- M]1RJ(64 J:^.4&/"=L4I?X;6])#P\ORFSJUO$DR+\_,W^;?ZC:\WY ?YS8/B MR/:GOKRVL,!L%R89BLA65*5U^CT%L?(F0)G@-"T.<)\HYS0N'O<$;PC+"XCW M6TKY*9%74-_'F/P'4$L#!!0 ( /J5 U?ROY@#B , /4+ 9 >&PO M=V]R:W-H965TT-+:)4*1*4G&\V(L._FYG+8%X5FE.-<@BJRC,C=")G8#KS0>YU8T/5&VPE_V,_)&A]0?\[G MTHS\6B6E&7)%!0>)JX$7A]>C\-P:N!6_4]RJ@V>PKBR%>+*#23KP DN$#!-M M)8CY>\8;9,PJ&8Y_*U&OWM,:'CZ_JM\YYXTS2Z+P1K _:*HW ^_2@Q17I&!Z M(;8?L7+( 2:"*?<+VVIMX$%2*"VRRM@09)27_^2E"L2!010=,8@J@\AQEQLY MRC'19-B78@O2KC9J]L&YZJP-'.4V*P]:FK?4V.GA;/%K/)W\%3].9E.(IV.8 MS6\7;O0 LSMX_'@+-[/[>3S]$WZ&&XDIU1"O):+)C(8%KB@G/*%\#2=CU(0R M=6H63H5&!7.R(TN&H 6,"']2\ $HAWO*F,F'ZOO:\%L*/ZE81R5K=(2U!_>" MZXV"6YYB^G][W_A=.Q^].C^*6@5_*W@'NL%/$ 51%SX_C.'DPVF+;K<.:M?I MGAW1?42900R?!.%-7K8:V\_P6N4DP8%GOC.%\AF]X8\_A+W@EQ:TLQKMS*EW MCZ"-<:EAPI66AMX9QCI**E":0DYV#%2O( M)37'+2>L";:4NW1R]CIZ'D:=\[[_W,#0JQEZK0QC9&2'*8PEV8++J\TJW)&$ M,JIW312M@M\9LHL:]^)-TWOQ#JR7->ME:VACS@O"@&1":OJ%N$O:9#BU+IP0 M!01RE(GQXK2)O-2^.LAUT FB(]F^JI&N6I&FIHKL;[152Y);=;XS<&&PO[2# M-TUS)??&N Y3H6W>*/5*FX;! ^$*5MJE. MRLI&ZLHF,6HY*$ M^U(2OFTM"=^CF(3[:A*VEY/;%XVV<3#MDRZD#:XVY[(1M%TH.GX>_8-.+$.Y M=OVF@D047)=-63U;][1QV&UL?51M;YLP$/XK M%I.F3=IB0M)LR@"I:3.MDUI%B=I]=N JWYAM@G=OY]?",ND)%^PS[[GN>>. M.Z>]5*^Z 3#HC3.ALZ@QIEUBK(L&.-$3V8*P-Y54G!AKJAKK5@$I/8@SG,3Q M G-"192G_FRC\E1VAE$!&X5TQSE1?U; 9)]%T^AXL*5U8]P!SM.6U+ #\]QN ME+7PR%)2#D)3*9""*HMNI\O5W/E[AQ<*O3[9(Y?)7LI79SR4610[0<"@,(Z! MV.4 =\"8([(R?@^;RYYHN)/L%RU-DT5?(U1"13IFMK+_ M 4,^-XZOD$S[+^J#[]Q&+#IM)!_ UN94A)6\#74X 23)!4 R !*O.P3R*N^) M(7FJ9(^4\[9L;N-3]6@KC@KW4W9&V5MJ<2;?KE_63\_K'?J,=E#;:AOT(,*_ M=D7[< ^&4*8_IMC8: Z#BX%Y%9B3"\P+]"B%:31:BQ+*__'8JARE)D>IJ^0J MX<].3- L_H22.)DA'=1>X9V-)9AYWMD%WC-YG\LVD,S/D[C96>J6%)!%=C@T MJ -$^?MWTT7\[8K$^2AQ?HT]?^KX'A22E9V#5BI#17TL@#ZG-;#=>#8WEH<\ M2?'A5 ^:1D.JO:#H5$A.V%"]XRGX^S=AI;[YQX&]Y&HF@J-&%06&D^^V+@J M#$,PC&Q] ^ZEL>WLMXU]/T Y!WM?26F.A@LPODCY7U!+ P04 " #ZE0-7 MOE;&>[\$ D'@ &0 'AL+W=O5;,=@<+R0 MO?T"MJQSCGR/?&5?#39"?E<+ $U>4\;5L+70>GGK."I>0$K5E5@"-U=F0J94 MFU,Y=]12 IUFH)0YONOVG)0FO#4:9&V/FMX2N8+;1N_!6FKU+3 _>,W]BB[ M>7,S$ZI@+-@_R50OAJU^BTQA1E=,/XG-'U#<4-?RQ8*I[)=LBKYNB\0KI45: M@,T(TH3G__2U",0>P/#4 _P"X!\".N\ V@6@?:I"IP!T3E7H%H#NJ8!> M;27$T,3H^>PF_A7R_A,_F- M? $.DC+RE><3UAI_$8"F"5.7YOK+1]+NF_(]DF#X+KA2(AG\*T!A\TXWL->,?_,)UL!7 M4#][FFE]MIWU1[!<>].IV^ MZU5[A<>]VC?7-P>*46-0/ACR;AGR;F/(BZ>'B!G1"R# =:*W9@&/A32ISN;= MS2*)%\1$W"S)BBC!@&UMN^T>4S,P"S!P:A;MN<'71;YQ#.<^B)AD04[6W7/( M/? 04RY"(JM8W2NM[OW :K.P+/J:5F&0!)EF(218AD56LO"FMO&E^NP 9F_7)KE6R6/4N MJ'F[L"\-]L)EG?N+Q!7;OL@"38*G^O>29(AIF2$1%:QQ7-W'X1N<[I, M^'OILAEY[D.&RA:@LH6H;!$66]71O4]\[Z-9LT!B.8K)%J"RA:AL$19;U5%_ MYZB/GSP+SL-4YA]DSV;ILTT\231$%8VPV*KN[$H@7N-G^6AL/H:M-<^407U] M#+44@LH6H+*%J&P1%EO5UUT]Q.M\.(\B50T*1S'9 E2V$)4MPF*K.KHKMWC- M]9;_N<35K'[VK$ MM11L^Y_:AU_VJ((1%EO5ZEVYQ6NNM]PQ)N)\4\.DYAF- M$Y;HQ)B=^ZJ%.>!:TEB_+:FUCF)6.\:H;(%W7#PY0?N]=SOV:MH#[S;,-RQW]/G^Z0.5\X0KPF!F MI-RK:S-59;XEF9]HL P D@L !D !X;"]W;W)K&ULK59K;]HP%/TK5E9-G<3(@R2E'2!10K5.;84*W3Z[P1"KCDUM ]V_ MG^VD60(AHQI?$C_N.=<^Y\JZO2WC+R)!2(*WE%#1MQ(I5U>V+>($I5"TV0I1 MM;-@/(523?G2%BN.X-R 4F)[CA/:*<34&O3,VH0/>FPM":9HPH%8IRGDOZ\1 M8=N^Y5KO"X]XF4B]8 ]Z*[A$4R2?5A.N9G;!,LS4.=;P) M^(G15I3&0-_DF;$7/;F=]RU''P@1%$O- -5O@T:($$VDCO&:H4 C1G[AN4SZ5M<"<[2 :R(?V?8[RN\3:+Z8$6&^8)O'.A:(UT*R M- >K$Z289G_XENM0 KCA 8"7 [QC 9T(0DQ$5_4WM,T N=G7\ 9P!3, M$K86D,Y%SY;J?#J+'>=GN<[.XATXRX\U;8..TP*>XW5JX*-F>(3B N[5P*-_ M92=MX+@'X>-CLF=PMPJWE2>%,5YAC&?X.@?XM,JM3.OQZQIO($%4BM:N$2V@ MM-YSIX2HLR'+[-=GUB_3E5C!&/4M]?0(Q#?(&GS^Y(;.MSI33DD6G9)L?"*R MBGV=PKY.$[NQSU@3ZP%J]B.C"@V5?M@W [<3^I<]>U,6>C^JVW7":E#4>*J/ M"G@BLHJ ?B&@WRA@J:2UA'6R-1)\M(PSLJ#L@1->['@0G3+E^$1D%7F#0MZ@ M4=X9DY 895M[)9J]*;QJ ! )VU+]PLL$@9A1P0B>0[TMI/JIWD$"MLAB%ZK] MJ*WTX*A*KXFZ]+O!CA?[44'7=:M!XQHJU_/^1E7$"POQPF-K,WN#IV4%;C"% M-,9*W@D36+=#=4H% ]8_^ER!J)/AH+9^(++/#+O4SNEN]AWR)J0 $+12] MT[Y0KO*L \PFDJU,B_/,I&J8S#!133/B.D#M+QB3[Q/=-15M^. /4$L#!!0 M ( /J5 U?9TT5/_@, &<2 9 >&PO=V]R:W-H965T^J78SLS39QZ/)Q,/]Y0]\RW& KS$4<)'QE:(],8T>;#%,>+7 M-,6)?+*F+$9"3MG&Y"G#*,R=XLBT+:MGQH@DQGB8K\W9>$@S$9$$SQG@61PC M]L\W'-']R(#&Z\)/LMD*M6".ARG:X 463^FXBA22)+'KQ+4J/ZG M&;X 0KU$6B9]T_QV7 7D*+Z 1S_^"?6EK M&2#(N*!QZ2P9Q"0I?M%+*43- ;IG'.S2P7ZK@U,Z.'F@!;,\K!D2:#QD= ^8 MLI9H:I!KDWO+:$BBMG$AF'Q*I)\8+Y[F\X?;'[>/R\D#N+M_G#Q.[^5HL9PL M\U4PFRPGX K<_LI(*K=/ )2$X %+Y;8T"L%]G#*ZP^H)_PH>9=Y=@25:91%B M8$9X$%&>,0P^S[! ).)?Y..GQ0Q\_O0%? (D +T<3]6;W=CS?']H[NHAZ8PLIS)J4'4KJNX;J:J]BJJ](HUL MWC#*M;P+<*].J0_[_2/B&BOH.E#/W*N8>ZW,)T&0Q?)T"1S*:B5W,2"HJ(K([1FV(=. M!+H?D[*M'<[%(G2$UA3AT-3 ]J[FW2E[VJHXOF,?9ZS&RAJ<:0C@H9^![0W- M)),?9W1%(LS!DF7!,R][ RR95Q%I:;<"7[QW':$U93@T1K#_,0G<::/4%5I3 MA$.K!%L;D?/ 6BTM@]-:'??C9NT60%W!_$!L0Q(NV:REFW7=EP> M%;<:Q430-+\86%$A,SD?;C&2GV[*0#Y?4RI>)^JNH;I;&O\'4$L#!!0 ( M /J5 U=ON99KZ ( #H) 9 >&PO=V]R:W-H965TPCD&DE 2-J46HT.VSFUQ(U"1.;0>Z_?K93LAX M!%JI? '[^IQS?1_)37]-Z#.+ #AZ39.,#;2(\[RGZRR((,6L17+(Q,F"T!1S ML:5+G>44<*A(::);AM'54QQGFM-7MBEU^J3@29S!E")6I"FF?VXA(>N!9FH; MPT.\C+@TZ$X_QTN8 7_,IU3L]%HEC%/(6$PR1&$QT%RS-VI+O +\BF'-MM9( M1O)$R+/<(, MAB3Y'8<\&F@W&@IA@8N$/Y#U#ZCBZ4B]@"1,_:)UA34T%!2,D[0BBQND<5;^ MX]9ARXOOJ +%&=H'I&" M"1KKZUQ$*.^I!U4TMV4TUI%H;'1/,AXQY&.<7\(:9K?=O%^(>8]LV>K]$AQC0-HP:5N="WWNTIT*6:P@P%I,AXV?JUM1[T MKIIO>_9;LSV?/+.?Y?OORJN,=T&6<,); 0KHS65S&K:#FIRPTGN9HL M3X2+.:66D?BX 2H!XGQ!"-]LI(/Z<\GY!U!+ P04 " #ZE0-77 L M0L# M #\" &0 'AL+W=O\?MYC M'*>_8?Q%E A)\%H1*@9.*65]Y;HB+U$%Q26K$54S2\8K*%67KUQ1,[[P-/>%5*/> .^S5< MH1F2S_64JY[;J12X0E1@1@%'RX$S\J_&F8XW ;\QVHB=-M!.%HR]Z,Y=,7 \ M#80(RJ56@.JQ1F-$B!92&'^WFDZWI$[<;;^KWQKORLL""C1FY \N9#EP>@XH MT!(V1#ZQS4^T]1-KO9P187[!9AOK.2!OA&35-ED15)BV3_BZK<-.@A\=20BV M"<%G$\)M0FB,MF3&U@1*..QSM@%<1RLUW3"U,=G*#:9Z%V>2JUFL\N1P]CR= MWM\\W#S.1_?@]NYQ]#B^4ZW9?#0WHV RFH_ =S#*<]Z@ MQCN, $2XP$.)\@ M"3$1%VK^>38!YV<7X Q@"N8E:P2DA>B[4C'JE=Q\RW/=\@1'>'XU]!*$WC<0 M>$%H21^?3I^@O$L//J:[JC)=>8*N/('1"X_H66S;/+4BD5U$'\0K4<,<#1QU MT@3B:^0,OW[Q$^^'S>%_$OO@-^S\AJ?4.[^B6>2,2JY.&>,@9T):?;=BB1'3 M[XOU,/"S(.V[ZUU#EJA>F$9=U ?2J".-/D6Z8+01]EUI!>*==9,T[NW!'0;U MHM2SL\4=6WR2[::J"7M#2)UE69:,%)BNK(3QP>)!FL5[A):@./7MA$E'F)PD M'+-*W0,"MJ]26H :OG%&")#PU5[,Y) BR;P]5$M0&!TI9MJAIB=1G] "2F0@ MF2P1M\&E!^N&7KC'=ACC1TD4VN%Z'5SO4_]"F.>LH5+MLP$]6L7>88&BGK]' M:@E*_< .FG6@V4G0.9.0:$R#2TZ_SK*# QLF61SM81Y&Q9GO[^^VNW,WZ>^" M!\A7F I T%+E>9>I\LG;N[;M2%:;ZVK!I+K\3+-4GR>(ZP UOV1,OG?T#=A] M\ S_ 5!+ P04 " #ZE0-7ZZ=M0\$" "5"0 &0 'AL+W=O4W7+M]^A"JAG]").9?%$VW)N MOVNA:"T5SRIC39 15K[Q0[40.P:>]X*!5QD4"V&7C@K**58X# 3?(F%F:S73 M*$(MK#4<828K3.^F5SJUGPQ7A2C:#I> MC-%7=,%YO"64HL,I*$RH/$('B#"T2/E:8A;+P%8:QXC:4>7ZM'3MO>#ZQYH= MHX[S!7F.UT%W\RDZ/#CZ6\;6T=0A>75(7J';>4%WDF*6@#1T$1;BD; $;3!= M ^(KE%1Q-.&6LMUF6?-[G,@<1S"R=/U+$!NPPL^?7-_YU@+=J:$[;>IAO;Y8 MH24DA#&#K8%S$(3'3;BEH%\(FI]O$[H=Q_6Z@;UI .G6(-U7@P"+VQ%*J=XK M$7HU0J\5X8R!2!Z;_+7:O3-#?DWE?TQ9^1\ W:^A^_LNJ_Z_.?6&G7ZO.:># M&F2PO[(:O EA6",,_U-6.G[03O4*Z!T+33B3>N_6W2:&5JUW9LUUGG=EYV.* MK=+=,_?.:>+NN]XJQ=UL][O#YE2[SV> V[I;OZW>*BV_%<'>.63-A>4:"QV? M1!16VLHY[NL(1'D'*#N*Y\6YN^1*G^)%,]7W)A!F@OZ^XEP]=&ULK5?1CMHX%/T5*ZU6K=1.XH2$, N14NAT9S4=H8%IGSW!$*M. M3&T'VOWZVB83"(2P2'D!V[GG<,Z-+[X>;AG_(5*,)?B5T5R,K%3*]:UMBR3% M&1(W;(US]63)>(:DFO*5+=8P,T1R*QJ:M2F/AJR0E.1XRH$H ML@SQWY\P9=N1!:W7A2>R2J5>L*/A&JWP#,OG]92KF5VQ+$B&CJP8 MWHYAH $FXAO!6W$P!MK*"V,_].1^,;(D,!C1K^3A4Q'5FB!!5ZB@LHGMOT'EX9\S9CV?-T^O#YZ^?'>?P [NX?X\?QO1K-YO'< MK())/(_!1W!'2_(?,JWLWP1(1*MXKV/-L MZ]?0_> I*#>F MZZ$Y74WV=GR]9CY=S+=BC1(\LE2U"LPWV(K^>@,#Y^\FLQV1U:Q[E76OC3V: M,XDH6)H$J)=:64=GK>_X L.G_W8V43@(^\[0WAQZNA15$]NKQ/9:Q9[;HTTR M=TS^@0#?"SSO2.9I5"_TPEZS3+^2Z;?GE*,%!H\HPXT); 5?NW!,=0\JF8-6F1.\47W*6HFYT7$@E84?NNV*KVS]H:F#'Q502UNLDA,>'T,6PNN!]NP!;C^2K"JJDJFGP M/,\]EMH0!L/^F,#4:14K6S3EM);IZ2W7$5K>];Q1@ MK^N*:FT]KK;?$5O=_KX!@1D=2[8/;F+X*?T5\17(!*%XJG'/35U[Y[G:YFTBV-A>T M%R9599EAJF[DF.L ]7S)F'R=Z#M?=<>/_@!02P,$% @ ^I4#5TJ0^;?N M @ R P !D !X;"]W;W)K&ULM9=A;]HP$(;_ MBI5)TR:M31Q*H!T@I=!J3"U"A6Z?#3F(52?.;%/::3]^MDD#D\!T"+Z [?C> M/'>ODG-:2RZ>9 J@T$O&I,@M^ MIU60.8Q /19#H6=^I9+0#'))>8X$S-I>C*^N<60"[(X?%)9R8XQ,*A/.G\RD MG[2]P! !@ZDR$D3_/4,7&#-*FN-7*>I5]S2!F^,W]5N;O$YF0B1T.?M)$Y6V MO::'$IB1!5,/?/D-RH3J1F_*F;2_:%GN#3PT74C%LS)8$V0T7_V3E[(0&P&X ML2,@+ -"R[VZD:7L$44Z+<&72)C=6LT,;*HV6L/1W+@R4D)?I3I.=4:/P^'= MS?W-8!S?H=O^(!YT^WHT&L=CNXIZ\3A&9^B6YE3!&=,E3% _5R2?TPD#%$L) M2NH-<<:%HK^)K?40!.4)^M0#12B3GUN^TJSFCOZTY+I><84[N+XO\G-4"[Z@ M, AK_X;[.L4JS[#*,[1Z%SOTQH(D@ 8D XG^H'N=3;;(MF$Y9(9O,['#S@*OCH@:Q5DS:K7=D"61;[;7N1MM+43T%Y4M!?.DFYQ?!NB M6R1$KT"$1!'*>*Y2Z>"J5USU_[&:O.RRVBES8/&B"C(ZLM71"6@;%6WC&%:[ M1:*5U0Z<9H73="KUX%FWDT)7;@S3-.>,SU^1;2A;*^<4.[!REQ7JY9%]OCP! M+0[6[2 XAM-[5)I[K<8;#0H[M;JV"8) #\ LEDQIL>C>+?K;I7Z?M?7O06[^\)NUW>_S]V2AQ9QW79P_=BNGZ(#X74+ MPLZ>\6[7W2J.9]W?.)>:,_X]$7.:2\1@IJ6"\X;.7ZR.S:N)XH4]JDZXTN[; M8:H_-4"8#?KZC'/U-C&GW^KCI?,74$L#!!0 ( /J5 U=W+=3+LP, -P0 M 9 >&PO=V]R:W-H965T&2.2&,$HOW?/@Q'+)"4)ON= 9'&,^-,$4[8;&]!XOO% UANI;YC! M*$5K/,?R:WK/UK! M;30V+,T(4QQ*#8'4QQ9/,:4:2?'X5H(:U9PZL7[]C/X^%Z_$+)' 4T;_)9'< MC(VA 2*\0AF5#VSW$9>"7(T7,BKR_V!7Q'J> <),2!:7R8I!3)+B$WTO"U%+ M@(,C"7:98/_7!*=,<'*A!;-_=E#B[ E,4I$R2O\IL9EHA0\5;=_SJ?@3>OWH)7 M@"1@L6&90$DD1J94-#28&9933HHI[2-3?LJ22^!8[X!MV4Y+^K0[?8;#*MUN MIIM*?%4!NZJ G>,Y1_&6$MPM*5DC+;E54($P:$?0.^U:I"C$8T-M)8'Y%AO! MZS^@9_W9)J\GL(98IQ+K=*$'"R81539?RC:91:Z7Y^K]OPV@95\-AR-S6Q?0 M%N9?N?NP!K5!16W02>U6B PE(08A$U( Y:V<)XB("%F6R-:%*2#=&I4+Q[5> M\&T)T%#5]9R7U6T+\P<# MOYVO5_'U.OE^81(+<(^>T))B11E,4/(HP ^PP#P&-^ S0TD;Z4[44YW?$UBC M 'Y5 /_L;>[W*;8GL(;8825V>,8V'QXXS+/4WPL?MD2Y]:@&L:N*V-7OV? ! M;QG=DF0-IAQ'1(+W*"24R*O=;8M2XB>]/:%UA1< MZS?@&=8LD^NN&PO=V]R:W-H965TK8F>U ]^]G.R$"FJ(] M[(7XVO<*$@8+@615%%C\F0#EV['3=W8;#V2= M*[/AQE&)U[ $]50NA([]T@#WUSOVS]:[]I)@"5-.?Y&5 MRL?.M8-6D.&*J@>^_0J-'RLPY53:7[2MNWBO50X'U ON<''?#I:?@,TA;N'\)= M[;\M@M\6P;=\P9M\B4+SA)*UM=QIJ&8(NQE,K]W($J MM6D'PL)66'A2V#U(J5]Y(8 I5')AWSZ>(;TK32/J\54'BI=V B1^"!,@C[/.%>[P R5]AL2_P502P,$ M% @ ^I4#5^'0)&$\!P XC8 !D !X;"]W;W)K&ULM9M=3^,X%(;_BM4=K1B)I4U2"LQ")=HLNZP80)39O7:3T]::).XX M;@O2_OBUTU#')?40>IB+(5]^X[SUL?W$)^]/4P8YK#D"?_LEC.+EJG+1+#A"X2^IFV\G=C MLK\QV2]TNSMT2T./H\<\=O:XX M.C2.?F59X=T5>U*^#6=4*%_U^<+@!VUPG8/'KQWTCOPM YVU:FH@DIAE8&]C M8*]Y7TC^>S&OSB"G8-/8QA0+D<0L(T\V1I[LW2N>8#J'*18BB5G.G6Z<.W4W M09ZJOJUH?!, AZ<*BSR"G8M*5ABH5(8I:17L=,KSM[1VDI@60>JEJ(I6;;5Z$3#S=4 M2[WM6.UNA:K[MHU-0E*S33)TX;T#+U2X#A0/ZVD'N(=7MWKCYH>*'5AJMK,& M/+S]R<-#10]4M1!+S;;/T(?GQH]1\2J*\(Q,$JX@PW/.S%%"^J1NB*X):%3@P%*S?3/(X?V$.78$] BBA3I%[I8@ M,OV.FERQC&:1-K:(\X/1W=7#Y\KYZRR&)S):T?E;QG9,)AFBJH58:O8O8AC' M.]N_(T#%&E2U$$O-?J-MP,9WSOPQ.H+R#MMCN_>Z*W#7I?&[[(]@&M\PC>]F MFNNF-I4K.)VJ3=L&H?(,EIIM4&6UY'T\@])7[IXTN6O5>/4%=_GE(SC(-QSD M[\]!/BH'H:J%6&JV?8:#_ _GH/(.6Y,F_W5/B4I!6&JV;X:"?#<%/8)(R26Y MX;1VZ+ M/-?:@XHAJ&HAEIKMH\$0?W\,\5$Q!%4MQ%*S,T,,A@1N#"GGUVM$.W6.,T$50J*=6.*V%ZO"-* \,:@9LU=MM#XH70^W(&>N+!>$PF@J?D MEB\A'8,@+]E4JEW'*,I9+G8*BKKF<%LL]7!0G M)RR/U!U^+*A0,R8"Z\[X*Q6J H&W,V%LX#:F\4_MU?2A]M0KQ+JC_5,;:@K< MU.3*]7DLZP0?M<5%K/,P)T"E@JQ#,E, I=TF?*+FJ-D4 M:DU&1:92K1H!P;;''Y*'5DE$[$L[K8W?TRR"W6N/&APA&6FFVD@:-@_\2S )6'4-5"+#7;/@-. 7+V M6:GWZC5Y[_1T.UY1P0A+S?;)@%'@3D(+(:'/:I(8"KHBQ9L@_1[(B9ENQ<:M M#I63L-3L/'##2=W]\]"ZJ'2$JA9BJ=GV&8[JOI>C:HU$90]4M;#[FF1>86:[ M\CV1_OI+T=94D05)8*(*=8Y.U$@NUA]4K7?&(VYE#PM-F= 8Q#Z G5^ MPKE\V=%?+6T^:^O_#U!+ P04 " #ZE0-7R5Q/Y^@" "P"@ &0 'AL M+W=O^SB',UXR_B1R (E6 M94'%Q,NEK,Y]7R0YE%BC-GO,12#7GFBXH#3HVH+/PH"(9^B0GUXK&9 MN^/QF-6R(!3N.!)U66+^/(6"+2=>Z&TF[DF62SWAQ^,*9S #^5#=<37RK4M* M2J"",(HXS"?>17@^#?M:8%;\)+ 4.\](;^61L2<]N$DG7J")H(!$:@NL?A9P M"46AG13'[[6I9V-JX>[SQOV3V;S:S",6<,F*7R25^<0;>2B%.:X+><^67V"] MH8'V2U@AS%^T;-8.^AY*:B%9N18K@I+0YA>OU@>Q(XBB#D&T%D2&NPED**^P MQ/&8LR7B>K5RTP]FJT:MX C569E)KMX2I9/QM^N+V?4,?4"?@0+'!;JA3:KU MD1U>@<2D$$?H !&*?N2L%IBF8NQ+%5H;^,DZS+0)$W6$&:);1F4NT#5-(?U; M[RMDRQUMN*>1T_!K34]0+SA&41#UT,/L"AT>'#E\>_8\>L:WUW4>H%+_/Y=. P^.JCZEJKO#JPF();7!NUQ?@AA9NZ+2Y!T'26EWJ M!2YJ0%F-.:826H$:IZ%QTJ5L$0=C?]$2_-0&/W4&OR64E'79%LLIW/,JC2S6 M:,\+/GH#JC-+=?:Z:\1!_TNQ$^8RM4&[;4/T#)@[^,)@6R<#=SKQJBN=;N6> M)Q?N5/!PSXRNA?\9+-J"16^3U!=\1R:KPL6X+?>ALV[_RVCJJ>DY.NGKE; MS#-"A8*>*VEP P !D !X;"]W;W)K&ULK5=K;]HP%/TK5E9-G;21=V ,(O%(M$ZM5I5V^VS @-7$ M9K:!;K]^MA,R2$+:M7PAL7/.N;GGWB27WHZR1[Y"2("G-"&\;ZR$6'=-D\]6 M*(6\1=>(R"L+RE(HY)(M3;YF",XU*4U,Q[(",X68&&%/[]VRL$\A2NBN;]C&?N,.+U=";9AA;PV7:(+$P_J6R959J,QQB@C'E "&%GUC M8'?CML)KP ^,=OS@'*A,II0^JL75O&]8ZH90@F9"*4!YV*(12A(E)&_C5ZYI M%"$5\?!\KQ[KW&4N4\C1B"8_\5RL^D;' '.T@)M$W-'=5Y3GXRN]&4VX_@6[ M#.M+\&S#!4USLKR#%)/L")]R'PX(4J>>X.0$ITSP3A#96=KI,10P[#&Z TRAI9HZT>72;&DP)JJQ)H+)JUCR1'@= M#2;1!'P"UTC6!T1/LF/E\7*,!,0)_R"O/$S&X/+B [@ F(#[%=UP2.:\9PH9 M7HF8LSS4, OEG CE@AM*Q(J#B,S1O(8_;N8'S_'C9K[M- B8TK?"/&=OWM!I M5/RV(2W@6A^!8SENS0V-GJ,G+6#9FN[4^?&VZ-';HL?-]#&:%=&=!B_=HA%= MK>>>:D3=?S/*15UG95ROGJM>OEV^AC/4-^3;E2.V14;X_IT=6%_JJG).L?$Y MQ:)SBL5G$CNJIE=4TVM2#[^O$8,"DR5(&NN:J01:17T#MZ$=!%[/W![6JP;D MNR70N IR;;]]#(KJ0+9S#(H;,WNE;W[AF]_HVR"E3. _4']UZ0) SI&H?==F M.OY1*IV2<56,X_LEWZJ8P/EU& MX^ZI@ D@&ULM5=M;]LV$/XKA%8,"9!$HMZ=V082)T4W=%A0-]MG6J)MHI2H MDI3=_ON1E"-;-B4XF/?%%J6[X_/<'>^.XRWCW\0:8PE^%+04$V_YQ/$T(DQQ)K4)I/XV>(8IU984CN\[ MHTZ[IU8\?'ZS_M&05V062. 9H_^07*XG3NJ '"]13>47MOV$=X0B;2]C5)A? ML&UD$]\!62TD*W;*"D%!RN8?_=@YXD A[%/P=PK^N0K!3B$P1!MDAM83DF@Z MYFP+N)96UO2#\8W15FQ(J<,XEUQ])4I/3C\_/\R?Y^ 6S%@I&"4YDC@'CXBB M,L-@;C+IZ@E+1*BX5F*O\R=P]>$:? "D!%_7K!:HS,78E0J+MNAFNWT?FWW] MGGW_J,L[$'@WP/?\P*(^&U9_PEFK[G?57>6!U@U^ZP;?V OZW(!5*EAI-'JA M74\?LGM1H0Q/''6*!.8;[$Q__07&WF\V4AM3F[C%%K\'FPZ-$*I <8Y+"2K&=5&V(8Y/P$ O"> 1Y%.I-!J-[)"3%G(R M"/DKDXB>ET+)*<@H]M(CD!:IP/=#.\JT19D.)OU'4II2VZ0\N")E1NMQNK])('XT+&.CX:M3X:#4;R M^5P_V+PP.HE:%*7'H;4)>8$]LM#;]U9O$/=#EM5%34U+S;%R3$90WSG9F3J$ M MV1XC4Z=N0-OL7M7A?]#-[@;,I0J$(<>6H)$GBO,+$Z0W*,.;_I>\G/T_MKON MV\\&,#B_"@&VH&1E,M4^V0T.&N\M+)>RUF6^GSG@8$M_)_/P=.Z!87"6DG(R MC-JD$GC7/I:Q:25>;>M&!2W<+,XUI= ME#'7 NK[DC'YMM!7L?;J/?T74$L#!!0 ( /J5 U<3KG\MC ( ,\' 9 M >&PO=V]R:W-H965T]V!=04U9]R>/O0][ !P= > >@)\#XB. L >$ M5FA7F95U113)4L%;)$RT9C,-ZXU%:S64F55<**%GJ<:I[/OUQ>)Z@3ZABZ*@ MQEA2H5O6[0YC\X'<%^+=$JQ4XHM7WA,*>C5ED,R.EPTC#/':"H;DL/,T^=$@MB"E[U_ M-TZ"+T.B_A/9@<3020Q/L6<_&Q!ZV=@:55;L&6KM-H8"D:V>6H,^>.9HNQ"D M0-1#GIQ.%*(G($*B":HY4Z5$"2K(TY"Y\]<11:>(#KR(G!?12>8;R@C+X>U. MG$Z#>P'Q3L#8"!@RXG4\SE%\_I(3L7,B?NNN**C,^88II -AR(0NPV>;P3P, MVRP8!?$D2OWMOL;!L C'+NQ 0.($)&];RA?+3P;K"I)GY0^&A='D6?G^WG5K MGKH?1*PID[J^E08&HXFV073/1]=1O+$W\)(K?9_;9JE?7! F0,^O.%>[CKG4 MW1N>_0-02P,$% @ ^I4#5T[XR*E[ @ G0< !D !X;"]W;W)K&ULK55M;],P$/XK5IC0)D'SNFXJ::2U"0+$I&G5X+.7 M7!MKCAULMQW_'K^DH1U9F6!?8OM\S_/X+O9=NN7B0=8 "CTVE,FI5RO53GQ? MEC4T6(YX"TSO++EHL-)+L?)E*P!7%M10/PJ"L=]@PKPLM;8;D:5\K2AA<".0 M7#<-%C]G0/EVZH7>SG!+5K4R!C]+6[R"!:B[]D;HE=^S5*0!)@EG2,!RZEV% MDR(Q_M;A&X&MW)LC$\D]YP]F\;F:>H$Y$% HE6' >MC '"@U1/H8/SI.KY=@#:)YA0-0!HJ> Y!E W 'BERHD'2!YJ<)Y!["A M^RYVF[@<*YRE@F^1,-Z:S4QL]BU:YXLPH]N@2E4 M/.K[)P&=YJ PH?),;]PM(2IIXN4Q+$!KSL M[9MP''P82NEKDN6O25:\$ME!\I,^^B3_^D3CY)#GV+()^Y]7'S^7KUI0*QLH9>HY&NFW)WKK7TON;(E M](E]%D[FX8 ]U[W'M8K?]*YQ76.Q(DPB"DLM%8PN=#D4KAFXA>*MK7;W7.G: M::>U[I\@C(/>7W*N=@LCT'?D[!=02P,$% @ ^I4#5Y?FG*D P .P@ M !D !X;"]W;W)K&ULK59M3]LP$/XK5H8FD 9) MTS0=71L)"FA,0T-T;)_=Y-)8.'9F.Y3]^YV=-I0V=!/:E\8O=\\]]]CGZW@I MU8,N QY*KG0$Z\PIAKYODX+**D^D14(W,FE*JG!J5KXNE) ,^=4,G9KMRH9R]IP)N!6$5V7)56_SX'+Y<3K>>N%.[8HC%WPDW%%%S #:#JV],_C!8*DWQL1F,I?RP4ZNLXD76$+ (346 M@>+G$:; N05"&K]6F%X;TCINCM?H5RYWS&5.-4PE_\DR4TR\CQ[)(*XLPHW&7H9Y*OEV>SRQDY M)K.ZJCC@^1C*R93J@ESA"9-KT=P4*_GA!1C*N#Y"\_O9!3D\."('A GRO9"U MIB+38]\@)XOLIZOXYTW\\)7X,;F1PA2:7(H,LI?^/N;2)A2N$SH/]P)^J<4) MZ0*8 4@+5M7+J$YD3CE,@G-$YX\PPT*,N89O 47=@6_TC7=$4)AZ6MP;U M"%[R_ETO#CYUJ?*?P%YH%+4:1?O0DV\5*+QA8D%2JU9N[UVN9$EDN^$4Z;Q> M#73LH.V3]9CT@P /_G$SNPZC!OKG DJ4MC#N0$>;-")XBW& MNR;A:3??N.4;[^5[Y6B]B6^\0V9P>KI%>-7 4UI0L0!76CLUXU;_Y08-=RY'%,;15GJ[1KT@"+?R\S?> MX1+4PK4G35);],T+UJZV'?#,/?Q;Z^?8&9M&]@S3M-4;JA9,:$PG1\C@9(B* MJZ95-1,C*_?:SZ7!WN&&!79W4-8 ]W,IS7IB [3_%Y(_4$L#!!0 ( /J5 M U?ET"F\B0( -(& 9 >&PO=V]R:W-H965T>\@1IW4U58Z-6L/(IWR5I6LA@=!9%M55+Q=0V:I0 M>L%.IPU=P1S4<_,@<&8/*AFKH):,UT1 /K,NW8NK1)\W!WXQV,BM,=&9+#A_ MT9/OVEK_QZV M CQO3X#7!WC&=PWE M_'9./I.?#0BJ6+TB=X!92ERZIZH53#&<\+Q;)G>,+EC9+9[>@**LE&?DA+": M/!6\E;3.Y-16Z$SKV\O>Q57GPMOCXD=;GQ/?^40\Q_/)\_R&G)Z<_2MC8V)# M=MZ0G6=T_3VZ0U)CEKK0R7BH+H8+V= ES"R\[1+$&JSTXP,]A)A$9"%]&ULK55K3]LP%/TK5H8FD 9Y)Z5K M(T$+&Q/;$(7MLYO M,[.1<%5GHJ%K8L!>"L!A74]APGL@M,F)6, MZK4;D8QXI2AA<".0K(H"BZ=SH'P]MESK>>&6+);*+-C)J,0+F(&Z+V^$GMD= M2T8*8))PA@3D8^O,'4YB$U\'_"*PEAMC9)S,.7\PDZML;#E&$%!(E6' ^K6" M"5!JB+2,/RVGU7W2 #?'S^R7M7?M98XE3#C]33*U'%L#"V60XXJJ6[[^"JV? MT/"EG,KZB=9MK&.AM)**%RU8*R@(:][XL2ZXNSV<4,':.?)0BL"%N@ M:]!ID7KIB^!2HBG)7#Z_+AU7S^ M*WQ=&OJ<--"@'VK.VU"6.(6QI0^4!+$"*_GXP8V,&T;.8,M,N%L^W_."+NJ%RJA3&;TAXY-*Z)Z@$)]3LL"F(_?JC'9T!H,X MWI+9$Q1Y8;_*N%,9[U7Y@[.TE=@D]!]"X]U4.;'O;BG=C1J$IZ=;2NV-;FQN MPN]8+ B36D>N8GYW MQ2=_ 5!+ P04 " #ZE0-7C@HE;((" #&!@ &0 'AL+W=O[R65!%%P+]IL6NIQYB8<*6)*&Z2>Q^0Y=/J'5RP53[HHVW=G 0WFC MM*BZ8..@HKR]D[?N.6P%8+PG 'SF_G:.OZ(YRPG- ]V!R5&;A@>A&4DW-1"S;971/R8*R M=O'T!C2A3)VA$T0Y>BY%HP@O5.IKX\NJ^WGGX:KU@/=X^-GPW2VG(4!LX&0ZTA7"A:I+#S#-?N@*Y!B_[ M_&D4!=\.V!KWML:'U+,GL,52@+3/U:8\9+"5B)R$+:QU%B6CU%\/<"<]=W*0 M:U"3(50;%6ZA1D&\AQ7VK/ 8*QQBA3NL28R'45&/BHZAHB%4M(/"HSU9Q3TJ M/H:*AU#Q#BH)ADE)3TJ.D1)DJ@GI$DRO76J00^!D!QP/K"@ISN?)P[Q_R_2WVI+ML,_$+FB7!GYI0D+SF-C7+9=LYUH4;M. MM1#:]#TW+,V/!J0]8/:70NB/B6U^_:\K^PM02P,$% @ ^I4#5Q);Z!JN M @ [0< !D !X;"]W;W)K&ULK55K3]LP%/TK M5H8FD 9Y-0GKVDC0 F-B$Z*P?7:3F\;"L3/;:>'?STY"5MK056A?&C_N.3[G MWOIZM.+B4>8 "CT5E,FQE2M5#FU;)CD46)[P$IC>R;@HL-)3L;!E*0"G-:B@ MMN5:+PMW9)$KLV#'HQ(O M8 ;JH;P5>F9W+"DI@$G"&1*0C:TS=SB)3'P=\)/ 2JZ-D7$RY_S13*[3L>48 M04 A488!Z\\2)D"I(=(R?K><5G>D :Z/7]@O:^_:RQQ+F'#ZBZ0J'UNG%DHA MPQ55=WSU%5H_@>%+.)7U+UHUL9$.3BJI>-&"M8*"L.:+G]H\K '";Y"PD1K-C.H?-\=X;QW^KV GRG4_(($QI:^3!+$$JSXXP?+\SX,-3\%V#2/W;] KK6&G-=PC[9-*Z*Z@_J4RW%+I MN@-_0V5?D.OWJXPZE=%.E3\X2UJ)>Z4SVLJ4ZP7NAM">H-!Q-X3::\W8/(3? ML5@0)K6,3,.&ULO5=K;RHW$/TKHVW5)E(N^^ 1;@I(0*A*5=(T<&_5CV89 MP,KN>J_M#8G4'U_;^V!!RR9%M%]@_9CC.<>>L:>W8_Q9;!$EO(9!)/K65LKX MSK:%O\60B :+,5(C:\9#(E63;VP1MH7LW=EO:P,SX2G$G2M^@J2P9>]:-Z:IO.=HC#-"7&H*HOQ<<8Q!H).7' MMPS4*M;4AN7O'/UG0UZ161*!8Q;\25=RV[>Z%JQP39) /K'=+Y@1:FL\GP7" M_,(NF^M8X"="LC S5AZ$-$K_R6LF1,G ZYXP\#(#[]C .V'0S R:AFCJF:%U M3R09]#C; =>S%9K^,-H8:\6&1GH;YY*K4:KLY&#\^VPV7OP M:3H<_3:!Z<-B\C29+T -31?3R1P^P22, _:&"".,<$TE/ 8D$G!UCY+00%SW M;*E5E0*/E[.9^35 OZ:1 UH.C?@ M.5X3OLSOX>K[:_BKPK/Q>T!! QS7 'DY4(V#S4+PIL%MG<#](R$!75-76)2E?".R _5\;<2"J[))9=RE_KB.<4@G M\Y>!TVCW[)>R)+5.GRE)IY"D4RN).O:J1X5!60E-[@86Y!7FDLBD\E#4PR;B MTX:0^*Z(,PTYPW")O.I0U(*=J0I4L:Z%^K>A<"&P ];=@G7W0M'? MO23E"X$=4/Y<4/Y'640[5(F\MRC1%2_S+DT2H\@]T.1>)"58Y.+LHS-U:-+ M^EL:;0XFW>0Y6.=L,^,#J3ESYIW<7._RN9)X>TF\_T&2_+X3/\*&,R$@)F\? M4*5%L.HYS3/&_>*BY M^Y>:6_LJRI/UB:VNS-H98IF7IH/;^Q-1KNU3>A,@WINH3RI,DDFEE4/06 ME>70U%-'_2-=<9JR:0^3EJLSPC=4E3(!KA6DT[A5V8JG%6#:D"PV1=222562 MF<^MJIJ1ZPEJ?,V8S!MZ@:(.'_P#4$L#!!0 ( /J5 U?&F15*-@( ,X$ M 9 >&PO=V]R:W-H965T;8P7::[=]C.VDHTM8O?(E]YWN>>\ZY<]0( M^:@*1 U/)>-JXA5:5W>^K[("2Z)N1(75>'#G?@XPC46M&.3Y(4'59$OD\0R::B3?PSHXU/1;:.OPXJL@1-ZA_5@_2 M6'[/DM,2N:*"@\3#Q)L.[F8C&^\"=A0;=;$'6\E>B$=KI/G$"ZP@9)AIRT#, M)#52HNR QL%)>7M2IZZ>[@ A(-7 &$'")WN-I%3N2": MQ)$4#4@;;=CLQI7JT$8-^7T-87GFF;A5<+[FM_ ,/@ 81 . :W$ MYRNTP_ZJAHYV^-]7]=(=M-RCE[GMZ-VIBF0X\ M^>@:>[RJRSU*$ ?8I8EZ25V+OW5X.\>G>!#YI\N4_D6/E2B/;I(49*+FNFVW MWML/Z[3MT;_A[:0OB3Q2KH#AP4"#FT\FKVRGIS6TJ%S'[H4V_>^VA7EP4-H M&PO M=V]R:W-H965TNQZXJD@ J+'JN!JI.,\0I+%?+<%34'G!I05;J^YXW<"A/J1('9V_ H8(TL M"84-1Z*I*LQ?)U"R-G3ZSFEC2_)"Z@TW"FJ1V+"FI@ K"*.*0 MA4[<'T^&.M\D_"30BK,UTD[VC#WK8)&&CJ<%00F)U Q8O0XPA;+41$K&[R.G MTY74P//UB?W!>%=>]EC E)6_2"J+T/GLH!0RW)1RR]I'./JYTWP)*X5YHM;F MCKXX*&F$9-41K!14A-HW?CG>PQG ]Z\ _"/ -[IM(:/R'DLW:/Y;#W?QIO'Q33^CA:KA_5V&3\M MUBOT$>T@5U]"H@6U?: O]-T]2$Q*\3YPI5*B^=SD6'5BJ_I7JH[0DE%9"#2C M*:3_XEWEH+/AGVQ,_)N$WQK:0P/O _(]?X"$57N#=]!=S\#P#JY=S_^^+[FU M),/+)'JNQJ+&"82.&AP!_ !.]/9-?^1]O2%QV$DV4/D!^[A7(![UDX5\-P,C4 ):ZBTG=7M=G,9VW;\FVZ' M>HEY3JA )60*ZO4^J;K<#HH-)*M-<^Z95*UNEH7ZMP#7">H\8TR> EV@^UM% M?P!02P,$% @ ^I4#5X&T[3Q?" +$( !D !X;"]W;W)K&ULK5SOS;3\3 M6W$\M<$/<++M](]_ A-CI(O6O-XONS;1/4=P+D+W2/CJ-G+-\FI?R:KR;%+A?)L@[:;B;,LMS)-EFG MH^E5?>QS/KW*]N5FG8K/.2GVVVV2__51;++7ZQ$=O1WXLEX]E]6!R?1JEZS$ M@RA_VWW.Y;?)$66YWHJT6&B&7L;$KVF_)+]OJS:$[(J? 6V::H_R6O35MK1!;[HLRV3;#L MP7:='OY/OC47XB1 XL !K E@:H#=$\"; 'YN@-T$V.<&.$V <^XYN$V >RZ# MUP1XM5B'JUM+,T_*9'J59Z\DKUI+M.I#K6\=+159IU4J/I2Y_.M:QI73AS"^ M"^^_DIO[.8G#3_&7F\\_W\YN?B6W]]&G+W2B34L@,+$GV1#[M M1)Y4B520B[DHD_6F>"?;_/8P)Q<_O",_D'5*OCYG^R))E\75I)3=K,@FBZ9+ M'P]=8CU=XN0N2\OG@H3I4BR!^,@<[QKB)_+R'*\1>[M&'YD1\)=]^H%PZSUA M%N- ?V;F\+LDE^&T-WS^/?;-!V(=PAD0'IK#;W:Y,3SZ=^<>_]^=[TC!C^G* M:SS>EZYB56=A+A99NEAOUG4>0CEVP+%AG&J ORQVR4)5>3EU/IC41#I0;:3I$]244(JN!HY M8Y9Z9QBYAJJ@,U*+*SD:8C)&.J/M>EQ1 >B6YU-8!>^H@F=4X>T9MLNSIW5) M+C99(>=/CT+6%4).G1;95I R^?8F$J2/IW7+M96+-3-V8J@\.N'8"8) T0>3 M,M(IF7Z7 /VBTW&8!JU@"DU L\U2A )8T 4MOBFH,&-.-VP'K*']J:-M3LVC3++7*P;^[B M@OQ##!-\3)=DAHHV1T4+4=$B5+08"ZV;,ZW%1#VL\1[3M)FAHLU1T4)4M @5 M+<9"ZZ9+ZW=1L^%UUG@/.$#0!!_5Z )(P0D^JM4%D,(3?*"=:8+?.E[4;'D- M7C6A@/_E:TM99M;!TNB<-O55#Q*5,P(X/9F#JBYZ*Y^?^./=30"MI\;,GMK9 MJR<-3B*I"J/X30,JY9ZLB 5VCED?[[I76,6)FQVCH"@K3O1)]P=', M.5@6G7),_4"[<5"](X"4VK:ZJ@5U32:,WZ-*:QPQLW%TUE)*@V%>2S$3#99" MIQS;\C&O2H'J[P"D-&">*@70-8_RGJ*.M88,,^]0Z2GJAAA[9H:A,W=4M#DJ M6HB*%J&BQ5AHW3QJG1KF(!5Z#-,3F:&BS5'10E2T"!4MQD+KIDOK)3&SEW1. MH<> W3^ L6=F&IP!T$X;W=A#)8T 4LC8 YH9C#W6FC3,O!%H<)G'@#TQCE9: MH%HP$*6ZMR5$I8P 2D=_+NN-[*"OP&A]$&;V03 *#-T4X(RJ.QC-_1@L$K ! MR>':3!;5) $X'=]R5)GT5K;+^R:RK4'"S ;)X/("VHNC;OZ9F4D'BP)X%2IE MB$H9 93,#K3A#+@8CMVSY8BW]@@WVR-G%1<<<"I\7_40S4R#]]L#G%Z@W)$A M*F<$<').58\$:F7Y/7<';VT2;K9)9EF^RV1U(=Z3^RP=-X,:* ?J[AY4M#DJ M6HB*%J&BQ5AHW71IO1K.D$H(CNF%S%#1YJAH(2I:A(H68Z%UT^7D#2RSB72V M#MQWJP!3QU(WW8:HG!' :;MJY1)#/?,\MV>L;WTD;O:1$&:L M#4/7;:2^6E>8.S)8*("446T+.RII!)&ZOEI!Q6 SR^^;(;5>#3?OJADZ:^7Z MAI(Q98%V!Z%:,1"I0VU5%U2+!>)D 5?WRH/-+-[SBAIO31%N-D7.F[D>,#J; M_J&I*ZHK I*ZVM(1*FD$D?* :G<)T,RV'+4&GYR\F[X5^:K^V8&"++)]6A[> M^ST>/?ZTP4W]0K]R_".]#"EP/**7\>&'"UKXP^\HW"7Y:IT69".>))7UP9.9 MDQ]^FN#PIL;)HV:6U^A] !$L.LX^F55M"]]]F%"T1+XLPV99/V MQS\[20-I0U8>_D+BQ.=<: +'-0$IN.905F0J+4&/3R:W=LT*-;$4YK 5X)\')EBE1R'3 1 M9-!C=(>8FBW9U$DN9HZ6Z4>I>NYSP>3=2.+$8#Z^OAE/[]%PBM'U^/9Z-KS[ M.AD-_T:3Z9?;V^C;'Z/W;#^@M MBE)TOZ%;3M(E[YE"KD[%,!?E2CX7*W&.K.2O;7J)7.LC24?R6FO2K< '.5[]L3T. MW*X7.E;/?#Q4Y.4TS^H&':\^#3>PA788NM6T6A9>E877FL5M!HRH!__D'8Y^ MHW$*;/VK*:56LE-+02<9UD16$]&O1/3/=Y&O4SJ=9%@364VZH)(N.--%!=X_ MK'O7M=W@F8M:PYRJ2$-,Q[4Z5K/7.E6NG?_CM;6DDPYK(:L*&E;#A^?X+=4JGDPQK(JM)UZVDZY[IO^X++SANZ-O/[-<: MY51!FD(ZW2-O.MO:]Y!6:ZXCRF1]$ $?T92F%V7JC2U@*]&IQ:*5#>MBJXMX MT(C;YWNMY-"EGTXVK(NMKM^^X;9;F])7&*XD."S_0#:$[C/'M<Q]DVRW=\F35 #C9<[C.)+?AD1]23=GWLIU&PO=V]R:W-H M965T=L]K>_FS4-M\M6NT68] MIW$LYYN\*&>7Y[O7;NK+\^JQ71>EN:FCYG&SR>L_7YEU]7PQ([-O+WPH[N[; M[0OSR_.'_,Y\-.WGAYNZ>S8_4E;%QI1-4951;6XO9E?DI4[8ML%.\5MAGIN3 MQ]'V5+Y4U1_;)V]7%[-X^X[,VBS;+2+O_GLR"[->;TG=^_C/ 3H['G/;\/3Q M-_KKWK-K[BUDZBU;F-G]LULWNW^CY MH(UGT?*Q::O-H7'W#C9%N?\__WKHB),&'0=N0 \-J-^ #S1@AP;L1X_ #PWX MCQY!'!KL3GV^/_==QZF\S2_/Z^HYJK?JCK9]L.O]7>NNOXIR.U ^MG7WUZ)K MUUY^U&^N];M/T=4[%;W1[]]\N+KY]>WBZM_1VW>OWW^XOOKT]OV[Z"Q219/? MW=7F+M^%M[J-/I@G4SZ:Z&=EVKQ8-[]TJL\?5?3S3[]$/T5%&7VZKQZ;O%PU MY_.V>Z/;P\V7AS?U:O^FZ,";8M%U5;;W3:3+E5D![56XO0RTGW<==.PE^JV7 M7M$@\%^/Y8N(Q?^(:$P9\'X6WVN^?A'%9-><0J?S_QU=3SZZTQGL.&38CL<& M>(?(0V'=-^1PP^V<][)YR)?F8M9-:HVIG\SL\N]_(S+^)]2GF#"%"=-(,*?W M^;'W>8@>ZOU]0[EKN/V >+HD)(N3Y'S^=-JO@"RFD@M7IOHR2HE,8U>F 5K& M>Q\3 MIC!A&@GF]'YR[/UD:HKO&XKOI3@@@U*\+P-3'* %4CP]GF4:/$M=FOKN3^@D M@^W&#C%,F,*$:228T_G9L?.SJ0F>8?8^)DQAPC02S.E]$MM5=SPUQ0\M3],M M2V/BY>X"D*5<)GZ* S*2$A;[.0[I1"8D@9.&A^0,9Y1.C %6"M#PEYF> KXWI(@R!T]$C%I"I6FL6ANA*P-(^GDV0#5 MB:'2%"I-8]'<&%@W1H)V(QB#[,=F@[X,G WZ,G VZ,L"LP&UMH>&;<^BVFQ, MO2SR-72JX<9CAQLJ3:'2-!;-#8/U9)1,37F*ZL10:0J5IK%H;@RL$Z-!EQ&, M >TO[U,BO8R'5,2_$J@ %9$RR[R$AV1)POE PENO0\->QR9\]W$_?,4O3!D] MZE!WCE!I&HOFQL,Z,LHG9SZJ_4*E*52:QJ*Y,;#VBX;WMD(Q$+TT[)(P]C._ MKY))3/S,[ZL([WR]G_F0+,GB@Z7^6,N!(3)HT++P=%HH!Z7^LQT0P+]\!&9?$7]$K0$9BSJB'TX NC6,R<.V? M67_#PO[&YGQPY1^FC!YXJ+M.J#2-17/C<5*T-[UJ#[=L#[=N#[=P[Z]P7\RZ M+S:Y=N_0TKTP)W@O^?LRFJ727_L#,BDE2?W/191-Z!0:1J+YL;(^C,VN<2/H?HO5)I"I6DLFAL#Z[_8Y$(_!A7=2>)? M"H!DDK'4GP_Z,I8DL?#G T!&DFQH+6 ]#@M[G,]ML2[:PH!?!0BW'3W:4#>9 M4&D:B^9&P;HP-KGFCZ%:,%2:0J5I+)I;NV\M&)]<]\?[%7@B)K&7R@M UGUF M]S;Z !F)8RG\)0"@RV1"4SCEN?4Y/.QSCBD?7/V'(6/''2I-H=(T%LT-AW5C M?'+='T=U8*@TA4K36#0W!M:!\!>KXX%CWK M#^@R*<3 QST_^892V.:XN3]F]1\&CQZ+J'M0J#2-17-#9!T:GUP"R%$=&"I- MH=(T%LV-@75@?'()(.]7X_6N^P,:(OS+_I"(^GC4W/&QN/A4; M<]:E_-EUWG;YGZ^;;?*W=;X$=P'"M-'##G7#"96FL6AN7*P9XY/K_3BJ%4.E M*52:QJ*Y,;!6C$^N]^- O9]@F6_\(5F<4;_\!Y#Q1/I["AJ2T81+> X0UNZ( ML-T)S %!7Q#&COZ.+^IV%"I-8]'< %F;)B97 @I4;X9*4Z@TC45S8V"]F9A< M"2B &K^,^]_V!52)2/VI % 1*?T5@P9E_.12H7N6UOV(L/OYWE0PQB:$#S5Z M:*)N6*'2-!;-#9IUC4QN3A0]$OU.$O\+?X%)).T5RT$ MR#)*_;H"#& ! M(*T/DF$?-#0)C'$&X4.,'I2HFUFH-(U%M^9-C]O"Z^FM79 M35TL3= 6A#&C!QWJKA4J36/1W("\-B'MS0-R[ _X5UDQ::R8G MUPW*?@D?SS*9^9D/5/H)3GQ; ,A2DDC_FB$@$QG/!K80I;4_,FQ_H.0/^H(P M;_0(1-W 0J5I+)H;&6O8Y.1:0HGJS5!I"I6FL6CN34*M-TLFUQ(F0)%@1J3_ M^0_(&!?]VX3V94G6S0/^;4*! L9$BH&=@\3ZGR3L?P9G@3'&('R,L:,2E:90 M:1J+YD;+NKADWJ\[]6\=L(!$B7^U M !"1[D/?GQ0 5YO3']\]?CK%%>[WV3P M7G]%7BX(\+HB+_7^MRWIM\9>JMH/O[;56UWYYL#W#\C8_+_P%02P,$% @ ^I4# M5^H&#?@8 @ 3P0 !D !X;"]W;W)K&ULI53; MCILP$/T5RY6J5FIC GNIMH"4VV:S:BY*MNVS0X9@K;&I;<+NW][("84]RJ4IJ;*CV1%<* MZ,Z#2D["(+@A)64"I['?6ZDTEK7A3,!*(5V7)56O0^"R27 ?GS;6;%\8MT'2 MN*)[V(#Y6:V4C4C'LF,E",VD0 KR! _Z=\/(Y?N$7PP:?;9&SLE6RF<7S'8) M#IP@X) 9QT#MZP CX-P161E_CIRX*^F Y^L3^[WW;KULJ8:1Y+_9SA0)_H;1 M#G):<[.6S0,<_5P[ODQR[9^H:7-OKS#*:FUD>01;!243[9N^'._A#! &;P#" M(R#TNMM"7N68&IK&2C9(N6S+YA;>JD=;<4RXC[(QRIXRBS/I9C*=3Q9/:+ 8 MH^ED.5T/5@^ST> 'FBWNE^OYX&FV7*"O: IRKVA5L(QR-!-M,[A;_30&0QG7 MGV-BK!Q'2K)CZ6%;.GRC]&,M>B@*OJ P"".D#37P+PFQ7CI#86@#H#3CQ_Z-\'W=S1'G>;H/?9T49=;4$CF[2UH MQ 1J[%T7"(1AYA79&53NX)+PEOK:4[L1/*1A&)/#N1QRUA]NU.94[9G0B$-N M04'OUJ)5V[YM8&3E6V8KC6U ORSLQ(-R"?8\E]*< M>%W3\D_0M02P,$% M @ ^I4#5V]?/#H=!0 2R4 !D !X;"]W;W)K&ULO9IM;Z,X$,>_BL5)ISMIMV @2=-+(J7!V^UJ^Z"T=ZM[Z1(GH +.&:?9 M2OOASQ *@7.\36]VWR1@9GZV9\P_#/%HR\5C'C$FT=419RR+(]YA@1; MCJTI/B.N5SB4%G_%;)OO':-B*@^1+O)#1V#JUT((MZ2:1<[[]R*H)]0I> MR).\_$3;RM:Q4+C))4\K9S6"-,YVW_1K%8@]!\71.[B5@]MU\ \X>)6#]]H> M_,K!?VT/O7*/W:,:SD&52T#*[ M\SA_1+\%3-(XR7\?V5(-I,#98=7I^:Y3]T"G'KKBF8QR1+(%6VC\ [-_W^!O MJP#447!?HG#N&H&?-MD)\IQWR'5<3S.>V?? MO22\DNF#7Y]1?<=_[0Y0H2%D#""!"L ME56_SJI?TKT#6?UO[43(4HII3FB:,U$ M<4&KISODL$06O_U/$^>DAPH*1B"_1%RJ5$\T6Z)9OF=!%U#C08U!W)T5KY_8[DZ%D= M*Z*UZIWJ)6=8SWWX$R4G4,5)++EX1M.-C+B(Y?/[.ZG4!EVKFNAO51/I0FD< MX;%+'!(60,(($*R59NPTA8P#H#85!"@7H+0 E$:@:.UT[-65&%YS*F97*+K/ M.>:NCPX[)(U T=IA=YNPNZ!R=\'X2M!U%(=ZP9O1)%YRD<54FR_C8(Z^FR!I M 2B-0-'::6U*8J%EIG3(]/YJ$Z^75>6]+3A 5ERF]K6-=>V/TB6OO]RR:A'YD$?>P. T@)0&H&BM=/?U-BN M"Z!'+FAM#$H+0&D$BM9.1U,;N^;_J]^F1]YK%&1F[OKHL'LZ/<+=]^!0G>[B M:>]M#E'2LRIWY>0HY)M,[C8%U*WUSI]IN=^ETWZ.SV98TQ[@,[+;U]/@=]N, MKJA8Q5F.$K9473DG U7>B-W.G=V)Y.MR:\H#ETH7R\.(T043A8&ZON1/C8,W%@TP!%'K,*9,C)U6J M.,-8QBGD1)[P ICN67"1$Z6K8HEE(8 D%LHI]EQWB'.2,2<,;-N5" ->*IHQ MN!)(EGE.Q)]SH'P]\X?3&66C!S7! 048F44B/Y;P00H-4(ZC-^U MIM-,:<#M\D;]JUV[7LL]D3#A]&>6J'3D?'90 @M24G7-UQ=0K\<&&',J[2]: M5V-/70?%I50\KV$=09ZQZI\\UCYL 5JG'?!JP-L5\&O ?PGT7P'Z-=#?%1C4 M@%TZKM9NC8N((F$@^!H),UJKF8)UW]+:KXR9?H&-T16A*[@V.JCQ!A,:##"!3)J#S2_;?S"!T>'*$#E#%TD_)2$I;( "L= MBA'$<3WM>36M]\JT/KKD3*4235D"20L_Z>:''3S6%C0^>!L?SKU.P6\E.T&^ M^PEYKN>WQ?-_>-2-1Q WN->"3W?!>Q;O=9CA-X?"MWK^#H>B;6\KNM].FYOM M3!8DAI&CKRX)8@5.^/%#;^A^:3-VGV+1/L6F>Q)[M@7]9@OZ7>KATX=(-A]B MVTYTBKQW)_8I%E5B0RMFDM4J/.[IY!7@U;;%;XUZYMV@\6[0Z=V,Q3IE2GUS M)5"5CLQUM=K-TL$_(;T(>O+FB*@SOO<>PSV)55;BK521@UC:'"U1S$NFJJS1 MM#;/@+'-?OAI>/6&N"1BF3&)*"PTZIZKBN*%33SW7.DT9HNI?LJ M, -T_X)SM:F8"9K'4?@74$L#!!0 ( /J5 U?Y!#DC40( $,% 9 M>&PO=V]R:W-H965T45-K9$4 58+&471&*\8ER=)P M-M59JAHKN,2I!M-4%=-/ERC49DR&9'MPQU>E]03W5SJ(]2\$K ME(8K"1J78W(Q'$T2[Q\N+O?LG\,M;M:%LS@1(D?O+#EF+PG4."2-<+>J%>; .'5^A.A3GR/K,K.#PX@@/P;J5J#).%2:EUZ7A2FG>A+]O0 M\0NA/S=R $ET#'$4)WO@D[_!Q0"B88#'S^'4B= K$?=*Q($O>8%O+C7F:B7Y M;RQ"]9^6]9I'FRO=>>)^O-PRO>+N80I<.DPT.#\E MH-N6;0VKZO#J%\JZ'@K;TDTYU-[!W2^5LEO#-U(_-[,_4$L#!!0 ( /J5 M U?=Y/C,G0( ,T' 9 >&PO=V]R:W-H965T]YSG<^WXVWC-^+#$"B79%3,;$R*-GPVFU+C7P<+UG_VAB5[$LL8 9R[^3 M5&83Z[V%4ECA*I@@:0/!2#Q<-P(1NU[&;Q$58XG#,V19Q;:W8 M],)DWZ!5O@C5=;*07.T2A9/AU9?9U^L8W5[^B!?H'%W1A!6 ;O$.Q3M5BP+0 MZ10HK(@\0Z<12$QR<:8,[Q81.CTY0R>(4'2;L4I@FHJQ+=69-+.=-/ZGM7_O M&?\^NF949@+%-(6T Q\=Q_>/X&V5BS8AWCXA4^\HX>>*]I#OO$.>X_D=YYG] M#9[WD.,:N-<5SO]YC__9^X-D^&UU^(;/?T%U=-UMC0ZZT;K%C42)$YA8JH<) MX!NPPK=OW+[SH2NQKTD6O299_$ID#ZX@:*\@.,8>-B]2JA<)^Q>Y;%YDUY74 M;'W#IH?$)O0"54F;PTP_M3EW^X-'5M%3J^%P^- F[F *G+[76M4AVP?]J0"^ M-H-!H(155-;%V&K;V7-I6NXC_=0=S=P.?:1F53U:_M#7@^X:\S6A N6P4JZ< MWD"U3UX/CUJ0K#3=<5M+V0RPEL61REZ(8!NDP22?Z8H MQKNQ9FK[AM=HO6&B09^,,KA&"\3>LA?"[_2*)8P2E-((IX"@U5B[-^_FIBT MN<5?$=K1HVL@NO*.\8>X>0S'FB$B0C%:,D$!^=\G>D!Q+)AX''^7I%KE4P"/ MK_?L0=YYWIEW2-$#CG]$(=N,M8$&0K2"VYB]XMUW5':H+_B6.*;Y+]B5MH8& MEEO*<%*">01)E!;_\& _KE] M<$N >ZX'KP1XN5C%Z.;2S""#DQ'!.T"$-6<3%[F^.9HK$J4B%1>,\*<1Q[&) M?__Z_/@\7X 7_Q4LOM^_^N#:?UG<@%OP@)-LRV">,=0( JB%+RE$:/?CAK^W. MA6G(&Z]J]R.=\<"%>WU9!CDM@K1.!&F# M)YRR#05^&J)0@@^Z\6X'7N<#5HV:M1^UJ=5)^/LV[0';^ 8LP[(E\3QTPY\@ MX7#S)'SVE?>X!XP";DG@?C?\/B.=\.#_]7W^GX.O26%7"6SG?/8)OF<^74?I M$B<(7,>8TAM9>A44CIQ"S/9W-(-+--;X=$X1^43:Y-=?3-?X3::M2K*92C)? M)5F@DFRNB*R6(4Z5(4X7>YXACV6&_'$J0PH*-Z<0R_?GQ!YZ(_WS6/BVS="V MZC:SMLVM8UMNW9]>M@K:5:5O#NM%<0C4PA@>KVI#UJR'K?SEDM:+B MTSY?\*.E;.@*JG[GT'6ZN[1FV@YE8ZS29=!V*9%"$M=I*=Q*"O=B*<(HWC+I M0CAUS\CC3H>7BM%V*!-#IYV+S(]_9HO 6?B+"=^K[ M[0[?XU/&]S91NKZ3J>*I7']4DLU4DODJR0*59'-%9+6D&51),^BLX%;2\&). M^)ZZG3O@.MHW2Q>I@606LAVG4=Z=T5R:'S*7AMDL;Y4N VDOC7ZCOB56UM P MY?4]K*0:=DKEKU;\%1G@53'%\I=DP-_ EA\ 9^(UB *N$W\!IXQ$2ZYH^1#N M( GI5^(-VP$[C17_H3.Z2Z532>:K) LD0^$U4FJNR&$M#4SC\%9L**K9VW(Q M_DK^TF$]K9U!O4J?!B9Z:#8%E9JK;=+&653@-I1UN%+(W,M4\4 M\N%@Q^P\%9C,CB;6,W6QS])%Z0&.Q*=4%Z5G,]*.MG211M;213\Z/$X06>?? M!2A?\+8I*X[AJM;JV\-]?N+>:)^:=[XI:0_$MXK\L/I 7WSH>()D'?%=58Q6 MW)71\_AB0(IO!\4-PUE^=/V.&<-)?KE!,$1$&/#G*XS9_D8XJ+[@3/X%4$L# M!!0 ( /J5 U=_6/TPF ( " ' 9 >&PO=V]R:W-H965TUBL(>GUVX@%6PF6V2 M]-_/-H0E$HFFJ5_PZY[C\QJ9 M7LFXJ(C20Y&[LA9(4@NJ2M?WO!NW(I0Y46CG5B(*>:-*RG E0#951<3K'$N^ MG3HC9S^QIGFAS(0;A37),4;UHUX)/7)[EI16R"3E# 1F4V@XDC52\ZL!:0459 MVY)=EX<#@.89!O@=P/]70- ! FNT569MW1%%HE#P+0@3K=E,Q^;&HK4;RLQ? MC)70JU3C5+2GK[&L%JN(;Z?K9=PL5S%EW %,Z9H2LO&Y!EB3!I!%44) M%W>H""VEB9$%$7JJ:RB#[P5O)&&I#%VEY9E-W*23,F^E^">D!/#(F2HD+%F* MZ0!^<1Y_P: N\#^)X?#.GY;_B1G*#_58'E&Y_@ MBTV2K^;ZS*:P(J_Z*BF8"4%8CJ8_E/"SA*9 W,J:)#AU= 60*#;H1._?C6Z\ MST-NWXCLR/NX]SZV[,$)[T=G4?9G<=)[WER]G^?\ RX2\I& MGW#(!*\@X57=*&)K(L\ B6"4Y1)J%.VUA M]+=L+>CF4KU;$Q(HP-7\3C2>C MT-TU"$*A2YKN[?\/;M>"0BITQ" MB9F&>MSSA7^X'9H'\4HS]02P,$ M% @ ^I4#5QU$PH2_ @ @ D !D !X;"]W;W)K&ULK99M;]HP$,>_BI554RNMY)%0&$0JY:&=U@FUZ_;:30X2-;$SVX'V MV\]V0@IM8*CC#;&=^_W/ESM\[J\H>^(Q@$#/64KXP(B%R'NFR<,8,LQ;- AI#2 MU<"PC?7"7;*(A5HP@WZ.%W /XB&?,3DS:Y4HR8#PA!+$8#XP+NW>U%/VVN!7 M BN^,48JDD=*G]3D)AH8EMH0I! *I8#E8PE7D*9*2&[C3Z5IU"X5N#E>JT]T M[#*61\SABJ:_DTC$ ^/"0!',<9&*.[JZABJ>MM(+:WA3QEP'[JP#'SI[!;\5I(5_E0JWKD%7Z[D?J<&F4BOE MO&8Y=7;W>(Y#&!CR<.; EF $GS_9OO6U*<_'%!L=4VQ\3+'),<6F1Q+;JA:O MKA9OGWKP0[;G&Q+2#-#I=\KY65.%E!*^EE#->!FXW4[?7&XF_KU-UW6V;4;O M;;1RID\]+#6%Z1@"D#^7Y.J5A/E(/ZTA7\!5!+ P04 " #Z ME0-76(TFE40" "*!@ &0 'AL+W=OGVO$)3X(^:Q* (U>*L95XI5:UPO?5UD)%58C40,W3W(A*ZS-5!:^ MJB5@XI(JYH=!,/,K3+F7QFYM(]-8-)I1#AN)5%-56+ZN@(E#XHV]X\*6%J6V M"WX:U[B 1] _ZHTT,[^G$%H!5U1P)"%/O.5XL9K;>!?PD\)!G8R1K60GQ+.= MK$GB!58(&&3:$K"Y[>$.&+,@H_&[8WK]EC;Q='RD?W6UFUIV6,&=8+\HT67B M?? 0@1PW3&_%X1MT]4PM+Q-,N2LZM+'11P]EC=*BZI*-045Y>\$$R+_YOC'K]<*C MWBHH-TK6G-"]Y0TF)VKNH5.SD/M M=[-0->3)$3[<- S0.=M/;\:DV6A)1Z_\/ MN=4=!N:8*1@0F_9BTT'.=\%OKY ;AKXE-^OE9E>=VA-(\Q7A"V[#S+?MHE_M&^VR[2]_P]LN_8!E0;E"#'*3 M&HSFYG7*MO.U$RUJUVUV0IO>Y8:E^5F M 'F>2Z$/D[L!OWO)_T#4$L#!!0 M ( /J5 U?Z(VWF-P, ,X3 - >&POGW./[1MB&%5F+=C=@C$3K HAJY0LC"D_A&$U6[""5A>J9-(BN=(%-;:K MYV%5:D:S"DB%" >]7AP6E$LR'LEE<5.8*IBII30IB=M0X&Z?LY3TX_@_GU_OQLQHX)Z%7]/(%HA<]7-=BF'3\(NEG ME#'AJUWAC8]3*]6:.L7(0P^Y8Z*TQ)]S-VE##YO]'(]R);MMC8@+6'U:L."1 MBI1,J.!3S8&5TX*+M0L/(#!30NG V'JR"?L0J7XYN.]Z4&J-3L&ETG5NE\%] M3YOA>\"F!P:Y$*W! 7&!\:BDQC M;VRG'EP'GT!!T[Y?E];A7--U?W!).D)] MLTFF2F=,MVGZ9!,:CP3+P8[F\P7GUX_:P:G-QF;$5RR9-5\^G=3.P#9NUN8"PC]S4 MEQ_!. [S(X!A>3 '&,>QL#S_TWR&Z'PI$ARAFB',?R(9/Z@^7Q:)%$4Q]B*3B9>!Q-LW>(8?OQJF#=@8'D@TY^M-;[;>(4\7P?8GCY7(=A, M\4K$9HJO-2#^=0-&DOAW&\L##&P7L-J!_/X\4%-^3A3!KF+>L"<81Y($0Z 6 M_34:Q\CJQ/#Q[P_VE$11DO@1P/P.H@A#X&G$$,"0**K?@WOOHW#SG@J[ M_^"-?P-02P,$% @ ^I4#5Y>*NQS $P( L !?3T\ M$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5* M(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_';\W[?K![%FIL_JXU0]LQ]I=>\MH?ZH6\V6O#"/ I1K\N^[#@ZH6JUI6RA8V!;=2/)O_SC>'[$D:>2=+6?^\[+7[I>BQM51R+7^) MXK)WTF/FL7J^KK3\5:F:E]E*5V5YV1OL3MP*7T5;/[>,3\)>O#O:UM5$EK708UZ+J:ZV&ZD>FFKL7?3!;;1Q MV&]W03S7_R>,U?V]7(EQM=JNA:IW<=2B; "5>90;TV.*K\5E;W\)XZI@D:IM MD%BL=E79:YL[M7\=%[N[KBTNB*$^E_:$CHL6G YRE";C*,FB,;-[63J+QV%N M#X;A+$Q&$0.0#@+I'!#RNP,@7032/0ADEMO-/$H I(= >@>$[$321R#]0T*Z M #) ( -:R'0Y#9/XGS"/TX2%R9BEBVC9'F4LG<"&\PV!_$8+N8Q&49*S<#1* M;Y(\3J9LL4P3NS]J7LD<0)XBD*?4D+=1^<@%ZH38I_,HC#K/,H!YHT!N3CF M\SAO'F;6MM';?,*:* ;$KHG"9V'XM8[;W9=EUN(S84;3( M_H!\F"4&Q)JP!FOZW 7,RG?D.S##.5QGFF$V%$IJ7GV&Z MF&_<@_H&-B$7\XU+[!L<$S8A%[..2VP='!,V(1>=YZ*V$(H90$S,0BZQA7#, M;Q 3LY!+;"$<\Q1B8A9RB2V$8YY!3,Q"+K&%WHTLC]FH6F\J(]_UFYB%7&(+ M?8199JI2%Y2C8D)=9B&/V$*OF&%1M(V[^]PA)KK>0FRA5\QE,]1\^\QA9NEA%O*(+?2*F6TW MFU(T5]MXCKAY9).R>H:8F(4\8@N]8J8;V]!KJ1YVC8-U9$VH[A%,OY"UM IP>8A0)B"[W!C-6J6HN6L1U[0DS, M0@&QA3Y=(MCEZQ 3LU! ;"$$,U2=/#W +!006VC!?[(GPQ9"MS]OQDAC:59E M9;8:+K<$F(,"ZJ\'E)&%T"S7O&A&Q*'67#VTJ08!-T#(HPS=1Y + MZ1 ITA@\%3$D>/DW_$ ,GWZ50SONNU/=[?NZ^#@>3G75[,:Q_Y%27>_*L:UW M75].YRN;;CBVXWDY;%/?KM_;;4FZ7.8TW,YHGI]N9RY>/_OR/Q.[S6:_+C^[ M]>]C.8W_&)S^=,-[W94R-HO7=MB6<=6DC\/U=$V7@]R=)S>+E[=5,[R\29/F M#E((TOF##()L_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@Z&'^H$<(>IP_2)8H MXY(@:8(U@=:"7 N!UX)@"X'8@F0+@=F": N!VH)L"X';@G +@=R"= N!W8)X M"X'>BGHK@=Z*>BN!WCKYV";06U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1 M;R706U%O)=#;4&\CT-M0;R/0VU!O(]#;)ILE!'H;ZFT$>AOJ;01Z&^IM!'H; MZFT$>AOJ;01Z&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OMDLYM ;T>]G4!O M1[V=0&]'O9U ;T>]G4!O1[V=0.] O8- [T"]@T#O0+V#0.] O8- [T"]@T#O MF/RL)- [4.\@T#M0[R#0.U#O(- [4.\@T#NCWIE [XQZ9P*],^J="?3.J'[RW7QU^67R[L!)AHE M&DQ\;UB@[7G/>I+GBNNGK:,PVK1-%Z;9(D9WQ5@H%]2:D%M'75J96]^:F+[Z M%^9,N30OQ,1D4K#2=I&Z.(Y]C6QV?4MSLVKBZ&Z3?@ZU[::9IR9DHYO=QCYK MFAGGFKHT,:VS=5=]2AGO$_)T^#]B?>UB3]W5%HT?C MX[UITRZV:5B(VX9"?KS$%SW:^;PNJ;+EJDU'\N \F2HLB&+;Y+NB9\>38[IA MVGWRD_.',L<"T\Y';UU($_/T^[C#2/K38Y<*D8_U\5=\3TRE3WX_ZJ==4?7# M['2]K]8OAWD$-CQ.O^./,WZO_\L^!$@?$J0/!=*'!NFC .GC'*2/"Y ^+D'Z MX!.41E!$Y2BD97)PC$ 8 )PG 3 " &UL4$L! A0#% @ ^I4#5S\: 6+X!0 UQ\ !@ M ("!#@@ 'AL+W=O 8 " @3P. !X;"]W;W)K M&PO=V]R:W-H965T&UL4$L! M A0#% @ ^I4#5[,VS/NX!P [2< !@ ("!_A@ 'AL M+W=OP@ !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4#5PZ8 M7K#_" 4!< !@ ("!#34 'AL+W=O9B0'/C ( ,D% 8 M " @4(^ !X;"]W;W)K&PO=V]R:W-H965T M&UL4$L! A0#% @ ^I4#5P]M^H%&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^I4#5Z\HK3H)!P ,A$ !D ("! '( M 'AL+W=O0 >&PO=V]R:W-H965T:% !X;"]W;W)K&UL4$L! A0#% @ M^I4#5PN\S$]]! X0P !D ("!R8T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4#5U[2RC8Q P ^0< !D M ("!0+X 'AL+W=OB(& "S&P &0 @(&HP0 >&PO=V]R:W-H M965T&UL4$L! M A0#% @ ^I4#5^ZA3Q \ P ]0@ !D ("!MM 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4# M5_*_F .( P ]0L !D ("!Y=H 'AL+W=O&PO=V]R:W-H965T^5L9[OP0 "0> 9 " @?+@ !X;"]W;W)K M&UL4$L! A0#% @ ^I4#5UC21@X> P D@L M !D ("!Z.4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4#5UP+ +4+ P _ @ !D M ("!D? 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ ^I4#5TJ0^;?N @ R P !D ("!E_H 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4#5^'0 M)&$\!P XC8 !D ("!400! 'AL+W=O&PO=V]R:W-H965TG382J2@, '@, 9 " @>,. 0!X;"]W;W)K&UL4$L! A0#% @ ^I4#5R7W!MGG P A@\ !D M ("!9!(! 'AL+W=O&PO M=V]R:W-H965TP( M )T' 9 " @449 0!X;"]W;W)K&UL4$L! A0#% @ ^I4#5Y?FG*D P .P@ !D ("! M]QL! 'AL+W=O&PO=V]R:W-H965TXA 0!X;"]W;W)K&UL4$L! A0#% M @ ^I4#5XX*)6R" @ Q@8 !D ("!WB0! 'AL+W=O&PO=V]R:W-H965T!M.T\7P@ "Q" 9 " @7,S 0!X;"]W;W)K&UL4$L! A0#% @ ^I4#5]>FD%FR P SA, !D M ("!"3P! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ ^I4#5V]?/#H=!0 2R4 !D ("!NDP! M 'AL+W=O&PO=V]R:W-H965T94 0!X;"]W;W)K&UL4$L! A0#% @ M^I4#5]WD^,R= @ S0< !D ("!;E&PO=V]R:W-H965T&UL4$L! A0#% @ ^I4#5QU$PH2_ @ M@ D !D ("! F(! 'AL+W=O&PO=V]R:W-H965TU<6!\ M%@( *HF : " 4UQ 0!X;"]?7!E&UL4$L%!@ !) $D ]A, +AU $ 0 $! end XML 77 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 78 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 79 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 247 275 1 false 49 0 false 8 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.willdan.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 10101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany ORGANIZATION AND OPERATIONS OF THE COMPANY Notes 7 false false R8.htm 10201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS Sheet http://www.willdan.com/role/DisclosureRecentAccountingPronouncements RECENT ACCOUNTING PRONOUNCEMENTS Notes 8 false false R9.htm 10301 - Disclosure - REVENUES Sheet http://www.willdan.com/role/DisclosureRevenues REVENUES Notes 9 false false R10.htm 10401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData SUPPLEMENTAL FINANCIAL STATEMENT DATA Notes 10 false false R11.htm 10501 - Disclosure - DEBT OBLIGATIONS Sheet http://www.willdan.com/role/DisclosureDebtObligations DEBT OBLIGATIONS Notes 11 false false R12.htm 10601 - Disclosure - LEASES Sheet http://www.willdan.com/role/DisclosureLeases LEASES Notes 12 false false R13.htm 10701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities COMMITMENTS AND VARIABLE INTEREST ENTITIES Notes 13 false false R14.htm 10801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation SEGMENT AND GEOGRAPHICAL INFORMATION Notes 14 false false R15.htm 10901 - Disclosure - INCOME TAXES Sheet http://www.willdan.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 15 false false R16.htm 11001 - Disclosure - EARNINGS PER SHARE (EPS) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareEps EARNINGS PER SHARE (EPS) Notes 16 false false R17.htm 11101 - Disclosure - CONTINGENCIES Sheet http://www.willdan.com/role/DisclosureContingencies CONTINGENCIES Notes 17 false false R18.htm 11201 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.willdan.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 18 false false R19.htm 20102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies) Policies 19 false false R20.htm 30303 - Disclosure - REVENUES (Tables) Sheet http://www.willdan.com/role/DisclosureRevenuesTables REVENUES (Tables) Tables http://www.willdan.com/role/DisclosureRevenues 20 false false R21.htm 30403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables) Tables http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData 21 false false R22.htm 30503 - Disclosure - DEBT OBLIGATIONS (Tables) Sheet http://www.willdan.com/role/DisclosureDebtObligationsTables DEBT OBLIGATIONS (Tables) Tables http://www.willdan.com/role/DisclosureDebtObligations 22 false false R23.htm 30603 - Disclosure - LEASES (Tables) Sheet http://www.willdan.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.willdan.com/role/DisclosureLeases 23 false false R24.htm 30803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) Tables http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation 24 false false R25.htm 31003 - Disclosure - EARNINGS PER SHARE (EPS) (Tables) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareEpsTables EARNINGS PER SHARE (EPS) (Tables) Tables http://www.willdan.com/role/DisclosureEarningsPerShareEps 25 false false R26.htm 40101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details) Details 26 false false R27.htm 40102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details) Details 27 false false R28.htm 40103 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details) Sheet http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details) Details 28 false false R29.htm 40301 - Disclosure - REVENUES - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails REVENUES - Segment Information (Details) Details 29 false false R30.htm 40302 - Disclosure - REVENUES - General Information (Details) Sheet http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails REVENUES - General Information (Details) Details 30 false false R31.htm 40401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details) Details 31 false false R32.htm 40402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details) Details 32 false false R33.htm 40403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details) Details 33 false false R34.htm 40404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details) Details 34 false false R35.htm 40405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details) Details 35 false false R36.htm 40406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details) Details 36 false false R37.htm 40407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) Sheet http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details) Details 37 false false R38.htm 40501 - Disclosure - DEBT OBLIGATIONS - Composition (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails DEBT OBLIGATIONS - Composition (Details) Details 38 false false R39.htm 40502 - Disclosure - DEBT OBLIGATIONS - Classification (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails DEBT OBLIGATIONS - Classification (Details) Details 39 false false R40.htm 40503 - Disclosure - DEBT OBLIGATIONS - Credit Facilities (Details) Sheet http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails DEBT OBLIGATIONS - Credit Facilities (Details) Details 40 false false R41.htm 40601 - Disclosure - LEASES - General Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails LEASES - General Information (Details) Details 41 false false R42.htm 40602 - Disclosure - LEASES - Lease Expense (Details) Sheet http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails LEASES - Lease Expense (Details) Details 42 false false R43.htm 40603 - Disclosure - LEASES - Consolidated Balance Sheet (Details) Sheet http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails LEASES - Consolidated Balance Sheet (Details) Details 43 false false R44.htm 40604 - Disclosure - LEASES - Additional Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails LEASES - Additional Information (Details) Details 44 false false R45.htm 40605 - Disclosure - LEASES - Rent Expense (Details) Sheet http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails LEASES - Rent Expense (Details) Details 45 false false R46.htm 40606 - Disclosure - LEASES - Supplemental Cash Flow Information (Details) Sheet http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails LEASES - Supplemental Cash Flow Information (Details) Details 46 false false R47.htm 40607 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails LEASES - Operating Leases - Maturities of Lease Liabilities (Details) Details 47 false false R48.htm 40608 - Disclosure - LEASES - Operating Leases - Gross Difference (Details) Sheet http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails LEASES - Operating Leases - Gross Difference (Details) Details 48 false false R49.htm 40609 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details) Sheet http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails LEASES - Finance Leases - Maturities of Lease Liabilities (Details) Details 49 false false R50.htm 40610 - Disclosure - LEASES - Finance Leases - Gross Difference (Details) Sheet http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails LEASES - Finance Leases - Gross Difference (Details) Details 50 false false R51.htm 40701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details) Details 51 false false R52.htm 40702 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) Sheet http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details) Details 52 false false R53.htm 40801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details) Details 53 false false R54.htm 40802 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details) Details 54 false false R55.htm 40803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details) Details 55 false false R56.htm 40804 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details) Details 56 false false R57.htm 40805 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details) Details 57 false false R58.htm 40806 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) Sheet http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details) Details 58 false false R59.htm 40901 - Disclosure - INCOME TAXES - Valuation Allowance (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails INCOME TAXES - Valuation Allowance (Details) Details 59 false false R60.htm 40902 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails INCOME TAXES - Uncertain Tax Positions (Details) Details 60 false false R61.htm 40903 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details) Sheet http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails INCOME TAXES - Income Tax Expense (Benefit) (Details) Details 61 false false R62.htm 41001 - Disclosure - EARNINGS PER SHARE (EPS) - Computation (Details) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails EARNINGS PER SHARE (EPS) - Computation (Details) Details http://www.willdan.com/role/DisclosureEarningsPerShareEpsTables 62 false false R63.htm 41002 - Disclosure - EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details) Sheet http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details) Details http://www.willdan.com/role/DisclosureEarningsPerShareEpsTables 63 false false R64.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 64 false false R65.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 65 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:LesseeOperatingLeaseRemainingLeaseTerm - wldn-20230630x10q.htm 9 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 4 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies, us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList, us-gaap:RestrictedCashAssetStatementOfFinancialPositionExtensibleList - wldn-20230630x10q.htm 9 [dq-0712-Presentation-Base-Set-Order] Role '41002 - Disclosure - EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details)', a level 4, Detail role, appears before '995410 - Disclosure - Pay vs Performance Disclosure', a level 1, Note role. https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd 30, wldn-20230630.xsd 321 wldn-20230630x10q.htm wldn-20230630.xsd wldn-20230630_cal.xml wldn-20230630_def.xml wldn-20230630_lab.xml wldn-20230630_pre.xml wldn-20230630xex31d1.htm wldn-20230630xex31d2.htm wldn-20230630xex32d1.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 82 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "wldn-20230630x10q.htm": { "axisCustom": 0, "axisStandard": 17, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 808, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 4 }, "contextCount": 247, "dts": { "calculationLink": { "local": [ "wldn-20230630_cal.xml" ] }, "definitionLink": { "local": [ "wldn-20230630_def.xml" ] }, "inline": { "local": [ "wldn-20230630x10q.htm" ] }, "labelLink": { "local": [ "wldn-20230630_lab.xml" ] }, "presentationLink": { "local": [ "wldn-20230630_pre.xml" ] }, "schema": { "local": [ "wldn-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] } }, "elementCount": 537, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2023": 10, "http://xbrl.sec.gov/dei/2023": 3, "total": 13 }, "keyCustom": 35, "keyStandard": 240, "memberCustom": 18, "memberStandard": 31, "nsprefix": "wldn", "nsuri": "http://www.willdan.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "menuCat": "Cover", "order": "1", "role": "http://www.willdan.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA", "menuCat": "Notes", "order": "10", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - DEBT OBLIGATIONS", "menuCat": "Notes", "order": "11", "role": "http://www.willdan.com/role/DisclosureDebtObligations", "shortName": "DEBT OBLIGATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - LEASES", "menuCat": "Notes", "order": "12", "role": "http://www.willdan.com/role/DisclosureLeases", "shortName": "LEASES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES", "menuCat": "Notes", "order": "13", "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION", "menuCat": "Notes", "order": "14", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - INCOME TAXES", "menuCat": "Notes", "order": "15", "role": "http://www.willdan.com/role/DisclosureIncomeTaxes", "shortName": "INCOME TAXES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - EARNINGS PER SHARE (EPS)", "menuCat": "Notes", "order": "16", "role": "http://www.willdan.com/role/DisclosureEarningsPerShareEps", "shortName": "EARNINGS PER SHARE (EPS)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - CONTINGENCIES", "menuCat": "Notes", "order": "17", "role": "http://www.willdan.com/role/DisclosureContingencies", "shortName": "CONTINGENCIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - SUBSEQUENT EVENTS", "menuCat": "Notes", "order": "18", "role": "http://www.willdan.com/role/DisclosureSubsequentEvents", "shortName": "SUBSEQUENT EVENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)", "menuCat": "Policies", "order": "19", "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_C_5d9ctfaU6mgiQ_5VOHrw", "decimals": "-3", "lang": null, "name": "us-gaap:RestrictedCashCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "wldn:ScheduleOfByTypeAndReportableSegmentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - REVENUES (Tables)", "menuCat": "Tables", "order": "20", "role": "http://www.willdan.com/role/DisclosureRevenuesTables", "shortName": "REVENUES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "wldn:ScheduleOfByTypeAndReportableSegmentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)", "menuCat": "Tables", "order": "21", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - DEBT OBLIGATIONS (Tables)", "menuCat": "Tables", "order": "22", "role": "http://www.willdan.com/role/DisclosureDebtObligationsTables", "shortName": "DEBT OBLIGATIONS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - LEASES (Tables)", "menuCat": "Tables", "order": "23", "role": "http://www.willdan.com/role/DisclosureLeasesTables", "shortName": "LEASES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - EARNINGS PER SHARE (EPS) (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.willdan.com/role/DisclosureEarningsPerShareEpsTables", "shortName": "EARNINGS PER SHARE (EPS) (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0aQ8f4FycUuCxeFM2zQHHw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details)", "menuCat": "Details", "order": "26", "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY - Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "p", "us-gaap:FiscalPeriod", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_9_30_2023_To_12_29_2023_-pyydop0XkK175QJXvsnxw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiscalPeriodDuration", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40102 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)", "menuCat": "Details", "order": "27", "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY - Fiscal Years (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "us-gaap:FiscalPeriodDuration", "p", "us-gaap:FiscalPeriod", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_9_30_2023_To_12_29_2023_-pyydop0XkK175QJXvsnxw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiscalPeriodDuration", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DebtPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_us-gaap_DebtInstrumentAxis_wldn_TermAloanMember_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_DNkSkJqqlECvaj3IXvSu1A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentPeriodicPaymentPrincipal", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40103 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details)", "menuCat": "Details", "order": "28", "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY - Credit Agreement Refinancing (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_us-gaap_DebtInstrumentAxis_wldn_TermAloanMember_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_DNkSkJqqlECvaj3IXvSu1A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentPeriodicPaymentPrincipal", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0aQ8f4FycUuCxeFM2zQHHw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - REVENUES - Segment Information (Details)", "menuCat": "Details", "order": "29", "role": "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "shortName": "REVENUES - Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R3": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "wldn:LaborAndRelatedExpenseExcludingStockBasedCompensation", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40302 - Disclosure - REVENUES - General Information (Details)", "menuCat": "Details", "order": "30", "role": "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "shortName": "REVENUES - General Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "-3", "lang": null, "name": "wldn:RevenueOfTheEntityAsAnAgent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details)", "menuCat": "Details", "order": "31", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Restricted Cash (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_C_5d9ctfaU6mgiQ_5VOHrw", "decimals": "-3", "lang": null, "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40402 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details)", "menuCat": "Details", "order": "32", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Tabular Disclosure (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40403 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details)", "menuCat": "Details", "order": "33", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Equipment and Leasehold Improvements, Net - Depreciation and Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "wldn:AccruedSubcontractorCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40404 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details)", "menuCat": "Details", "order": "34", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "wldn:AccruedSubcontractorCosts", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_C_5d9ctfaU6mgiQ_5VOHrw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40405 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)", "menuCat": "Details", "order": "35", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_us-gaap_StatementBusinessSegmentsAxis_wldn_EnergyMember_358tDC36mkqgxzmFV5XRtA", "decimals": "-3", "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40406 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details)", "menuCat": "Details", "order": "36", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Gross Amounts and Accumulated Amortization (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_pqRNyIwnGEGTdA-kMORv6g", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40407 - Disclosure - SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)", "menuCat": "Details", "order": "37", "role": "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "shortName": "SUPPLEMENTAL FINANCIAL STATEMENT DATA - Finite-lived Intangible Assets - Amortization Period (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TradeNamesMember_pqRNyIwnGEGTdA-kMORv6g", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - DEBT OBLIGATIONS - Composition (Details)", "menuCat": "Details", "order": "38", "role": "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "shortName": "DEBT OBLIGATIONS - Composition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:DebtInstrumentCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LongTermDebt", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - DEBT OBLIGATIONS - Classification (Details)", "menuCat": "Details", "order": "39", "role": "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails", "shortName": "DEBT OBLIGATIONS - Classification (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "lang": null, "name": "us-gaap:LongTermDebtCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "menuCat": "Statements", "order": "4", "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "lang": null, "name": "us-gaap:CostDirectLabor", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_4_28_2023_us-gaap_DebtInstrumentAxis_wldn_CreditAgreement2019Member_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_ENQEnlrvAkm5oXFwN2jzNQ", "decimals": "2", "first": true, "lang": null, "name": "wldn:DebtInstrumentCovenantsTotalLeverageRatioMaximumPermittedToMaintain", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - DEBT OBLIGATIONS - Credit Facilities (Details)", "menuCat": "Details", "order": "40", "role": "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "shortName": "DEBT OBLIGATIONS - Credit Facilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_4_28_2023_us-gaap_DebtInstrumentAxis_wldn_CreditAgreement2019Member_us-gaap_LongtermDebtTypeAxis_us-gaap_NotesPayableToBanksMember_ENQEnlrvAkm5oXFwN2jzNQ", "decimals": "2", "first": true, "lang": null, "name": "wldn:DebtInstrumentCovenantsTotalLeverageRatioMaximumPermittedToMaintain", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - LEASES - General Information (Details)", "menuCat": "Details", "order": "41", "role": "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "shortName": "LEASES - General Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "wldn:LesseeOperatingAndFinanceLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - LEASES - Lease Expense (Details)", "menuCat": "Details", "order": "42", "role": "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails", "shortName": "LEASES - Lease Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40603 - Disclosure - LEASES - Consolidated Balance Sheet (Details)", "menuCat": "Details", "order": "43", "role": "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "shortName": "LEASES - Consolidated Balance Sheet (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "lang": null, "name": "us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40604 - Disclosure - LEASES - Additional Information (Details)", "menuCat": "Details", "order": "44", "role": "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails", "shortName": "LEASES - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-5", "first": true, "lang": null, "name": "wldn:OperatingLeaseRentExpenses", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40605 - Disclosure - LEASES - Rent Expense (Details)", "menuCat": "Details", "order": "45", "role": "http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails", "shortName": "LEASES - Rent Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-5", "first": true, "lang": null, "name": "wldn:OperatingLeaseRentExpenses", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40606 - Disclosure - LEASES - Supplemental Cash Flow Information (Details)", "menuCat": "Details", "order": "46", "role": "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "shortName": "LEASES - Supplemental Cash Flow Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "wldn:LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40607 - Disclosure - LEASES - Operating Leases - Maturities of Lease Liabilities (Details)", "menuCat": "Details", "order": "47", "role": "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails", "shortName": "LEASES - Operating Leases - Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40608 - Disclosure - LEASES - Operating Leases - Gross Difference (Details)", "menuCat": "Details", "order": "48", "role": "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "shortName": "LEASES - Operating Leases - Gross Difference (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40609 - Disclosure - LEASES - Finance Leases - Maturities of Lease Liabilities (Details)", "menuCat": "Details", "order": "49", "role": "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails", "shortName": "LEASES - Finance Leases - Maturities of Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z4rLj606dEmbbot0QctR5A", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "5", "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_1_1_2022_To_4_1_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zxZI1yvurES0RwptlkhFMA", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FinanceLeaseLiabilityPaymentsDue", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40610 - Disclosure - LEASES - Finance Leases - Gross Difference (Details)", "menuCat": "Details", "order": "50", "role": "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "shortName": "LEASES - Finance Leases - Gross Difference (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "lang": null, "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_us-gaap_RetirementPlanNameAxis_wldn_QualifiedCashOrDeferredArrangementMember_0Joth62yT0W7h4bJOuBa8A", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)", "menuCat": "Details", "order": "51", "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES - Employee Benefit Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_us-gaap_RetirementPlanNameAxis_wldn_QualifiedCashOrDeferredArrangementMember_0Joth62yT0W7h4bJOuBa8A", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "INF", "first": true, "lang": null, "name": "wldn:NumberOfVariableInterestEntity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_entity_VGr-wgyPVU-Ri5heEZkdvg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40702 - Disclosure - COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)", "menuCat": "Details", "order": "52", "role": "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails", "shortName": "COMMITMENTS AND VARIABLE INTEREST ENTITIES - Variable Interest Entities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "INF", "first": true, "lang": null, "name": "wldn:NumberOfVariableInterestEntity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_entity_VGr-wgyPVU-Ri5heEZkdvg", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unitRef": "Unit_Standard_segment_0aQ8f4FycUuCxeFM2zQHHw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details)", "menuCat": "Details", "order": "53", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R54": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details)", "menuCat": "Details", "order": "54", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Statement of Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_wldn_EnergyMember_9gE70lpIsk-_8XxnNJz0GQ", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40803 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details)", "menuCat": "Details", "order": "55", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Segment Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_7_1_2022_Q5pAhU1op0yY4QYIiAVaFw", "decimals": "-3", "lang": null, "name": "us-gaap:Assets", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40804 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details)", "menuCat": "Details", "order": "56", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_srt_StatementGeographicalAxis_country_US_xA2EE4S390uo092ykgvu-w", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfStatesInWhichEntityOperates", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_state_lapNa-ErpEukfbqkMtaWeg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40805 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)", "menuCat": "Details", "order": "57", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Geographical Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfStatesInWhichEntityOperates", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_state_lapNa-ErpEukfbqkMtaWeg", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_srt_MajorCustomersAxis_wldn_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a-71IWmTJEuVY07QUPmxqA", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40806 - Disclosure - SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details)", "menuCat": "Details", "order": "58", "role": "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "shortName": "SEGMENT AND GEOGRAPHICAL INFORMATION - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_srt_MajorCustomersAxis_wldn_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_a-71IWmTJEuVY07QUPmxqA", "decimals": "3", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_IhPEeyS0-0O5zDyGw0Q5QQ", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "us-gaap:DeferredTaxAssetsValuationAllowance", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_C_5d9ctfaU6mgiQ_5VOHrw", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsValuationAllowance", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - INCOME TAXES - Valuation Allowance (Details)", "menuCat": "Details", "order": "59", "role": "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails", "shortName": "INCOME TAXES - Valuation Allowance (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:DeferredTaxAssetsValuationAllowance", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_12_30_2022_C_5d9ctfaU6mgiQ_5VOHrw", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DeferredTaxAssetsValuationAllowance", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "6", "role": "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - INCOME TAXES - Uncertain Tax Positions (Details)", "menuCat": "Details", "order": "60", "role": "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails", "shortName": "INCOME TAXES - Uncertain Tax Positions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_BjPIEfxdW0-QcroerNlLmQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40903 - Disclosure - INCOME TAXES - Income Tax Expense (Benefit) (Details)", "menuCat": "Details", "order": "61", "role": "http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails", "shortName": "INCOME TAXES - Income Tax Expense (Benefit) (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R62": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - EARNINGS PER SHARE (EPS) - Computation (Details)", "menuCat": "Details", "order": "62", "role": "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "shortName": "EARNINGS PER SHARE (EPS) - Computation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "lang": null, "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_StockCompensationPlanMember_QJu1ZalCb0CCah_9bazp_w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_NyBuy4pqJECwXDkh1Zg7KQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details)", "menuCat": "Details", "order": "63", "role": "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails", "shortName": "EARNINGS PER SHARE (EPS) - Antidilutive Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_StockCompensationPlanMember_QJu1ZalCb0CCah_9bazp_w", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_NyBuy4pqJECwXDkh1Zg7KQ", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_jv-uRhh60EmlcIfC9rqSxA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "menuCat": "Uncategorized", "order": "64", "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "shortName": "Pay vs Performance Disclosure", "subGroupType": "", "uniqueAnchor": null }, "R65": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "995445 - Disclosure - Insider Trading Arrangements", "menuCat": "Cover", "order": "65", "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "shortName": "Insider Trading Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_46YtkJ8GFUuqa0DtzjjPyA", "decimals": null, "first": true, "lang": "en-US", "name": "ecd:Rule10b51ArrAdoptedFlag", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - ORGANIZATION AND OPERATIONS OF THE COMPANY", "menuCat": "Notes", "order": "7", "role": "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany", "shortName": "ORGANIZATION AND OPERATIONS OF THE COMPANY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - RECENT ACCOUNTING PRONOUNCEMENTS", "menuCat": "Notes", "order": "8", "role": "http://www.willdan.com/role/DisclosureRecentAccountingPronouncements", "shortName": "RECENT ACCOUNTING PRONOUNCEMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - REVENUES", "menuCat": "Notes", "order": "9", "role": "http://www.willdan.com/role/DisclosureRevenues", "shortName": "REVENUES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "wldn-20230630x10q.htm", "contextRef": "Duration_12_31_2022_To_6_30_2023_2ZvWKMHItEuuDJN73Y06BQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 49, "tag": { "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "Domestic" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2023", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r650" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r683" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntitiesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to assemble all relevant information about each entity associated with the document instance", "label": "Entities [Table]" } } }, "localname": "EntitiesTable", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "xbrltype": "stringItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Entity Information [Line Items]", "terseLabel": "Entity Information" } } }, "localname": "EntityInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "xbrltype": "stringItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r722" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r648" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r647" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r649" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2023", "presentation": [ "http://www.willdan.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "ecd_Additional402vDisclosureTextBlock": { "auth_ref": [ "r684" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "localname": "Additional402vDisclosureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToCompAmt": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "localname": "AdjToCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AdjToCompAxis": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "localname": "AdjToCompAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "localname": "AdjToNonPeoNeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AdjToPeoCompFnTextBlock": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "localname": "AdjToPeoCompFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AggtErrCompAmt": { "auth_ref": [ "r655", "r666", "r676", "r701" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "localname": "AggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "auth_ref": [ "r658", "r669", "r679", "r704" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "localname": "AggtErrCompNotYetDeterminedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AllAdjToCompMember": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "localname": "AllAdjToCompMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllExecutiveCategoriesMember": { "auth_ref": [ "r697" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "localname": "AllExecutiveCategoriesMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllIndividualsMember": { "auth_ref": [ "r662", "r670", "r680", "r697", "r705", "r709", "r717" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "localname": "AllIndividualsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_AllTradingArrangementsMember": { "auth_ref": [ "r715" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "localname": "AllTradingArrangementsMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "domainItemType" }, "ecd_AwardExrcPrice": { "auth_ref": [ "r712" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "localname": "AwardExrcPrice", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "perShareItemType" }, "ecd_AwardGrantDateFairValue": { "auth_ref": [ "r713" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "localname": "AwardGrantDateFairValue", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_AwardTmgDiscLineItems": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "localname": "AwardTmgDiscLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMethodTextBlock": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "localname": "AwardTmgMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgMnpiCnsdrdFlag": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "localname": "AwardTmgMnpiCnsdrdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardTmgMnpiDiscTextBlock": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "localname": "AwardTmgMnpiDiscTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_AwardTmgPredtrmndFlag": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "localname": "AwardTmgPredtrmndFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_AwardUndrlygSecuritiesAmt": { "auth_ref": [ "r711" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "localname": "AwardUndrlygSecuritiesAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_AwardsCloseToMnpiDiscIndName": { "auth_ref": [ "r710" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "localname": "AwardsCloseToMnpiDiscIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTable": { "auth_ref": [ "r709" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "localname": "AwardsCloseToMnpiDiscTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "auth_ref": [ "r709" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "localname": "AwardsCloseToMnpiDiscTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ChangedPeerGroupFnTextBlock": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "localname": "ChangedPeerGroupFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CoSelectedMeasureAmt": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "localname": "CoSelectedMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_CoSelectedMeasureName": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "localname": "CoSelectedMeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "auth_ref": [ "r694" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "auth_ref": [ "r693" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "localname": "CompActuallyPaidVsNetIncomeTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "auth_ref": [ "r695" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "auth_ref": [ "r692" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "auth_ref": [ "r691" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompAnalysisTextBlock": { "auth_ref": [ "r655", "r666", "r676", "r701" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "localname": "ErrCompAnalysisTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ErrCompRecoveryTable": { "auth_ref": [ "r652", "r663", "r673", "r698" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "localname": "ErrCompRecoveryTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ExecutiveCategoryAxis": { "auth_ref": [ "r697" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "localname": "ExecutiveCategoryAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "auth_ref": [ "r659", "r670", "r680", "r705" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "auth_ref": [ "r659", "r670", "r680", "r705" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "auth_ref": [ "r659", "r670", "r680", "r705" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "auth_ref": [ "r659", "r670", "r680", "r705" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_ForgoneRecoveryIndName": { "auth_ref": [ "r659", "r670", "r680", "r705" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "ForgoneRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_IndividualAxis": { "auth_ref": [ "r662", "r670", "r680", "r697", "r705", "r709", "r717" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "localname": "IndividualAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_InsiderTradingArrLineItems": { "auth_ref": [ "r715" ], "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "localname": "InsiderTradingArrLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTradingPoliciesProcLineItems": { "auth_ref": [ "r651", "r721" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "localname": "InsiderTradingPoliciesProcLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "auth_ref": [ "r651", "r721" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "localname": "InsiderTrdPoliciesProcAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "booleanItemType" }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "auth_ref": [ "r651", "r721" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "xbrltype": "textBlockItemType" }, "ecd_MeasureAxis": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "localname": "MeasureAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_MeasureName": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "localname": "MeasureName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_MnpiDiscTimedForCompValFlag": { "auth_ref": [ "r708" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "localname": "MnpiDiscTimedForCompValFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "booleanItemType" }, "ecd_MtrlTermsOfTrdArrTextBlock": { "auth_ref": [ "r716" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "localname": "MtrlTermsOfTrdArrTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "textBlockItemType" }, "ecd_NamedExecutiveOfficersFnTextBlock": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "localname": "NamedExecutiveOfficersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonGaapMeasureDescriptionTextBlock": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "localname": "NonGaapMeasureDescriptionTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_NonNeosMember": { "auth_ref": [ "r659", "r670", "r680", "r697", "r705" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "localname": "NonNeosMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "auth_ref": [ "r687" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoAvgTotalCompAmt": { "auth_ref": [ "r686" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "localname": "NonPeoNeoAvgTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_NonPeoNeoMember": { "auth_ref": [ "r697" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "localname": "NonPeoNeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_NonRule10b51ArrAdoptedFlag": { "auth_ref": [ "r716" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "localname": "NonRule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_NonRule10b51ArrTrmntdFlag": { "auth_ref": [ "r716" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "localname": "NonRule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_OtherPerfMeasureAmt": { "auth_ref": [ "r689" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "localname": "OtherPerfMeasureAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "decimalItemType" }, "ecd_OutstandingAggtErrCompAmt": { "auth_ref": [ "r657", "r668", "r678", "r703" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "localname": "OutstandingAggtErrCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryCompAmt": { "auth_ref": [ "r660", "r671", "r681", "r706" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "localname": "OutstandingRecoveryCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_OutstandingRecoveryIndName": { "auth_ref": [ "r660", "r671", "r681", "r706" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "localname": "OutstandingRecoveryIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PayVsPerformanceDisclosureLineItems": { "auth_ref": [ "r685" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PayVsPerformanceDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_PeerGroupIssuersFnTextBlock": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "localname": "PeerGroupIssuersFnTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_PeerGroupTotalShareholderRtnAmt": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "localname": "PeerGroupTotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoActuallyPaidCompAmt": { "auth_ref": [ "r687" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "localname": "PeoActuallyPaidCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PeoMember": { "auth_ref": [ "r697" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "localname": "PeoMember", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "domainItemType" }, "ecd_PeoName": { "auth_ref": [ "r690" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "localname": "PeoName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "normalizedStringItemType" }, "ecd_PeoTotalCompAmt": { "auth_ref": [ "r686" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "localname": "PeoTotalCompAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_PvpTable": { "auth_ref": [ "r685" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "localname": "PvpTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "stringItemType" }, "ecd_PvpTableTextBlock": { "auth_ref": [ "r685" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "localname": "PvpTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "auth_ref": [ "r652", "r663", "r673", "r698" ], "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "localname": "RecoveryOfErrCompDisclosureLineItems", "nsuri": "http://xbrl.sec.gov/ecd/2023", "xbrltype": "stringItemType" }, "ecd_RestatementDateAxis": { "auth_ref": [ "r653", "r664", "r674", "r699" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "localname": "RestatementDateAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "stringItemType" }, "ecd_RestatementDeterminationDate": { "auth_ref": [ "r654", "r665", "r675", "r700" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "localname": "RestatementDeterminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "dateItemType" }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "auth_ref": [ "r661", "r672", "r682", "r707" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "localname": "RestatementDoesNotRequireRecoveryTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_Rule10b51ArrAdoptedFlag": { "auth_ref": [ "r716" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "localname": "Rule10b51ArrAdoptedFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_Rule10b51ArrTrmntdFlag": { "auth_ref": [ "r716" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "localname": "Rule10b51ArrTrmntdFlag", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "booleanItemType" }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "auth_ref": [ "r656", "r667", "r677", "r702" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "localname": "StkPrcOrTsrEstimationMethodTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TabularListTableTextBlock": { "auth_ref": [ "r696" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "localname": "TabularListTableTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TotalShareholderRtnAmt": { "auth_ref": [ "r688" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "localname": "TotalShareholderRtnAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "auth_ref": [ "r695" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "textBlockItemType" }, "ecd_TradingArrAxis": { "auth_ref": [ "r715" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "localname": "TradingArrAxis", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TradingArrByIndTable": { "auth_ref": [ "r717" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "localname": "TradingArrByIndTable", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrAdoptionDate": { "auth_ref": [ "r718" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "localname": "TrdArrAdoptionDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrDuration": { "auth_ref": [ "r719" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "localname": "TrdArrDuration", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "durationItemType" }, "ecd_TrdArrIndName": { "auth_ref": [ "r717" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "localname": "TrdArrIndName", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrIndTitle": { "auth_ref": [ "r717" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "localname": "TrdArrIndTitle", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_TrdArrSecuritiesAggAvailAmt": { "auth_ref": [ "r720" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "localname": "TrdArrSecuritiesAggAvailAmt", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "sharesItemType" }, "ecd_TrdArrTerminationDate": { "auth_ref": [ "r718" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "localname": "TrdArrTerminationDate", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "xbrltype": "stringItemType" }, "ecd_UndrlygSecurityMktPriceChngPct": { "auth_ref": [ "r714" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "localname": "UndrlygSecurityMktPriceChngPct", "nsuri": "http://xbrl.sec.gov/ecd/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "pureItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r169", "r217", "r228", "r229", "r230", "r231", "r232", "r234", "r238", "r279", "r280", "r281", "r282", "r284", "r285", "r287", "r289", "r290", "r766", "r767" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r169", "r217", "r228", "r229", "r230", "r231", "r232", "r234", "r238", "r279", "r280", "r281", "r282", "r284", "r285", "r287", "r289", "r290", "r766", "r767" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r244", "r621", "r770", "r849", "r850" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r275", "r276", "r277", "r278", "r353", "r470", "r509", "r531", "r532", "r582", "r584", "r586", "r587", "r589", "r603", "r604", "r611", "r618", "r630", "r635", "r768", "r840", "r841", "r842", "r843", "r844", "r845" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r275", "r276", "r277", "r278", "r353", "r470", "r509", "r531", "r532", "r582", "r584", "r586", "r587", "r589", "r603", "r604", "r611", "r618", "r630", "r635", "r768", "r840", "r841", "r842", "r843", "r844", "r845" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r244", "r621", "r770", "r849", "r850" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r275", "r276", "r277", "r278", "r346", "r353", "r383", "r384", "r385", "r469", "r470", "r509", "r531", "r532", "r582", "r584", "r586", "r587", "r589", "r603", "r604", "r611", "r618", "r630", "r635", "r638", "r765", "r768", "r841", "r842", "r843", "r844", "r845" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r275", "r276", "r277", "r278", "r346", "r353", "r383", "r384", "r385", "r469", "r470", "r509", "r531", "r532", "r582", "r584", "r586", "r587", "r589", "r603", "r604", "r611", "r618", "r630", "r635", "r638", "r765", "r768", "r841", "r842", "r843", "r844", "r845" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails", "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r242", "r243", "r528", "r529", "r530", "r583", "r585", "r588", "r590", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r606", "r620", "r638", "r770", "r849" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r242", "r243", "r528", "r529", "r530", "r583", "r585", "r588", "r590", "r592", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r606", "r620", "r638", "r770", "r849" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "stpr_CA": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CALIFORNIA", "terseLabel": "California" } } }, "localname": "CA", "nsuri": "http://xbrl.sec.gov/stpr/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "stpr_NY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "NEW YORK", "terseLabel": "New York" } } }, "localname": "NY", "nsuri": "http://xbrl.sec.gov/stpr/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r15", "r634" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r245", "r246" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $373 and $640 at June 30, 2023 and December 30, 2022, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]", "terseLabel": "Accounts receivable, allowance for doubtful accounts" } } }, "localname": "AccountsReceivableNetCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedBonusesCurrent": { "auth_ref": [ "r19" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Bonuses, Current", "terseLabel": "Accrued bonuses" } } }, "localname": "AccruedBonusesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r19" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued Liabilities" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r3", "r9", "r26", "r420", "r423", "r465", "r510", "r511", "r734", "r735", "r736", "r743", "r744", "r745" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r79" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r387", "r388", "r389", "r526", "r743", "r744", "r745", "r832", "r852" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentForAmortizationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Amortization [Abstract]", "terseLabel": "Amortization Expense" } } }, "localname": "AdjustmentForAmortizationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Shares Used to Pay Taxes on Stock Grants, Value", "negatedLabel": "Shares used to pay taxes on stock grants" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r57", "r58", "r359" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r144", "r247", "r253" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts receivable, allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Antidilutive securities excluded from computation of earnings per share (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r35" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r35" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r109", "r140", "r167", "r215", "r230", "r236", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r413", "r417", "r433", "r484", "r553", "r634", "r646", "r766", "r767", "r838" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "terseLabel": "Segment assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "verboseLabel": "Leases" } } }, "localname": "AssetsAndLiabilitiesLesseeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r133", "r145", "r167", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r413", "r417", "r433", "r634", "r766", "r767", "r838" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SUPPLEMENTAL FINANCIAL STATEMENT DATA" } } }, "localname": "BalanceSheetRelatedDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_BaseRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Minimum rate investor will accept.", "label": "Base Rate [Member]", "terseLabel": "Base Rate" } } }, "localname": "BaseRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "auth_ref": [ "r1", "r61" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.", "label": "Business Combination, Contingent Consideration, Liability, Current", "verboseLabel": "Contingent consideration payable" } } }, "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r33", "r34" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Capital Lease Obligations Incurred", "terseLabel": "Equipment acquired under finance leases" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r31", "r135", "r607" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r31", "r93", "r165" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "totalLabel": "Total cash, cash equivalents, and restricted cash shown in the consolidated statement of cash flows" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]", "terseLabel": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r2", "r93" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Supplemental disclosures of noncash investing and financing activities:" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash Flow, Operating Activities, Lessee [Abstract]", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities:" } } }, "localname": "CashFlowOperatingActivitiesLesseeAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r24", "r72", "r485", "r540" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsDisclosureTextBlock": { "auth_ref": [ "r99" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant arrangements with third parties, which includes operating lease arrangements and arrangements in which the entity has agreed to expend funds to procure goods or services, or has agreed to commit resources to supply goods or services, and operating lease arrangements. Descriptions may include identification of the specific goods and services, period of time covered, minimum quantities and amounts, and cancellation rights.", "label": "Commitments Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND VARIABLE INTEREST ENTITIES" } } }, "localname": "CommitmentsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntities" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r636", "r637", "r638", "r640", "r641", "r642", "r643", "r743", "r744", "r832", "r851", "r852" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Common Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Common stock" } } }, "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r78" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r78", "r541" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r78" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r10", "r78", "r541", "r559", "r852", "r853" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r78", "r487", "r634" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.01 par value, 40,000 shares authorized; 13,504 and 13,296 shares issued and outstanding at June 30, 2023 and December 30, 2022, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r27", "r150", "r152", "r157", "r481", "r495" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income (loss)" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss):" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r37", "r40", "r66", "r67", "r244", "r593" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r37", "r40", "r66", "r67", "r244", "r518", "r593" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r37", "r40", "r66", "r67", "r244", "r593", "r727" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [ "r593" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r37", "r40", "r66", "r67", "r244" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk (as a percent)" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r36", "r37", "r40", "r41", "r66", "r108", "r593" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r37", "r40", "r66", "r67", "r244", "r593" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionContractorReceivableRetainage": { "auth_ref": [ "r143", "r471" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional.", "label": "Construction Contractor, Receivable, Retainage", "terseLabel": "Retained accounts receivable" } } }, "localname": "ConstructionContractorReceivableRetainage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "auth_ref": [ "r622", "r770" ], "lang": { "en-us": { "role": { "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer.", "label": "Contract with Customer, Basis of Pricing [Axis]" } } }, "localname": "ContractWithCustomerBasisOfPricingAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "auth_ref": [ "r622", "r770" ], "lang": { "en-us": { "role": { "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts.", "label": "Contract with Customer, Basis of Pricing [Domain]" } } }, "localname": "ContractWithCustomerBasisOfPricingDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r323", "r324", "r343" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r12", "r229", "r230", "r231", "r232", "r238", "r749" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate, Non-Segment" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostDirectLabor": { "auth_ref": [ "r737" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_CostOfRevenue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cost of labor directly related to good produced and service rendered. Includes, but is not limited to, payroll cost and equity-based compensation.", "label": "Cost of Services, Direct Labor", "terseLabel": "Salaries and wages" } } }, "localname": "CostDirectLabor", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r86", "r167", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r433", "r766" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "totalLabel": "Total direct costs of contract revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cost of Revenue [Abstract]", "terseLabel": "Direct costs of contract revenue (inclusive of directly related depreciation and amortization):" } } }, "localname": "CostOfRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of Sales" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r38", "r244" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r60" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer Relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "DEBT OBLIGATIONS" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r101", "r166", "r292", "r298", "r299", "r300", "r301", "r302", "r303", "r308", "r315", "r316", "r318" ], "lang": { "en-us": { "role": { "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.", "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT OBLIGATIONS" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligations" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r14", "r75", "r76", "r110", "r111", "r169", "r293", "r294", "r295", "r296", "r297", "r299", "r304", "r305", "r306", "r307", "r309", "r310", "r311", "r312", "r313", "r314", "r444", "r613", "r614", "r615", "r616", "r617", "r740" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Spread on floating interest rate (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentCarryingAmount": { "auth_ref": [ "r14", "r111", "r319" ], "calculation": { "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.", "label": "Long-term Debt, Gross", "terseLabel": "Total debt" } } }, "localname": "DebtInstrumentCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r69", "r71", "r293", "r444", "r614", "r615" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Initial outstanding principal" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r21", "r294" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [ "r169", "r293", "r294", "r295", "r296", "r297", "r299", "r304", "r305", "r306", "r307", "r309", "r310", "r311", "r312", "r313", "r314", "r317", "r444", "r613", "r614", "r615", "r616", "r617", "r740" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Obligations" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r22", "r169", "r293", "r294", "r295", "r296", "r297", "r299", "r304", "r305", "r306", "r307", "r309", "r310", "r311", "r312", "r313", "r314", "r444", "r613", "r614", "r615", "r616", "r617", "r740" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "auth_ref": [ "r22" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments applied to principal.", "label": "Debt Instrument, Periodic Payment, Principal", "terseLabel": "Periodic payment of principal" } } }, "localname": "DebtInstrumentPeriodicPaymentPrincipal", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r22", "r55", "r56", "r68", "r69", "r71", "r73", "r102", "r103", "r169", "r293", "r294", "r295", "r296", "r297", "r299", "r304", "r305", "r306", "r307", "r309", "r310", "r311", "r312", "r313", "r314", "r317", "r444", "r613", "r614", "r615", "r616", "r617", "r740" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Debt Instrument, Term", "terseLabel": "Term of debt" } } }, "localname": "DebtInstrumentTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "durationItemType" }, "us-gaap_DebtPolicyTextBlock": { "auth_ref": [ "r8" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy related to debt. Includes, but is not limited to, debt issuance costs, the effects of refinancings, method of amortizing debt issuance costs and original issue discount, and classifications of debt.", "label": "Debt, Policy [Policy Text Block]", "terseLabel": "Credit Agreement Refinancing" } } }, "localname": "DebtPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredFinanceCostsNet": { "auth_ref": [ "r70", "r769" ], "calculation": { "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.", "label": "Debt Issuance Costs, Net", "negatedLabel": "Issuance costs and debt discounts" } } }, "localname": "DeferredFinanceCostsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r391", "r392" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred income taxes, net" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r6", "r105", "r122", "r407", "r408", "r742" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "terseLabel": "Deferred income taxes, net" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r398" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedBenefitPlanContributionsByEmployer": { "auth_ref": [ "r345", "r347", "r348", "r626", "r627", "r628", "r629" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of contribution received by defined benefit plan from employer which increases plan assets.", "label": "Defined Benefit Plan, Plan Assets, Contributions by Employer", "terseLabel": "Employer matching contributions" } } }, "localname": "DefinedBenefitPlanContributionsByEmployer", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanDisclosureLineItems": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Defined Contribution Plan Disclosure [Line Items]", "terseLabel": "Employee Benefit Plans" } } }, "localname": "DefinedContributionPlanDisclosureLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay", "terseLabel": "Defined contribution plan, employer matching contribution, percent of employees' gross pay (as a percent)" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage employer matches of the employee's percentage contribution matched.", "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match", "terseLabel": "Defined contribution plan, employer matching contribution, percent of match (as a percent)" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.", "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "terseLabel": "Maximum employee contribution as a percentage of compensation under 401(k) Plan (as a percent)" } } }, "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DefinedContributionPlanTable": { "auth_ref": [ "r349" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans.", "label": "Defined Contribution Plan [Table]" } } }, "localname": "DefinedContributionPlanTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DefinedContributionPlanTaxStatusExtensibleList": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates tax status of defined contribution plan designed to provide retirement benefits.", "label": "Defined Contribution Plan, Tax Status [Extensible Enumeration]", "terseLabel": "Defined Contribution Plan, Tax Status" } } }, "localname": "DefinedContributionPlanTaxStatusExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r6", "r53" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 4.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortizationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization [Abstract]" } } }, "localname": "DepreciationAndAmortizationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r6", "r220" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.", "label": "Developed Technology Rights [Member]", "terseLabel": "Developed Technology Rights" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [ "r342", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r342", "r619", "r620", "r621", "r622", "r623", "r624", "r625" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r770" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Schedule of disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "EARNINGS PER SHARE (EPS)" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r158", "r179", "r180", "r181", "r182", "r183", "r190", "r193", "r203", "r204", "r205", "r209", "r428", "r429", "r482", "r496", "r608" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r158", "r179", "r180", "r181", "r182", "r183", "r193", "r203", "r204", "r205", "r209", "r428", "r429", "r482", "r496", "r608" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted [Abstract]", "terseLabel": "Earnings (Loss) per share:" } } }, "localname": "EarningsPerShareDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted, Other Disclosure [Abstract]", "terseLabel": "Antidilutive securities" } } }, "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r189", "r206", "r207", "r208" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "EARNINGS PER SHARE (EPS)" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEps" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r10", "r128", "r153", "r154", "r155", "r170", "r171", "r172", "r176", "r184", "r186", "r210", "r249", "r252", "r322", "r387", "r388", "r389", "r400", "r401", "r419", "r420", "r421", "r422", "r423", "r425", "r427", "r437", "r439", "r440", "r441", "r442", "r443", "r465", "r510", "r511", "r512", "r526", "r579" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r450", "r457", "r633" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Finance Lease, Interest Expense", "verboseLabel": "Interest on lease liabilities" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "auth_ref": [ "r452", "r459" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of interest paid on finance lease liability.", "label": "Finance Lease, Interest Payment on Liability", "terseLabel": "Operating cash flow from finance leases" } } }, "localname": "FinanceLeaseInterestPaymentOnLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finance Lease Liabilities, Gross Difference, Amount [Abstract]", "terseLabel": "Finance" } } }, "localname": "FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finance Lease Liabilities, Payments, Due [Abstract]", "terseLabel": "Finance" } } }, "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinanceLeaseLiability": { "auth_ref": [ "r448", "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.", "label": "Finance Lease, Liability", "totalLabel": "Total finance lease obligations", "verboseLabel": "Total finance lease obligations" } } }, "localname": "FinanceLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finance Lease Liability [Abstract]", "terseLabel": "Finance lease obligations" } } }, "localname": "FinanceLeaseLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r448" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.", "label": "Finance Lease, Liability, Current", "netLabel": "Less: Current obligations", "terseLabel": "Finance lease obligations" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r837" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.", "label": "Finance Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of the Maturities of Finance Lease Liabilities" } } }, "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "auth_ref": [ "r448" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiability", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.", "label": "Finance Lease, Liability, Noncurrent", "netLabel": "Noncurrent lease obligations", "terseLabel": "Finance lease obligations, less current portion" } } }, "localname": "FinanceLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.", "label": "Finance Lease, Liability, Payments, Due", "totalLabel": "Total lease payments" } } }, "localname": "FinanceLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails", "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2024" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease, Liability, Payments, Due Year Four", "terseLabel": "2027" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease, Liability, Payments, Due Year Three", "terseLabel": "2026" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease, Liability, Payments, Due Year Two", "terseLabel": "2025" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r837" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year.", "label": "Finance Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.", "label": "Finance Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest" } } }, "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesGrossDifferenceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r451", "r459" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Repayments of Long-term Capital Lease Obligations", "negatedLabel": "Principal payments on finance leases", "terseLabel": "Financing cash flow from finance leases" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r447" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset", "totalLabel": "Total equipment and leasehold improvements, net" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAccumulatedAmortization": { "auth_ref": [ "r724", "r728" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 2.0, "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated amortization of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, Accumulated Amortization", "negatedLabel": "Accumulated depreciation" } } }, "localname": "FinanceLeaseRightOfUseAssetAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAfterAccumulatedAmortizationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization [Abstract]", "terseLabel": "Finance leases (included in equipment and leasehold improvements, net):" } } }, "localname": "FinanceLeaseRightOfUseAssetAfterAccumulatedAmortizationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r450", "r457", "r633" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization expense", "verboseLabel": "Amortization of assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetDepreciationAndAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "auth_ref": [ "r723" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 1.0, "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset", "weight": 1.0 }, "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization", "terseLabel": "Equipment under finance leases", "verboseLabel": "Equipment and leasehold improvements, net" } } }, "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r449" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset.", "label": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Finance Lease, Right-of-Use Asset, Statement of Financial Position" } } }, "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r462", "r633" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for finance lease calculated at point in time.", "label": "Finance Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Finance leases, weighted average discount rate" } } }, "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r461", "r633" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Finance Lease, Weighted Average Remaining Lease Term", "verboseLabel": "Finance leases, weighted average remaining lease term" } } }, "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Amortization Period" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r138", "r268" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r266", "r267", "r268", "r269", "r474", "r478" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r97", "r478" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Total finite intangible assets" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [ "r474" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r51", "r52" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r97", "r474" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Other intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net [Abstract]", "terseLabel": "Finite-Lived Intangible Assets" } } }, "localname": "FiniteLivedIntangibleAssetsNetAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiscalPeriod": { "auth_ref": [ "r62" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed.", "label": "Fiscal Period, Policy [Policy Text Block]", "terseLabel": "Fiscal Years" } } }, "localname": "FiscalPeriod", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiscalPeriodDuration": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Duration of a fiscal period, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but not limited to, weeks in a year or quarter.", "label": "Fiscal Period Duration", "terseLabel": "Length of fiscal period" } } }, "localname": "FiscalPeriodDuration", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyFiscalYearsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FixedPriceContractMember": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which amount of consideration is fixed.", "label": "Fixed-Price Contract [Member]", "terseLabel": "Fixed-Price Contract" } } }, "localname": "FixedPriceContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and Fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r6" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "(Gain) loss on sale/disposal of equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeographicConcentrationRiskMember": { "auth_ref": [ "r39", "r593" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).", "label": "Geographic Concentration Risk [Member]", "terseLabel": "Geographic Concentration Risk" } } }, "localname": "GeographicConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r137", "r254", "r479", "r612", "r634", "r752", "r759" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill at end of period", "periodStartLabel": "Goodwill at beginning of period", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [ "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r612" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Changes in carrying value of goodwill" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r0", "r84", "r113", "r215", "r229", "r235", "r238", "r483", "r491", "r610" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "terseLabel": "Segment profit (loss) before income tax expense", "totalLabel": "Income (Loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r270", "r272", "r564" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r272", "r564" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r168", "r390", "r394", "r396", "r399", "r405", "r409", "r410", "r411", "r523" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r117", "r125", "r185", "r186", "r223", "r393", "r406", "r497" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense (benefit)", "verboseLabel": "Income tax (benefit) expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesIncomeTaxExpenseBenefitDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r32" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r738" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r472", "r738" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Contract liabilities" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities, net of effects from business acquisitions:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherReceivables": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in receivables classified as other.", "label": "Increase (Decrease) in Other Receivables", "negatedLabel": "Other receivables" } } }, "localname": "IncreaseDecreaseInOtherReceivables", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r194", "r195", "r196", "r205", "r360" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "verboseLabel": "Effect of dilutive stock options and restricted stock awards (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of nonoperating interest income (expense).", "label": "Interest Income (Expense), Nonoperating, Net", "negatedLabel": "Interest expense, net", "terseLabel": "Interest expense, net" } } }, "localname": "InterestIncomeExpenseNonoperatingNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r160", "r163", "r164" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Net", "terseLabel": "Interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntersegmentEliminationMember": { "auth_ref": [ "r217", "r228", "r229", "r230", "r231", "r232", "r234", "r238" ], "lang": { "en-us": { "role": { "documentation": "Eliminating entries used in operating segment consolidation.", "label": "Intersegment Eliminations [Member]", "terseLabel": "Intersegment Eliminations" } } }, "localname": "IntersegmentEliminationMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r456", "r633" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total net lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease cost" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r836" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of the Lease Expense" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r98" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold Improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "LEASES" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "auth_ref": [ "r100" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.", "label": "Legal Matters and Contingencies [Text Block]", "terseLabel": "CONTINGENCIES" } } }, "localname": "LegalMattersAndContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lessee Disclosure [Abstract]", "terseLabel": "Leases" } } }, "localname": "LesseeDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee has option to extend operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Operating lease, option to extend" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToTerminate": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee has option to terminate operating lease.", "label": "Lessee, Operating Lease, Existence of Option to Terminate [true false]", "terseLabel": "Operating lease, option to terminate" } } }, "localname": "LesseeOperatingLeaseExistenceOfOptionToTerminate", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r837" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of the Maturities of Operating Lease Liabilities" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r837" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r463" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less: Imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "auth_ref": [ "r834" ], "lang": { "en-us": { "role": { "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Remaining Lease Term", "terseLabel": "Operating lease, remaining lease term" } } }, "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r835" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating lease, extension term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LetterOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Letter of Credit [Member]", "terseLabel": "Letter of Credit" } } }, "localname": "LetterOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r18", "r167", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r414", "r417", "r418", "r433", "r539", "r609", "r646", "r766", "r838", "r839" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r83", "r112", "r489", "r634", "r741", "r750", "r833" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r20", "r134", "r167", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r414", "r417", "r418", "r433", "r634", "r766", "r838", "r839" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.", "label": "Line of Credit Facility, Commitment Fee Percentage", "terseLabel": "Commitment fee (as a percent)" } } }, "localname": "LineOfCreditFacilityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r16" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebt": { "auth_ref": [ "r14", "r111", "r305", "r320", "r614", "r615", "r847" ], "calculation": { "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.", "label": "Long-term Debt", "terseLabel": "Subtotal", "totalLabel": "Subtotal - total debt principal" } } }, "localname": "LongTermDebt", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r141" ], "calculation": { "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails": { "order": 1.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.", "label": "Long-term Debt, Current Maturities", "terseLabel": "Less current portion of long-term debt" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r142" ], "calculation": { "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails": { "order": 2.0, "parentTag": "us-gaap_LongTermDebt", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt portion" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermNotesPayable": { "auth_ref": [ "r22" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.", "label": "Notes Payable, Noncurrent", "terseLabel": "Notes payable" } } }, "localname": "LongTermNotesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtCurrentAndNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current and Noncurrent [Abstract]", "terseLabel": "Debt Obligations" } } }, "localname": "LongtermDebtCurrentAndNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsClassificationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r22", "r54" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Long-term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LossContingencyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONTINGENCIES" } } }, "localname": "LossContingencyAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r162" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) provided by financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r162" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) provided by investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r93", "r94", "r95" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash (used in) provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r85", "r95", "r114", "r132", "r148", "r151", "r155", "r167", "r175", "r179", "r180", "r181", "r182", "r185", "r186", "r201", "r215", "r229", "r235", "r238", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r429", "r433", "r493", "r561", "r577", "r578", "r610", "r644", "r766" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "totalLabel": "Net income (loss)" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "auth_ref": [ "r159", "r179", "r180", "r181", "r182", "r190", "r191", "r202", "r205", "r215", "r229", "r235", "r238", "r610" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "totalLabel": "Net income (loss) - basic" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "auth_ref": [ "r159", "r192", "r197", "r198", "r199", "r200", "r202", "r205" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.", "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "totalLabel": "Net income (loss) - diluted" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Net income (loss)" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "RECENT ACCOUNTING PRONOUNCEMENTS" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "auth_ref": [ "r123", "r124", "r126", "r130", "r173", "r174", "r177", "r178", "r187", "r188", "r250", "r251", "r402", "r403", "r404", "r424", "r426", "r430", "r431", "r432", "r434", "r435", "r436", "r445", "r446", "r466", "r475", "r476", "r477", "r513", "r514", "r515", "r516", "r517" ], "lang": { "en-us": { "role": { "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.", "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]", "terseLabel": "RECENT ACCOUNTING PRONOUNCEMENTS" } } }, "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRecentAccountingPronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Accounting Pronouncements Recently Adopted" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r89" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Total other expense, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_NotesPayableCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.", "label": "Notes Payable, Current", "terseLabel": "Notes payable" } } }, "localname": "NotesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesPayableOtherPayablesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A written promise to pay a note to a third party.", "label": "Notes Payable, Other Payables [Member]", "terseLabel": "Notes Payable, Other Payables" } } }, "localname": "NotesPayableOtherPayablesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NotesPayableToBanksMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A written promise to pay a note to a bank.", "label": "Notes Payable to Banks [Member]", "terseLabel": "Notes Payable to Banks" } } }, "localname": "NotesPayableToBanksMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r748" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reporting segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfStatesInWhichEntityOperates": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of states the entity operates in as of the balance sheet date.", "label": "Number of States in which Entity Operates", "terseLabel": "Number of states in which entity operates" } } }, "localname": "NumberOfStatesInWhichEntityOperates", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationGeographicalInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OccupancyNet": { "auth_ref": [ "r88", "r115", "r116" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of net occupancy expense that may include items, such as depreciation of facilities and equipment, lease expenses, property taxes and property and casualty insurance expense.", "label": "Occupancy, Net", "terseLabel": "Facilities and facility related" } } }, "localname": "OccupancyNet", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 3.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total general and administrative expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "General and administrative expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r215", "r229", "r235", "r238", "r610" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Income (Loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r458", "r633" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "verboseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]", "terseLabel": "Operating" } } }, "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Operating" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r448" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Total lease liabilities", "verboseLabel": "Total lease liabilities" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability [Abstract]", "terseLabel": "Operating leases, lease liabilities" } } }, "localname": "OperatingLeaseLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r448" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Lease liability", "verboseLabel": "Less: Current obligations" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r448" ], "calculation": { "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent lease obligations", "verboseLabel": "Lease liability, less current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesGrossDifferenceDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r453", "r459" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash flow from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r447" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesConsolidatedBalanceSheetDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r462", "r633" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating leases, weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r461", "r633" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating leases, weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r228", "r229", "r230", "r231", "r232", "r238" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "ORGANIZATION AND OPERATIONS OF THE COMPANY" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r74", "r107", "r519", "r520" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "ORGANIZATION AND OPERATIONS OF THE COMPANY" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompany" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r139" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "auth_ref": [ "r146", "r147" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "verboseLabel": "Unrealized gain (loss) on derivative contracts, net of tax" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r10", "r13", "r149", "r152", "r156", "r437", "r438", "r443", "r480", "r494", "r734", "r735" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Net unrealized gain on derivative contracts" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r23" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other noncurrent liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r90" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherReceivablesNetCurrent": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.", "label": "Other Receivables, Net, Current", "terseLabel": "Other receivables" } } }, "localname": "OtherReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherSellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r87" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 5.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of selling, general and administrative expense classified as other.", "label": "Other Selling, General and Administrative Expense", "terseLabel": "Other" } } }, "localname": "OtherSellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ParentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.", "label": "Parent [Member]" } } }, "localname": "ParentMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForRepurchaseOfOtherEquity": { "auth_ref": [ "r29" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to reacquire equity classified as other.", "label": "Payments for Repurchase of Other Equity", "negatedLabel": "Cash used to pay taxes on stock grants" } } }, "localname": "PaymentsForRepurchaseOfOtherEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r92" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of equipment, software, and leasehold improvements" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Preferred Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Preferred stock" } } }, "localname": "PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r77", "r321" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r77", "r541" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r77", "r321" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r77", "r541", "r559", "r852", "r853" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r77", "r486", "r634" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $0.01 par value, 10,000 shares authorized, no shares issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r733" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r28", "r740" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Proceeds from Lines of Credit", "terseLabel": "Borrowings under term loan facility and line of credit" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r91" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r4", "r11" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from stock option exercise" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r4" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from Stock Plans", "terseLabel": "Proceeds from sales of common stock under employee stock purchase plan" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r132", "r148", "r151", "r161", "r167", "r175", "r185", "r186", "r215", "r229", "r235", "r238", "r248", "r279", "r280", "r282", "r283", "r284", "r286", "r288", "r290", "r291", "r412", "r415", "r416", "r429", "r433", "r483", "r492", "r525", "r561", "r577", "r578", "r610", "r631", "r632", "r645", "r736", "r766" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income (loss)" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "auth_ref": [ "r724", "r728", "r764" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "negatedLabel": "Accumulated depreciation and amortization" } } }, "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "auth_ref": [ "r728", "r762" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "terseLabel": "Equipment and leasehold improvements, net", "totalLabel": "Total equipment and leasehold improvements, net" } } }, "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization [Abstract]", "terseLabel": "Equipment and Leasehold Improvements" } } }, "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortizationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "auth_ref": [ "r723", "r732", "r763" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "totalLabel": "Equipment and leasehold improvements, gross" } } }, "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r98", "r136", "r490" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Equipment and leasehold improvements" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of equipment and leasehold improvements" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r98" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ReconciliationFromSegmentTotalsToConsolidatedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reconciliation [Abstract]", "terseLabel": "Segment reconciliation" } } }, "localname": "ReconciliationFromSegmentTotalsToConsolidatedAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ReconciliationOfAssetsFromSegmentToConsolidatedTable": { "auth_ref": [ "r48", "r49" ], "lang": { "en-us": { "role": { "documentation": "Identification, description, and amounts of all significant reconciling items in the reconciliation of total assets from reportable segments to the entity's consolidated assets.", "label": "Reconciliation of Assets from Segment to Consolidated [Table]" } } }, "localname": "ReconciliationOfAssetsFromSegmentToConsolidatedTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r30", "r740" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Repayments of Lines of Credit", "negatedLabel": "Repayments under term loan facility and line of credit" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfNotesPayable": { "auth_ref": [ "r30" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.", "label": "Repayments of Notes Payable", "negatedLabel": "Payments on notes payable" } } }, "localname": "RepaymentsOfNotesPayable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResidualValueOfLeasedAsset": { "auth_ref": [ "r464" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of residual asset covered by residual value guarantee. Excludes guarantee considered to be lease payments for lessor.", "label": "Residual Value of Leased Asset", "terseLabel": "Residual value guarantee" } } }, "localname": "ResidualValueOfLeasedAsset", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r731", "r739", "r846", "r848" ], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage. 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.", "label": "Restricted Cash", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAssetStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r739" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes cash restricted to withdrawal or usage.", "label": "Restricted Cash, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Restricted Cash, Statement of Financial Position" } } }, "localname": "RestrictedCashAssetStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataRestrictedCashDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_RestrictedCashCurrent": { "auth_ref": [ "r731", "r739" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. 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.", "label": "Restricted Cash, Current", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashCurrent", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r80", "r104", "r488", "r513", "r517", "r522", "r542", "r634" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated undistributed earnings (deficit).", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r128", "r170", "r171", "r172", "r176", "r184", "r186", "r249", "r252", "r387", "r388", "r389", "r400", "r401", "r419", "r421", "r422", "r425", "r427", "r510", "r512", "r526", "r852" ], "lang": { "en-us": { "role": { "documentation": "Accumulated undistributed earnings (deficit).", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RetirementPlanNameAxis": { "auth_ref": [ "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r630", "r725", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830" ], "lang": { "en-us": { "role": { "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.", "label": "Retirement Plan Name [Axis]" } } }, "localname": "RetirementPlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RetirementPlanNameDomain": { "auth_ref": [ "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r630", "r725", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r806", "r807", "r808", "r809", "r810", "r811", "r812", "r813", "r814", "r815", "r816", "r817", "r818", "r819", "r820", "r821", "r822", "r823", "r824", "r825", "r826", "r827", "r828", "r829", "r830" ], "lang": { "en-us": { "role": { "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.", "label": "Retirement Plan Name [Domain]" } } }, "localname": "RetirementPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "REVENUES" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r216", "r217", "r228", "r233", "r234", "r240", "r242", "r244", "r341", "r342", "r473" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Contract revenue", "verboseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r244", "r726" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer Benchmark" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r127", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r605" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "verboseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerSegmentBenchmarkMember": { "auth_ref": [ "r726" ], "lang": { "en-us": { "role": { "documentation": "Revenue from specified business segment for satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer, Segment Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer, Segment Benchmark" } } }, "localname": "RevenueFromContractWithCustomerSegmentBenchmarkMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r127", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r344" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUES" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureRevenues" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r460", "r633" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Right-of-use assets obtained in exchange for lease liabilities for operating leases" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesSupplementalCashFlowInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r244", "r726" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r35" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of supplemental cash flow information for the periods presented.", "label": "Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]", "terseLabel": "Schedule of reconciliation of cash and cash equivalents, and restricted cash" } } }, "localname": "ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of debt obligations, excluding obligations under capital leases" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r746" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of number of weighted-average common shares outstanding used to compute basic and diluted EPS" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r51", "r52", "r474" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r51", "r52" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of gross amounts and accumulated amortization of acquired identifiable intangible assets with finite useful lives" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r612" ], "lang": { "en-us": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r612", "r751", "r752", "r753", "r754", "r755", "r756", "r757", "r758", "r759", "r760", "r761" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of changes in the carrying value of goodwill by reporting unit" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r7" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r45", "r46", "r47", "r50" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r45", "r46", "r47", "r50" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of financial information with respect to the reportable segments" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "auth_ref": [ "r831" ], "lang": { "en-us": { "role": { "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg.", "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]", "terseLabel": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate" } } }, "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r212", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r238", "r244", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r273", "r274", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r612", "r729", "r849" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SEGMENT AND GEOGRAPHICAL INFORMATION" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingAssetReconcilingItemLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting, Asset Reconciling Item [Line Items]", "terseLabel": "Segment Reporting" } } }, "localname": "SegmentReportingAssetReconcilingItemLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting, Disclosure of Entity's Reportable Segments [Abstract]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureOfEntitysReportableSegmentsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanySegmentInformationDetails", "http://www.willdan.com/role/DisclosureRevenuesSegmentInformationDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r211", "r212", "r213", "r214", "r215", "r227", "r232", "r236", "r237", "r238", "r239", "r240", "r241", "r244" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "SEGMENT AND GEOGRAPHICAL INFORMATION" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r5" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r361", "r362", "r363", "r364", "r365", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "All Award Types", "terseLabel": "All Award Types" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Shares Used to Pay Taxes on Stock Grants, Shares", "negatedLabel": "Shares used to pay taxes on stock grants (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r131", "r212", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r238", "r244", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r271", "r273", "r274", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r612", "r729", "r849" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r10", "r25", "r128", "r153", "r154", "r155", "r170", "r171", "r172", "r176", "r184", "r186", "r210", "r249", "r252", "r322", "r387", "r388", "r389", "r400", "r401", "r419", "r420", "r421", "r422", "r423", "r425", "r427", "r437", "r439", "r440", "r441", "r442", "r443", "r465", "r510", "r511", "r512", "r526", "r579" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [ "r170", "r171", "r172", "r210", "r473", "r521", "r527", "r533", "r534", "r535", "r536", "r537", "r538", "r541", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r554", "r555", "r556", "r557", "r558", "r560", "r562", "r563", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r579", "r639" ], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r170", "r171", "r172", "r210", "r473", "r521", "r527", "r533", "r534", "r535", "r536", "r537", "r538", "r541", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r554", "r555", "r556", "r557", "r558", "r560", "r562", "r563", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r579", "r639" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockAppreciationRightsSARSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period.", "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)" } } }, "localname": "StockAppreciationRightsSARSMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "xbrltype": "domainItemType" }, "us-gaap_StockCompensationPlanMember": { "auth_ref": [ "r747" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares.", "label": "Share-Based Payment Arrangement [Member]", "terseLabel": "Share-Based Payment Arrangement" } } }, "localname": "StockCompensationPlanMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsAntidilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r10", "r77", "r78", "r104" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares of common stock issued in connection with employee stock purchase plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r10", "r104" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Issuance of restricted stock award and units (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r10", "r77", "r78", "r104", "r369" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Shares of common stock issued in connection with incentive stock plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r10", "r77", "r78", "r104" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Shares of common stock issued in connection with employee stock purchase plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "auth_ref": [ "r10", "r77", "r78", "r104" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "verboseLabel": "Issuance of restricted stock award and units" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r10", "r25", "r104" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Shares of common stock issued in connection with incentive stock plan" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r78", "r81", "r82", "r96", "r543", "r559", "r580", "r581", "r634", "r646", "r741", "r750", "r833", "r852" ], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.", "label": "Stockholders' Equity Attributable to Parent", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "auth_ref": [ "r63", "r64", "r65", "r128", "r129", "r154", "r170", "r171", "r172", "r176", "r184", "r249", "r252", "r322", "r387", "r388", "r389", "r400", "r401", "r419", "r420", "r421", "r422", "r423", "r425", "r427", "r437", "r439", "r443", "r465", "r511", "r512", "r524", "r543", "r559", "r580", "r581", "r591", "r645", "r741", "r750", "r833", "r852" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.", "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "periodEndLabel": "Balance", "periodStartLabel": "Balance" } } }, "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SUBSEQUENT EVENTS" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r467", "r468" ], "lang": { "en-us": { "role": { "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.", "label": "Subsequent Events [Text Block]", "terseLabel": "SUBSEQUENT EVENTS" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r730" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "SUPPLEMENTAL FINANCIAL STATEMENT DATA" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementData" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Cash paid (received) during the period for:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TimeAndMaterialsContractMember": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which amount of consideration is based on time and materials consumed.", "label": "Time-and-Materials Contract [Member]", "terseLabel": "Time-and-Materials Contract" } } }, "localname": "TimeAndMaterialsContractMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r59" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade Names" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsAmortizationPeriodDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataFiniteLivedIntangibleAssetsGrossAmountsAndAccumulatedAmortizationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r395" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Liability for uncertain tax positions" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued [Abstract]", "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesUncertainTaxPositionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r42", "r43", "r44", "r118", "r119", "r120", "r121" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "auth_ref": [ "r397" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.", "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "Increase (decrease) in valuation allowance" } } }, "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureIncomeTaxesValuationAllowanceDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r192", "r205" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted-average common shares outstanding-diluted (in shares)", "verboseLabel": "Diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r190", "r205" ], "calculation": { "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted-average common shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2023", "presentation": [ "http://www.willdan.com/role/DisclosureEarningsPerShareEpsComputationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "sharesItemType" }, "wldn_AccretionAndFairValueAdjustmentsContingentConsideration": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the combination of the amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values and the fair value adjustments of contingent consideration. Excludes accretion associated with asset retirement obligations", "label": "Accretion and fair value adjustments contingent consideration", "terseLabel": "Accretion and fair value adjustments of contingent consideration" } } }, "localname": "AccretionAndFairValueAdjustmentsContingentConsideration", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wldn_AccruedAccountingAndTaxesCurrent": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Accounting and Taxes, Current", "label": "Accrued Accounting and Taxes, Current", "terseLabel": "Accrued accounting and taxes" } } }, "localname": "AccruedAccountingAndTaxesCurrent", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_AccruedRebatesAndOtherCurrent": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Rebates and Other, Current", "label": "Accrued Rebates and Other, Current", "terseLabel": "Rebate and other" } } }, "localname": "AccruedRebatesAndOtherCurrent", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_AccruedSubcontractorCosts": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to Accrued Subcontractor Cost and services.", "label": "Accrued Subcontractor Costs", "terseLabel": "Accrued subcontractor costs" } } }, "localname": "AccruedSubcontractorCosts", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_AllocationOfFacilitiesCostsToDirectCostsOfContractRevenue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of facilities costs allocated to direct costs of contract revenue.", "label": "Allocation Of Facilities Costs To Direct Costs Of Contract Revenue", "terseLabel": "Allocation of facilities costs to contract revenue" } } }, "localname": "AllocationOfFacilitiesCostsToDirectCostsOfContractRevenue", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "monetaryItemType" }, "wldn_AmortizationOfDebtPercentageAnnually": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Amortization of Debt Percentage Annually", "label": "Amortization of Debt Percentage, Annually", "terseLabel": "Annual amortization of debt (as a percent)" } } }, "localname": "AmortizationOfDebtPercentageAnnually", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "percentItemType" }, "wldn_AutomobilesTrucksAndFieldEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Vehicles that are used primarily for transporting people, large vehicles primarily used for transporting cargo and long-lived, depreciable assets used for the primary purpose of field work.", "label": "Automobiles, Trucks and Field Equipment [Member]", "terseLabel": "Automobiles Trucks and Field Equipment" } } }, "localname": "AutomobilesTrucksAndFieldEquipmentMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "domainItemType" }, "wldn_BusinessAcquisitionContingentConsiderationCashPayment": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash payments resulting from the contingent consideration arrangement.", "label": "Business Acquisition, Contingent Consideration, Cash Payment", "negatedLabel": "Payments on contingent consideration" } } }, "localname": "BusinessAcquisitionContingentConsiderationCashPayment", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wldn_CommercialMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commercial [Member]", "label": "Commercial [Member]", "terseLabel": "Commercial" } } }, "localname": "CommercialMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "wldn_CommitmentsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "COMMITMENTS AND VARIABLE INTEREST ENTITIES" } } }, "localname": "CommitmentsDisclosureAbstract", "nsuri": "http://www.willdan.com/20230630", "xbrltype": "stringItemType" }, "wldn_CompensationAndPayrollTaxesCurrent": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and obligations and payables pertaining to compensation to employees.", "label": "Compensation and Payroll Taxes Current", "terseLabel": "Compensation and payroll taxes" } } }, "localname": "CompensationAndPayrollTaxesCurrent", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_ComputerHardwareAndSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long-lived depreciable assets used as a part of information systems and capitalized costs of purchased software applications.", "label": "Computer Hardware and Software [Member]", "terseLabel": "Computer Hardware and Software" } } }, "localname": "ComputerHardwareAndSoftwareMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataEquipmentAndLeaseholdImprovementsNetTabularDisclosureDetails" ], "xbrltype": "domainItemType" }, "wldn_ContractWithCustomerAssetAndConstructionContractorReceivableRetainageAfterAllowanceForCreditLossCurrent": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Asset, and Construction Contractor, Receivable, Retainage, after Allowance for Credit Loss, Current", "label": "Contract with Customer, Asset, and Construction Contractor, Receivable, Retainage, after Allowance for Credit Loss, Current", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetAndConstructionContractorReceivableRetainageAfterAllowanceForCreditLossCurrent", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "wldn_CostOfSubcontractorServicesAndOtherDirectCosts": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_CostOfRevenue", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Subcontractor service costs and other direct costs incurred directly related to services rendered by an entity during the reporting period.", "label": "Cost of Subcontractor Services and Other Direct Costs", "terseLabel": "Subcontractor services and other direct costs" } } }, "localname": "CostOfSubcontractorServicesAndOtherDirectCosts", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "wldn_CreditAgreement2019Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Credit Agreement 2019 [Member]", "label": "Credit Agreement 2019 [Member]", "terseLabel": "Credit Agreement 2019" } } }, "localname": "CreditAgreement2019Member", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "domainItemType" }, "wldn_DebtInstrumentCovenantsMinimumFixedChargeCoverageRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The minimum fixed charge coverage ratio (measured as the sum of EBITDA plus rent expense less unfinanced capital expenditures divided by the sum of rent expense plus principal payments plus cash taxes plus cash interest plus restricted payments plus distributions) as a covenant under the credit agreement.", "label": "Debt Instrument, Covenants, Minimum Fixed Charge Coverage Ratio" } } }, "localname": "DebtInstrumentCovenantsMinimumFixedChargeCoverageRatio", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "pureItemType" }, "wldn_DebtInstrumentCovenantsTotalLeverageRatioAccessToAccordionFeatureHighEndOfRange": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Covenants, Total Leverage Ratio, Access to Accordion Feature, High End of Range", "label": "Debt Instrument, Covenants, Total Leverage Ratio, Access to Accordion Feature, High End of Range", "terseLabel": "Debt instrument, covenants, Total Leverage Ratio, access to accordion feature, high end of range" } } }, "localname": "DebtInstrumentCovenantsTotalLeverageRatioAccessToAccordionFeatureHighEndOfRange", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "pureItemType" }, "wldn_DebtInstrumentCovenantsTotalLeverageRatioMaximumPermittedToMaintain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Covenants, Total Leverage Ratio, Maximum Permitted to Maintain", "label": "Debt Instrument, Covenants, Total Leverage Ratio, Maximum Permitted to Maintain", "terseLabel": "Debt instrument, covenants, total leverage ratio, maximum permitted to maintain" } } }, "localname": "DebtInstrumentCovenantsTotalLeverageRatioMaximumPermittedToMaintain", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "pureItemType" }, "wldn_DebtInstrumentExtendedMaturityTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Extended Maturity Term", "label": "Debt Instrument, Extended Maturity Term", "terseLabel": "Extended maturity term" } } }, "localname": "DebtInstrumentExtendedMaturityTerm", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "durationItemType" }, "wldn_DefinedContributionPlanEmployerMatchingContributionAgeOfEmployees": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan, Employer Matching Contribution, Age of Employees", "label": "Defined Contribution Plan, Employer Matching Contribution, Age of Employees", "terseLabel": "Attained age" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionAgeOfEmployees", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "integerItemType" }, "wldn_DefinedContributionPlanEmployerMatchingContributionMaximumAmountPerEmployee": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan, Employer Matching Contribution, Maximum Amount Per Employee", "label": "Defined Contribution Plan, Employer Matching Contribution, Maximum Amount Per Employee", "terseLabel": "Maximum employer contribution per employee" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionMaximumAmountPerEmployee", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "monetaryItemType" }, "wldn_DefinedContributionPlanEmployerMatchingContributionServicePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of services eligible to participate in defined contribution plan.", "label": "Defined Contribution Plan, Employer Matching Contribution, Service Period", "terseLabel": "Service period" } } }, "localname": "DefinedContributionPlanEmployerMatchingContributionServicePeriod", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "durationItemType" }, "wldn_DefinedContributionPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Defined Contribution Plan [Member]", "label": "Defined Contribution Plan [Member]", "terseLabel": "Defined Contribution Plan" } } }, "localname": "DefinedContributionPlanMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "domainItemType" }, "wldn_DelayedDrawTermLoanFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Delayed Draw Term Loan Facility [Member]", "label": "Delayed Draw Term Loan Facility [Member]", "terseLabel": "Delayed Draw Term Loan Facility" } } }, "localname": "DelayedDrawTermLoanFacilityMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "wldn_DormitoryAuthorityStateNewYorkMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Dormitory Authority-State New York [Member]", "label": "Dormitory Authority-State New York [Member]", "terseLabel": "Dormitory Authority-State New York" } } }, "localname": "DormitoryAuthorityStateNewYorkMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "wldn_EmployeeWithholdings": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet of the withholding of payables of employees.", "label": "Employee Withholdings", "terseLabel": "Employee withholdings" } } }, "localname": "EmployeeWithholdings", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_EnergyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Energy [Member]", "label": "Energy [Member]", "terseLabel": "Energy" } } }, "localname": "EnergyMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "domainItemType" }, "wldn_EngineeringConsultingServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Engineering Consulting Services [Member]", "label": "Engineering Consulting Services [Member]", "terseLabel": "Engineering and Consulting" } } }, "localname": "EngineeringConsultingServicesMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationSegmentAssetsDetails", "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationStatementOfOperationsDetails", "http://www.willdan.com/role/DisclosureSupplementalFinancialStatementDataGoodwillDetails" ], "xbrltype": "domainItemType" }, "wldn_FinanceLeaseLiabilityPaymentsDueAfterYearFour": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finance Lease Liability Payments Due After Year Four", "terseLabel": "2028 and thereafter" } } }, "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFour", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesFinanceLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_GovernmentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Government [Member]", "label": "Government [Member]", "terseLabel": "Government" } } }, "localname": "GovernmentsMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "wldn_IncreaseDecreaseInRightOfUseAssets": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right of use assets.", "label": "Increase (Decrease) in Right Of Use Assets", "negatedLabel": "Right-of-use assets" } } }, "localname": "IncreaseDecreaseInRightOfUseAssets", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wldn_LaborAndRelatedExpenseExcludingStockBasedCompensation": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of expenditures for salaries and wages (excluding the portion of technical and nontechnical salaries and wages incurred in connection with revenue producing projects) and payroll taxes, bonuses and employee benefit costs for all company personnel, excluding equity-based compensation.", "label": "Labor and Related Expense Excluding Stock Based Compensation", "terseLabel": "Salaries and wages, payroll taxes and employee benefits", "verboseLabel": "Payroll taxes, bonuses and employee benefit costs for all Company personnel" } } }, "localname": "LaborAndRelatedExpenseExcludingStockBasedCompensation", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails", "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "wldn_LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of impact of leases adoption on balance sheet information.", "label": "Lessee Balance Sheet And Other Information Of Leases [Table Text Block]", "terseLabel": "Summary of Lease Information Presented on the Condensed Consolidated Balance Sheet" } } }, "localname": "LesseeBalanceSheetAndOtherInformationOfLeasesTableTextBlock", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "wldn_LesseeOperatingAndFinanceLeasesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of operating and finance leases.", "label": "Lessee Operating And Finance Leases [Text Block]", "terseLabel": "LEASES" } } }, "localname": "LesseeOperatingAndFinanceLeasesTextBlock", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeases" ], "xbrltype": "textBlockItemType" }, "wldn_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee Operating Lease Liability Payments Due After Year Four", "terseLabel": "2028 and thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesOperatingLeasesMaturitiesOfLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_LesseeOperatingLeaseTerminateTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the term in which the operating lease can be terminated.", "label": "Lessee Operating Lease, Terminate Term", "terseLabel": "Operating lease, terminate term" } } }, "localname": "LesseeOperatingLeaseTerminateTerm", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesGeneralInformationDetails" ], "xbrltype": "durationItemType" }, "wldn_LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of other information and supplemental cash flow information related to leases.", "label": "Lessee Other Information And Supplemental Cash Flow Information Of Leases [Table Text Block]", "terseLabel": "Summary of Other Information and Supplemental Cash Flow Information Related to Finance and Operating Leases" } } }, "localname": "LesseeOtherInformationAndSupplementalCashFlowInformationOfLeasesTableTextBlock", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "wldn_LineOfCreditFacilityMaximumBorrowingCapacityThroughDateWhichFinancialStatementsAndComplianceDocumentsReceivedByAdministrativeAgentForFiscalQuarterEnding31March2023": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Line of Credit Facility, Maximum Borrowing Capacity, through Date which Financial Statements and Compliance Documents Received by Administrative Agent for Fiscal Quarter Ending 31 March 2023", "label": "Line of Credit Facility, Maximum Borrowing Capacity, through Date which Financial Statements and Compliance Documents Received by Administrative Agent for Fiscal Quarter Ending 31 March 2023", "terseLabel": "Maximum borrowing capacity during the period from November 1, 2022 through the date on which financial statements and compliance documents have been received by the Administrative Agent for the fiscal quarter ending March 31, 2023" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacityThroughDateWhichFinancialStatementsAndComplianceDocumentsReceivedByAdministrativeAgentForFiscalQuarterEnding31March2023", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails" ], "xbrltype": "monetaryItemType" }, "wldn_LosAngelesDepartmentOfWaterAndPowerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Los Angeles Department of Water and Power [Member]", "label": "Los Angeles Department of Water and Power [Member]", "terseLabel": "Los Angeles Department of Water and Power" } } }, "localname": "LosAngelesDepartmentOfWaterAndPowerMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "wldn_NewFinancingFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "New Financing Facility [Member]", "label": "New Financing Facility [Member]", "terseLabel": "New financing facility" } } }, "localname": "NewFinancingFacilityMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "wldn_NumberOfVariableInterestEntity": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to number of variable entities.", "label": "Number of Variable Interest Entity", "terseLabel": "Number of VIEs" } } }, "localname": "NumberOfVariableInterestEntity", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesVariableInterestEntitiesDetails" ], "xbrltype": "integerItemType" }, "wldn_OperatingLeaseRentExpenses": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease Rent Expenses", "terseLabel": "Rent expenses" } } }, "localname": "OperatingLeaseRentExpenses", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureLeasesRentExpenseDetails" ], "xbrltype": "monetaryItemType" }, "wldn_OtherDebtMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Debt [Member]", "label": "Other Debt [Member]", "terseLabel": "Other Debt" } } }, "localname": "OtherDebtMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails" ], "xbrltype": "domainItemType" }, "wldn_PaymentsForCashDepositsHeldInTrustForEnergyIncentiveRebatePaymentsRestrictedCashFinancingActivities": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments for Cash Deposits Held in Trust for Energy Incentive Rebate Payments, Restricted Cash, Financing Activities", "label": "Payments for Cash Deposits Held in Trust for Energy Incentive Rebate Payments, Restricted Cash, Financing Activities", "negatedLabel": "Payment on restricted cash" } } }, "localname": "PaymentsForCashDepositsHeldInTrustForEnergyIncentiveRebatePaymentsRestrictedCashFinancingActivities", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wldn_PercentOfTotalRevenueComprisedOfContractsWhichIncludeSeparatePhasesOrElements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of total revenue comprised of contracts which include separate phases or elements.", "label": "Percent Of Total Revenue Comprised Of Contracts Which Include Separate Phases Or Elements", "terseLabel": "Percent of revenue (as a percent)" } } }, "localname": "PercentOfTotalRevenueComprisedOfContractsWhichIncludeSeparatePhasesOrElements", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "percentItemType" }, "wldn_PercentageOfExistingCreditAgreementReplaced": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of Existing Credit Agreement Replaced", "label": "Percentage of Existing Credit Agreement Replaced", "terseLabel": "Percentage of existing credit agreement replaced" } } }, "localname": "PercentageOfExistingCreditAgreementReplaced", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "percentItemType" }, "wldn_ProvisionForDoubtfulAccountsCashFlowImpact": { "auth_ref": [], "calculation": { "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash flow impact of the provision for doubtful accounts.", "label": "Provision for Doubtful Accounts Cash Flow Impact", "terseLabel": "Provision for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccountsCashFlowImpact", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "wldn_PublicUtilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Public Utility [Member]", "label": "Public Utility [Member]", "terseLabel": "Utilities" } } }, "localname": "PublicUtilityMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "wldn_QualifiedCashOrDeferredArrangementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Qualified Cash or Deferred Arrangement [Member]", "label": "Qualified Cash or Deferred Arrangement [Member]", "terseLabel": "Qualified Cash or Deferred Arrangement" } } }, "localname": "QualifiedCashOrDeferredArrangementMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureCommitmentsAndVariableInterestEntitiesEmployeeBenefitPlansDetails" ], "xbrltype": "domainItemType" }, "wldn_RevenueOfTheEntityAsAnAgent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of revenue of the entity in which it acts solely in the capacity of an agent.", "label": "Revenue of the Entity as an Agent", "terseLabel": "Revenue of the entity recorded in which it acts solely in the capacity of an agent" } } }, "localname": "RevenueOfTheEntityAsAnAgent", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesGeneralInformationDetails" ], "xbrltype": "monetaryItemType" }, "wldn_ScheduleOfByTypeAndReportableSegmentTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contracts for revenue generating activities by type and by reporting segment.", "label": "Schedule of By Type And Reportable Segment [Table Text Block]", "terseLabel": "Schedule of Contracts by Reportable Segments and Type of Contracts" } } }, "localname": "ScheduleOfByTypeAndReportableSegmentTableTextBlock", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureRevenuesTables" ], "xbrltype": "textBlockItemType" }, "wldn_TermAloanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term A Loan [Member]", "label": "Term A Loan [Member]", "terseLabel": "Term A Loan" } } }, "localname": "TermAloanMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureDebtObligationsCompositionDetails", "http://www.willdan.com/role/DisclosureDebtObligationsCreditFacilitiesDetails", "http://www.willdan.com/role/DisclosureOrganizationAndOperationsOfCompanyCreditAgreementRefinancingDetails" ], "xbrltype": "domainItemType" }, "wldn_TopTenCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Top Ten Customers [Member]", "label": "Top Ten Customers [Member]", "terseLabel": "Top Ten Customers" } } }, "localname": "TopTenCustomersMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "wldn_UnitBasedContractMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Unit-based Contract [Member]", "label": "Unit-based Contract [Member]", "terseLabel": "Unit-based Contract" } } }, "localname": "UnitBasedContractMember", "nsuri": "http://www.willdan.com/20230630", "presentation": [ "http://www.willdan.com/role/DisclosureSegmentAndGeographicalInformationDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "b", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org//450/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org//470/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org//810/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.14(b))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "840", "URI": "https://asc.fasb.org//1943274/2147481161/840-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(1)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(d)(2)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "https://asc.fasb.org//250/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org//606/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "105", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(c)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.B)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org//260/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org//280/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org//740/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(i)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iii)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(h)(1)(iv)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(i)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(2)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(c)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "848", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "https://asc.fasb.org//855/tableOfContent", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "910", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(1)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(2)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(f)(3)", "Topic": "926", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(21))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(11))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(16))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column A))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column B))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column C))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column D))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column E))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column F))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column G))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column H))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column I))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column J))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.12-16(Column K))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.6-03(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(2)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(e)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(f)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(14))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(15))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(16)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(17))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(19))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(2)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(3)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(6)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(8))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(c))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-04(9)(e))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-05(4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Subparagraph": "(b)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "220", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07(9))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(1)(d))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(6))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "505", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(b)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(a)(1)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "55", "SubTopic": "210", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(d)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r642": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r643": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r644": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r645": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r646": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "830", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r647": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r648": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r649": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "4I", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r650": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r651": { "Name": "Form 20-F", "Paragraph": "a", "Publisher": "SEC", "Section": "16", "Subsection": "J", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r652": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r653": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r654": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "A", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r655": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "B", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r656": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "C", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r657": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "D", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r658": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Sentence": "E", "Subparagraph": "i", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r659": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r660": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "iii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r661": { "Name": "Form 20-F", "Paragraph": "2", "Publisher": "SEC", "Section": "6", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r662": { "Name": "Form 20-F", "Paragraph": "1", "Publisher": "SEC", "Section": "6", "Subparagraph": "ii", "Subsection": "F", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r663": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r664": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r665": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r666": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r667": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r668": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r669": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r670": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r671": { "Name": "Form 40-F", "Paragraph": "a", "Publisher": "SEC", "Section": "19", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r672": { "Name": "Form 40-F", "Paragraph": "b", "Publisher": "SEC", "Section": "19", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r673": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r674": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r675": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "i", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r676": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "ii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r677": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iii", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r678": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "iv", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r679": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Sentence": "v", "Subparagraph": "1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r680": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r681": { "Name": "Form N-CSR", "Paragraph": "a", "Publisher": "SEC", "Section": "18", "Subparagraph": "3", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r682": { "Name": "Form N-CSR", "Paragraph": "b", "Publisher": "SEC", "Section": "18", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r683": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r684": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r685": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r686": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r687": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r688": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r689": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subparagraph": "vi", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r690": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "3", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r691": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "4", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r692": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r693": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r694": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r695": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "5", "Publisher": "SEC", "Section": "402", "Subparagraph": "iv", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r696": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r697": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "6", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "v", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r698": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r699": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r700": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r701": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "B", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r702": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r703": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r704": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "i", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r705": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "ii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r706": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subparagraph": "iii", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r707": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "w", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r708": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r709": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r710": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "A", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r711": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "C", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r712": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "D", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r713": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "E", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r714": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "402", "Sentence": "F", "Subparagraph": "ii", "Subsection": "x", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r715": { "Name": "Regulation S-K", "Number": "229", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r716": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r717": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "A", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r718": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "B", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r719": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "C", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r720": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "2", "Publisher": "SEC", "Section": "408", "Subparagraph": "D", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r721": { "Name": "Regulation S-K", "Number": "229", "Paragraph": "1", "Publisher": "SEC", "Section": "408", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r722": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r723": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r724": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r725": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r726": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r727": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r728": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r729": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r730": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "https://asc.fasb.org//210/tableOfContent", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r731": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r732": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r733": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r734": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r735": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r736": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r737": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r738": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r739": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r74": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org//205/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r740": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r741": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r742": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r743": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r744": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r745": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r746": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r747": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r748": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r749": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r750": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r751": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r752": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r753": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r754": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r755": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r756": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r757": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r758": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r759": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r760": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r761": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r762": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r763": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r764": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r765": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r766": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r767": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r768": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r769": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r770": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r771": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r772": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r773": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(10)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r774": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r775": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r776": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r777": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r778": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r779": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r780": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(8)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r781": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(9)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r782": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r783": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r784": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r785": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r786": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r787": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r788": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r789": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r790": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(8)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r791": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r792": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r793": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r794": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r795": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r796": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r797": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r798": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r799": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r800": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r801": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r802": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r803": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r804": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r805": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r806": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r807": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r808": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r809": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r810": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r811": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(j)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r812": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r813": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r814": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r815": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(k)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r816": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r817": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(q)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r818": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r819": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r820": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r821": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r822": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r823": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(2)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r824": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r825": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r826": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(5)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r827": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(6)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r828": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(7)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r829": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r830": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r831": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r832": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r833": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r834": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r835": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r836": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r837": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r838": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r839": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r840": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r841": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r842": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r843": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r844": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r845": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r846": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r847": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r848": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r849": { "Name": "Accounting Standards Codification", "Paragraph": "2B", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r850": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r851": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "205", "Subparagraph": "(a)", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r852": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(4)(b))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r853": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-09(7))", "Topic": "946", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.6)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org//440/tableOfContent", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 83 0001558370-23-013281-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-23-013281-xbrl.zip M4$L#!!0 ( /J5 U<$@\_25!, *Z] 1 =VQD;BTR,#(S,#8S,"YX MW+?_WEE__N='Z_F@R0[5G^FK@"68Q@06ST1,4* MS;S-!KOHGC!&'0==,6HO"4)GI\?=X]/C"]3I?%$DKC"'(IZ+%*WSX[,PX3J@ MYKF7Z--)]^3\]+R+/EV^__FRVT7C^S#;/51L04OR/7/[DELKLL9(8+8D8HC7 MA&^P13X?K8387)Z6I$Y_=@%X;$0C,Y]06X\MNZ1!?8= M 0WA_NEC1[&&]G&(;(%$AE@R-*C++Z$226[=8X\M@='IV0XYV>8,RUH^8P#O2U12E>+$.EYZCR=A MJF(9%O%Y1Q+C49$%YG/%*$Q)9&=DD5NMCR>0&C40)-@B69$@WX<3G1AE=7)) M=D]^'U#W6ZRRXF634UF5DJ@L9R)/N"@IV1B"%30ZI,8JLL1XDUD/F9"@ZH $ M!1+*Y#ETG*C68L.R 90I20&IE9.36JF6R&FY*"E1@+C^^CP+O?/3$_(LB,OI MW"$=F8TP+,"Z\,[Y<:3$EN>[@N7IH4Y,\'.)*%-WR++M(S2;-"0DR6)J\>RL M*BF1^3D%5-"KSRXN+DY4:E0!P7;:,U%I2#Z1R9+\>>>TV^F>;05=5NG;0;8( MCF=KE2V&3$E(4<'"13J1J0W)-@%>M$!YJ[/@"4@^/$SZN<. 0GT*1-7@<^VY-O0Q8L,#]QQJ2V6X MPHYLM.F*$,&/$ 7YZA0(*Q96S28+ZE(E!*!S>HHZ*"('S]>C8<\<3LV>?)J. M!OV>,8,?5\; &%Z;:'IGFK/I+R>[I':8^%"ED?M%/<-HQ8&V:C=IU8/"09:" M@A9V+-^I7VY;K=QBP M%>#I#/[-QG9.IO-GI"@)T;ZH(]I=B)6KF'!9X0#B.N M!:A)I'I$8.H$(.]/I@#R]P#Y&<"\92+Q?QB/!PI=8X!N^D.PU7UXBC!'H ,& MY-MR0Y(=>A+W^BJ!FD#>H7)Q1JX)[JJ!A6N;5#(VN!OU;8]8')T-Z'5NJ+8#U '0PYS!%MW -##/+E,"8LO!9 M,"8(MT@6(ZD&.Z[^-Y\WTIW/@2\_8R%F'].8#4QC:DJD%#$44&N!J@)47I"D M$+2R0B4 =G,!C!-& 66D2+=H5D%SM%$A:'>I?]YCX3/E0(P6ZDVY0]283@GF M/^=B'O'2W9?#JRT_Y"V"7MUZ0_OIPBWS.._1Q8+(E:]BHURM: GBG^H@KEB@ M+8\6XBH0ZQD+V;.SUZ92 OQ%+O !I[:COYT6U.GF50H68WUV6AWKMHO7 ]?$ MS 4;R<>$35<8?F_4--4717.B:H6*0#T[3<]M36,R[ ]OIVAL3M#TSIB8Z)TY MGOX4S'$#ZBV@F8 &VXC"OX9KFZZ@XJ7O+CRV5M4/4*R2LW#AX_1"]<=PXU+L M488A-3$4H];BU&C!>0P=RQ4K(BB(5GOU.5FZ9"GZ0Y.E:/0NP:/MCHU6*:?" ML[[)J#UA7,;SQ4O=Y0B@IW<18/=E=SRM4*( TC/HP:G!=#2Y-8;]_U7A160, M>V@$HVH0; 0T9W>FVFI@#%L0,T&<$$L.CI;:.P>^SIAY+CQ:NM?M EB2NQ"\ M\S1X$_-:KM08U]>CA^$,?"(TGHR&\'RM^V,+639DC\3U208XP?M"&+I9,'PU MAP]FV]P-UT?K+X,60]1T^T6+7X7%L))UKV)D*JQ4MB#DQU:R R?%3?XQW>0Z M*M(V=%9#@Q^UID(-Q^!A?<6,XKE#^JX@T )"35II&HB*I0J!^CD-%'A>]_V9 M=JVE;_;5F/2-JX'<[SDS)^9TAB"I/^NW8.8,/609A"YNB;=D>+.2,]!TJ*-& M@4((/V4,/.:M&E\D?+?FZ'9BC._ZUS#T](%G@Z"H'=0B#JA'%;4++')35A). +9PT_\<1"(#)" M -'&;.R9\^R&H^9LWK4^F%&&3,Y*HB-4H68 ?(I3=\50^AH7T9;42C -_W>SKXAY(<4PW8/VKX:<,V( M386Q9$1YD1-94>E9NLO&"E%.LD0_4OV_EGYH]BCBCV(5:/6EVO3PEK@ :WR\ MS=&&\@*%6'?3MB":1'900#2^A;$%<-^YY:WGV9) XR^D=PD4 OQ>;6EL]%UT MR*>%?%_(;V2]R( ^$KL/N=RE/,',X)P(_1F L9:[I>3"JF%9_EH*3VQXR41@ MYQOKRJMQ+E&RCTV53%>PX\@:HFT5D:YC]!E#4$^UKSI64Q2O:JNG;ZBG\8:& M^03U[+?0R7PN)?J7^MSQU?0OH6&Z3JVBU3M<0/F#-]@J_CBN8JE"1:@2K(L< MU"WM%M J$;S*/FE9]D((0*.M&"BK&#W3Q3O#_!0FW8:Q^@C$8&C%' &2G6K9;L MN1 0.6FCQ3:HE.?E[46L4#L^91P#5V71(/XEE[= 6ZZM8NRK&$$&Y1(W5H@L M(B6*T&SU"+)I7J$3W^*_'_Z0%2^7C&C/?+0(8HY--:&$7(E.I(_YJZ832:[2 M0@1\6_784SVN/5=^\Z>M[83R;TT5(Y=0B4JD@T_55"+!#TF&K2Y4WK'^%3N^ M7H-RP%W'^6>?5"I3B'#)'G?X&1%&$>46RMJ[" QP[&WJ^((^0F>U@I."JI]\ M4ER^".*ST[335W (2IP1VG)J(=]W,3HPT>6A@7U(E2P^[_$!?\SU:\,'M=>< M*X-?7J!DS3GW^_(6P!]W1'Q/W>E%PRX=7_[,O60IJN+NZWB'R\=KJ M1C4]#&*0V^IMK:G+H83^5U8A=.G,_*5 MX)7:O1+A)6FU/>TU5PCRWN^U2E!&M&2E(#4MJ+52$#)'(7<4LF\UYG6"PN4V M>P]*)7&?1D<1M"[FFZA#7JRWH4Z4D"M1C/26QVJ*$>?::D>CL."#:Q$&;>7" MKW%P&4O> %*U6$EP,#5$[ 0'(]H(B*.(>@MJ95"CQ\#="M;=RV$M*5@";&HF MMP.LIJY0C?S @,-/_RGHRO_D%?OOYR-.US I/PK>K=3EV?(R M\$YXZ?<_0-3CY[439I'D"V[;58R#B;: _@@]V$E;^ M")V\EE2 0UVI=J [0*% 2>H*E=2K Y3)P?.Z,D$1XKRI.(W=(X%=&S,;')IK MGPMO;3Q3WO/6,.CT]#W8:1>H0I$"^PARG:8N PAI(B"*-%4DR2)-%X6$_SU- MXB\G.W=A!R\2-V:K^[)!.3TFD(O7A&^PM=6LGC($Y#[HB^5%9?YA 14%C!=:8KP)=!^L2T1F#WV,JT%%\6,J()K GRG07HT@ MW]1K@X@>9Z(6_S"_Y@V_]K! ZNAN]E+'"L6+A#_VJ $7&U:'?91?/>W!6)IN M[L\;FWTHF\F=Z/4QQ?[S4;!^.EK,5D3%(U\,;KC&$G)H+T%Z2O\HS*6]+%D1 M>KGV0.,Q>^D+LI:C(536^CPF?+U1GSS-%#_;UZO\^:+)CWCZ8/V8KV]L !&P*_@]#.AK?WU# MGXE]O<)L2602PTLRD01C4C M,UIA@.<> Q]L0M17BL'DU'RV'-^F[E+=4W$%_J5.=T%<6$78'GND39@0$FWH+(1_OR7I.6$SR"GFUE.!V=)2;<6DKW[:RG%L0 MM9SE^)=+:/C@:7MS"F/>C/G6-[D>X9(1''Z6M86"/:UZ=0H=K.\,UUNU,WP@: M.-G)BO+%I8-WH*@_V'YP,5I,_;GEN8JXQZ:$/5*+2#.H]9$R8@F9D2?$K%?P M0%'MP;C^0NP>PT\SPM8##[O!Q\@OJ=Y9(>\!]MO4BRRAG1GK@ MDG"P^J>.#IN19W'E@#\3$[E)X=TV$&'2*SJ"Y6)?^9RZA'/#@E%$V:I+XIGGL!.$!^1 MTPM&Y>K XCK0,O[;BEJKOBNGRS!>;# 0)N.5NFF=F4[\XCKM)[XNW=V6VVCR M;Q&1R.V=L=W(HX7T[0,9\1)&4]?'CA,W-M6RO[U<6Q6H'&IY<*D(0B$:I)1: MY^8X0 V7;CRT*L5.5F1D)^D ZW\K@W*NZ@D1$$+-@]%M9*CUI1>C!NZ1.N$O./?4G%Q_JPZM_55P&+ MS>3V\Q[1?_ONA"Y78.\?>'#N6$S>*ID/U=\>P-2!D.!C/'>I0HKR>YSPF/6, MN5;U(HDG:1=GCR M\QR@1 ./&^X2WO&>G!@(??31;Z P$G_C^7&I:Y8[T$A!EHVHTPH-R__@UJ@\+9/'<%C!L+ ]9U,% M?V9>+$2_G5P'T^[XK+0YC0.-_B7ACGT,&7= BS(=J%PYS0!84Z@\,S8B 8=!-#,8P6.[,E?WJ10Y0W@:S/6-)1HMP*9SO M-W/1YU%L9@;#!=N>^@>W:/F;72^]:V@\R_0FW?P*95&[MRAK^:6]M4S'A 8IO1#,N" MP7TF_WK,EML/"!8^(W=TN0+Y1XN)- 3E>]Z:4XXWZ0_?##?S-C/BZJ\1"$O' M!7/2#] XAFZ&W.\3UE>%A%3'4 !:X9*M7NW2?4/68R*_1G-E/%TZ=-$I9= _ M=/>$N4#FWJGOQ/%0.F'@A)2L.@:;>'2\*F?;67G60Y&YS/ $DDS(' QQM,\E M5^*\?/\JXH:3'ZFHX$'!U%A^LJVRK\YOA+%&RQR6G!"Y MQ\D2V@6[">^>,J"K/*HY1#RB_SVXO7'3%_@QM<>XVBY;X$_H"UK&,,('WMM^ MCF ^U4-1XQ)+57E,#R0=R_BB "6:P1MP=>%?$P^AB-I!>05)B&Q;^G)<:7L!^@600TC MJY>[C;$HTP'*M-W_ //19YC32/NT>ZWBQL$6B:^5UBKUH[=3Z*]C]3=.7_X? M4$L#!!0 ( /J5 U>"-BT6BQ, .$G 0 5 =VQD;BTR,#(S,#8S,%]C M86PN>&UL[5UM<^*Z%?[>F?X'EW[IG2D))-GL9F?WWB&![#)#@ &VM_VT(VQ! MW!J;RG9>^NLK"1MLL&S)&'PP=^;.W@!Z>\YS)!T=24=??GM;6-H+)J[IV%]K MS8M&3<.V[ABF/?]:\]TZ]8FSG*);.T)$V):EG9/3&..-:W9N+B^:%S<:?5Z4,8]Q]9X85<7 MS?4O#T%YCOU9^W1Y?7G5N+K6/GV^^?CY^EH;/JW3/='FSEU$D^]N46&$!UY?KNH0IV*=ZF*S.OJHWK^K7S8LWUZ@% M360_2U02)G_;21]@:M[=W5WR7]=):4%F2M%KV%1ZFO:%.!8>X9G&R_CLO2_Q MUYIK+I86JYM_]TSP[&OMU3+L.F.@<7O=8$C^.O8HC4Q#'AS;P#:EF_[A.I9I M,'KOD<5J&3]C[+DUC57S8]2-0Z :9"#[0G<6E^SW2Z42.5HI$5X>%NGZ5W

W 62X*?:1KS!7=I#UO@0K!GU@%3&LA]?K2Q-T-2W$-D4>SCA[=<5@42)()!:R'6IN;0R7XH"FUQH M*7AY]W3YOYVW)9L<\H),*:E$9")+9S^4F:66B'BPQ(0JECU??7Q"GD_X$#*8 M\6\*&,#R5P1'+M^(X[IMO2W "6KO,@5;T2< M^,W#-(>Q_M;T6%V-1K/1T.K:NESZ]\.@W^[TQYTV^VL\Z'7;K0G]<-_JM?H/ M'6W\O=.9C!4P<\04L^7HL299S'?BD#C%K#B7EL?+FB%WR@OTW?H M-L?6U%GYY649;'GQ"^X>WU:3$-#]OKS]=W=[> M7=U\:-[<-6X:-Q\BC8XH38O$VX^('I9/_]S1HS@S08I+UU\L>&EUDY(?YI\1 M9[&16%")H])@AQB8?*TU:YKOTG8X2U8'LFK:*S;GSQ[_YUTLX"$XZ0C3#4:O&(K[.ZPW0.V6 8,73( \&&Z?6HY9G,_#&K/FT-*EU2@2;> !IB!MXSCB!T M,P<8<8;35HZ<^ )*/P"B=$CP$IE&X+JC:LTAR9CF$CFK07)>H ';MZ#8=I:8 M>.]#NA)F8UATQR;JO!BQ!@YF/RA-0%W"GT^!U-2VRIB392[\ MXA[L+;T33>II>4Z!,74 ,K98F332P8,*H&>^8*-K>\B>F]0:60F@+^0Q/=,I M$)D# 4 3+&).]!U;SS:HM].> E7R#0=H-K7Q#-,&&ZOC81/TEM6UQ!E.@2O% MU@>$?80Z.$:V'ZFU-/8<_3_L8!(F+K._O/+406, 'T$][YKVMAE1TJFIHU"/SM=MZU.>+BF MP==Q[)#("N-[.NOY"ZR06A0L!.@.CJ0='$EUDZ%ANED]( M62&"9=$!=)%$G>.2O3<33!;1 MX4FTA$Y(&L=\33$WX) KNXB6Q25CI9>\#[$[&F4ZM3-R58'A/!"AF]:"L2A[ M#R,K7Q4(SP<2NBG-=W$BPI#;KTK,4 F2U=#)&-9ELINY-2)."(?-/-L.DG@ M^LB&)-BKXQ#2[FDDI(1#FB(1NPS*H@/HNWYP%@O'SN1O.UF%R)."!K#SM0S# M7+5BB$RC:S^@I>DA*P)'M/V0F3$N@IN;1N/N5-G-";;XBQ@%W))B)_JQ$5Y[ MC1W)G)FZ*;XRE96Q0GSG!"M_W>'+Y=;]X$->&LX.%14A0WB-^$KV&O%X0O_W MU.E/QMK@D?[T-!QUOM-TW7]TM&Z??N[4H%XM3I!.'WN#V02]B:012*:2/RWJ72X\LTMMGE6+1I\Z[M88)=T=A]P!KAJ5"V3NSJT;$% M!% KU\Z>S"$D(24\+3@VHRG>LP)&J(U'I0R+\07;/@[%N+V]WGG3+9]%C64' M;.E_AGBNS%$2/,62I37)J"P&/L#!X\%QZ20= !1:2I$T<6 ?J!U>]JW*_+QF M \M<]]?+H:QM$JQ[/33=E)Y 6B05/-JRA9],6!:H T<[$0948&C&_E1?7\8? M8_)BZMP1S%WUJX:SA-OSX)"EJUGK>YMXD'N6>K6/I3TF7R_ 4!9C:5GZW^6AQV M@';00-?]);+U=_&UNFB2TZ=4&A7T4S\\]F-6YTU/7!TV%? !W.)0C^PA'8SB ME$E5!0DU=M,8P@#>:6=YY$JH#O/[@@9XF+[O MV$[$ID!I]29LA M.5%#-,C9T*$JC>(SBX,*0 M'R[*.Q@5>3\N0I'P.-1-SN-0K?%W[;$W^!WN^PH\;G@\/GP\J#CWWD6_B*0< M8FKJL:A+A-T9:>/5_^GGE7NO\Z8_(WN.1U1LG=D,Z]OC\[$K/_X1+=;F(7%> M3*I5]^\_7!:C:KVR:^ET,986)DF^ #BC4CD*M75.;!^I07_Z@.*:K8)Q"R]. MA GB^#X"\&KLRS6"CN=1QN@4K(93X#S=A#$)E;(H4=->!P75KZ MHT/:CC_U9KX5AK<+5RK=Q1+MV,^*N2O,=Q&2 +CS4?A&=:5(SP'\P,&$!!V< M138,[9)'9!)^:;1E_-MW/>Z0$,2S2^KM.8NJL!84+A:U^$.E^+ZWEL>[CX:) M'>&962NL*GN+(5"-3Y#\Y[M@A(^ 26N%L(2S5 XU:00ZJ(YOQXQJ PFR_ M"B:M)]L9XP+Y!"!PW1'40TH(H2.J 7OH")X."Q?4B4^(26N'3&%GJ3&Y!1-J MD=B?"4*+.(R-P-2T)BGS66J)M"!"K0"UK2^VL=)#9F;F.TM=D)%!J :0CFZY5U*6>I).H2"?7E4-$>!;ZQ MW:9OO6^8>/,U.U>%6=]' B'+8@]HVVI&5FK0 M+P90PXD[@B=.2Z>2(UCXM+'H5(UT 7'YW%'YW, <>62Y33AULY\P,D_EE+!> MH0ATC U^#R=AKUA&0^1+. <5V5,: (_G"&2T"I6_Q\R44 V@ M3U%G.NZ#5\OX^.CR>+*"/4B.;36>)EFZN0J"HSX%D;AE_!8G%*FIJ/A53SB! M/CJ$M;"-EPZ%X7['%A7*A- %&_VE8V,R?Z>]A:8T7_ (3VD_"7/&^USV&'2L M:JNN>F6)$.+5K1%>!I@&,XG7D$3)*ZPRN: ?(,A1H>9QCXV]@]D#P8;P4+(P M_1F0K89=[0F=\E;.=%BC6NP3:K*YU)KGNU.ICZYD9XS*XP.[9==L5DX7\@DA M\RSJGF9)H4._S'@@3'\&.J"&/?.(:KWD 2'Z--R0F%0F2_94Q@JA@/[4/&>@ M NKX,T^AENTC8['[!KQ5;N<-$]UT-Q>GTSQC2?G.0 /RR2#SP"D )6#^O)2[ MJ F)SY%N,?#, Z.'BI?0-EW=M;?9D MCB47/>&&P=3JVJ8V%DKAQW#8XX$26CWML=MO]1^Z]*]U^ 2MW9JT:+I-M1JK M5_M;4/,OM4H&5!#THCW+/':P\56#MIK1HAV,D'?:EU(?C9/)&^]%30"'T LA M/1:U/+<< ,;EBB,7+A"BB--I&F#5H9K0C^?"/<564W MX2*KCJW303RH4^RE.]4XNL>H^/BF;1Y(JQ"=90A3I69X0^KQ5'?+,B]%U G M9J$HOI'4\$(IF2JC97OSK:!Y8LD!5!H5F4F,?'F+^T/1Q(I6J$P!'L3*.W&4 M8>[\,3?U:6.591XAIK]\J/Z@+J)N\"*JA:B]1] JNB78$]^(2(S^ZF MI"\L @PM/_9RF?!9-V%B>,-$IIQC$5KD015O]Z03LSJAM7Y$+EE9LC/$L5P! MN'2D3) ",("600#BWK%ID^3Z?#SMB3*HCJGXMYS2>UAP@YGMI?'0X2)VI/*< M*$OYL17_/I. KXX]GV"R8#(2S-7Q)$)V./SJ@.E3N[QDE#9:R&ZHV6/X_?U:+5IR_!$E+&-?,:@(]C6YJ[G4P6 M!L!A,=IT]HZD-%V;Q*?.6 82 (=PN,_;Y?\&L0+51L+;W9&PUVF-.VS\XZ5J M0;&G,/RQ]K)I;$M'(]^7N"$:/J>9_N9D2@XXG6E'T*(=1AD$T-_A2=M(\LIH;C9XP] MU>GN6CC=16O0@BHT7L<)S'W1GID5)%&0ML1Q==V*]#5!6A8X?5"*$M&H*@4+ MX&(A$4/FJB$C5]4X+6PY <'X43=X(+6^O/.(-\#46$!K\8<&;TYB\!*?']O3 MVC\_WX[,Z_+B4OK Y76[?DHBU T".) MJJ!\=/R];)M(,>>L+$+\,L?8BX^*+]MT?HU4H ;Y"ZJ*(A0L 0"GXQ-7RCPJ M0MN5W:IK(_5L.;[)!FB1^V02EEY\[9L[DZ>P(B[1A^ MKK).=YA0GBV41 !]Z5N()[]:Y*N S'ETZ\!S0G3GJ5#?Z9UP>@BJK)+G-/&@ M0O8S"EL*5X+J7SGY$J".%"]T_*H$OQ2\IF/Q]5 M$*(MQ_N8U>1,KZ-2 :=-@@S<9N(*5.:]3O]K^-M6%GI(V_MT8=[6^=X?B7(*!24,T)C-I]['5M M*C_H6(PS3.B\9_F>\-VV'.4N::^ M-TY>"KR^GYOPZ%!0A!0 #O4Q6#(*$ ?V$4"0IR*8R> [$31 -G_G-6.C]8() MFN.^OY@R;V2@UGQ6< >^YWK(9C$4DKB\^N7I"1;DDF*DBVS,F-@,)U$1;(^ MR6)5D?SE/U^7H?.," UP]/'LZMWEF8,B#_M!-/]XEL2S\Y_._O-O_^=??OG7 M\_/_OAG?.S[VDB6*8LG#=S]^ MN+YV'C_G8)\98K.@!BX,HF\?^/^>V&@.HR^B'UYI\/%L$<>K#Q<7+R\O[UZN MWV$R9\TOKR[^^_/]Q%N@I7L>1#1V(P^=.0S^ Q5_O,>>&POF%)J_/I$P[^#Z M8C.6$H+_=IZ#G?,_G5^]/[^^>O=*_;,,1?[98) <_'4'/J/IZN>??[X07S>@ MK*- TW6![ V\'V\:%(&_OT@_GOWM7QSG%X)#-$8S1XSV(5ZOT,]* M_&U!T.SCV4OH1^=<5)<_7%]RFO]M$C-Q*P\#G:K#Y2D>S M28R];PL<^DQ'!_^3!/'ZS.'C?AD/R]0SQ?/=Z)V'EQ?\^\5^0PA.&(GC8D]6 M] /JA9@F!(W(W(V"?PIUZT7^:(6(^)FA>(N7S,#6=PS6#7]'+J%]%+M!2 V9 ML>\@,-G!9@T_B'MS@H0HV8!!Q!29S5W=<<=@3!O,&J-G%"6(?D(10SD<1C-, ME@+UMJPPZ-$&H9-DQ> YZ]WP+F6]&VZLN>_&+C?A%?^%"? >L>&Y:0^7*X*? M4XM_0/'4?4I"EVR[;)/&/N<*=UQ;6<$F(Q@?PUB=!\\(W_(H*)Y M\!2B'J4HII\(IK2WQ D3,1-]SV..$Q,R6WO8'TF<33+=I>$0D MP+X5-FO0L,'2/GJ*1T]A,$]7-+Z>81KLHX0&/4(@5*S8=ZX7A PWU-IS,NW6 M!LEB83G@XE_;GPTBF7XM@UBLF6S6^LTE@"5Q+B9P4:SK8O;>H[<;S28#,H MQ#S>'6.DHX!D" -UYVS3DTY^HUFV.^B,-77C@632+8X\!I!J^#B@WSICCWHD M&XP9N"1B&V#*G)S)PF6_K]AT&0=^$"8Q[Q&?BNDUHC)>]UX#V\=(-V'HY#UQA%E/NN@RA99I/T?4!-4.>]TSQ0N#,&I^D",13Y7_B 5) I2.1# MES!WB9\7_$F!>(HME%!G_Q$OB(G$"_3BU\N)$OE_DOH 79 ^VDM1=Z[.7Z^\%&0*BS[8:NG[)>O]VCN MAB(DM^:C5[13\363R\[7/6VL'MMTL'[)GG!@[Y985(]S.A8>:_BB)"U,?^VTK(/;+UTW0$0FB#P''I*HK XDXX(SGI\B)5'?)DTR)IDU 4*R5->; M-3(DV[X5-)(E;LF&HHF8#,A-QG2@SNVGP0YMLURE!:RB%",2>6N-VZ*#K;HO MXP M>4 O/<_C]6M!-&*QHLS()0:@^)JQ8^?K\7&63N+*[[MX MVY^\52S&]704U;'2#5:+H?Q*^NCRS_W'SD+D<>JCDK.1SR;D7T1-T=)*V^<4.>Q)DL$(KS$X 2M:X#RWBC M!@-"FE2SZP$UY-G7[5K9X 8D%K5;U3%7;UV'D/2[]^(27S%72[_E[G#YFXUY MF=?_B7/$?+_"%"#E/R%N-$\]M9OU%N;178NUE*.]Q3WR>>+VP5TJIO0.A\A7 M@TZ&L.BN2W4&'X67)7>^B(=8;SH9'Y(IWR0TB!"E/8_MXM/3-[*52@^5S^0J M*"!T\1\)DENM,;R&U@J\Q<6K1ERX.;VE)4S>O5C!ZKNUOMGEMBO;YE;_GF\4 MMW\_)H;24(SD2Q%+^X&7729B'=:ES6O>5&Q;BTT@S9<[1R=NU@I'R R3[;H M("'0J-R^&D"J:(2QA341$FY"9RECI.Y<)(ITG0+7^1L4>8NE2[Z9*;X47*W] M%7 0).I!LBX( .P3H@RAE@')B4*1BQ/(PEL3%A19W<[Y#JK[@B2WMZSQ6 TJYUA MZ\#RBZA:[]]!-#\QY3>K/^%?GS()J/49C>R;4(5H9V8=Z)QF),.K' M- DN4D.JAI27095!5?-GN["'8NB-/57'%^7.57#E;.H,C@ &56E M.+ YA=+,:K7C0E95UB$DQR8[%$@?<(SH/78CNKGH2VQ*/,2V-4\A8GN8FR!D M(\\YU0E55=@?J+N\*'_O[JQ<*;9%JXB4XBB@"?#F7* >V&*5_*'DCANRI%0B MOR<2Z9E$_>"0;%=Y5Y^R[K-!B^TM,_4M(-&NC XW:%%'.XQ8<1-AXC;T5R[A MJ1LLNY.G?A!(-J1YY.9FG7JAH4ME.Y(6+3.^-FH)BR=;[)3U(2U;U_-&WMJ> M_;51 +PO?XHVV0 !;IN-!X9DIUF4O(]H,(]4D6<]4#EIL0,$@BA=.D8)IB3, MOHW42 0;$U?4>WFGA5R*I#-(NGR/HWFL+SW1@>1E2%(0 .3(:ZRT0 J2[.NO M5@[8D*Q2!96D0U$]I>@(DM[FKX2-W5BFLZK/&1=V/ULF0:JG:@ )&?;U4\ES M;$!*42^K'7&=E'5@.P9[RW?XB*Q269"!'NQUJE1!OX5*T M>6NYBH\B5-2PW29J9-S.9B9-(S3'"!XDM M:&'*%^1586P$HPN75_0B_P'S]Z?ROTS93]3U1(V,] !ZR]9YJ+EI:WNVHA.B.(P\,6N8!BCI2RFHP?:%B9(@:P1HJJZT((IB8&P M%FBE@(V)JU1-2#K-JB04G4&:[=-BJ:G[VDOBA7@:15EZIP(J5:/M H$@2E-K MIP93$F9?EVLD@HV)VZVKJW:Z+:F3=09)E^4OG Y>O3#QD7_'&,>OM$KB[(7< MZANI-VMY![)\=/:A4&:0%Q^JI!]:T#X92J+I';KY/-^M.NDS?!-,7"O%\WK1EG M?Y;84V/PP9A7=@S:()4Z#FV1@307\.<$^4M][!]>>?#LAHI+;NH!\_V1!M#Z MZK;]^5Q8UFO1;@@S*JM"%5#I[?C=]^4$@VF=\P*RM' MDWS*:Z]*GRRB+:\ET]W:"^?N8BE_<0WZI:JO0@>BO OP;<'\_GWFMKID/6'& M,)I-8NS)#L/7PA6>-5# V:!NBT-Z0J(08Y67[!LWR.DU:&#W/0>]U' +FJM/ M.TA'$-7\!CU#,H;?V/(A/Y0H^9)GMHM?[.$L3\O+OI7QMJ^C,M9B/>ZE%/RV MN$']@QLGA-__L_FS]#*IQ@TWE4'F#:TS)$-- M40=5"RDEN0)ILR*JL0AQ$[++Q5*F8Z4E5)HQ()G/ERBAB1N.R#":D?3)()YV MDMB+08NO5Q4&&K:!0[?43HS:-*5]VZJY_:3:WTP@N %&%04]E-'N6I41"SBUK^4[-L/CZ(:@0KQH$3J$*Z;QRT6% M@_?L5_&A_*<,KQ)9+R\O[UZ",/3=Z!U;4"X$29MK*-CFQV?$\0?A\HHVY&^^ MTBQ^M< APX>F+Z.?E62'7F-^8:]?X^"_7P[>N@/'B:#/O]I M,KH?]GM3]LMDRO[Y/'B83IS1'?MM=/M?OX[N^X/QY/\Z@[]_&4Y_9WTOPXB6 M2-I(ZST;2K#GR:7H+%>XXSZ1,>5''A0&506ZL(.B[+7[.HSE;7("#AM"6+"6 MQ$N>T/G&W(IF()L=Y.POS@DUE%2FA>-*IH*2=E)6P'8CB<)TEXUC* :=BA6E MHJ#&JC0>7<)0D2:]Y2 =\5[PXGR9#:)GO%:#B@PO8VZ5SPS;)8[$HJ)EM@0. M ,=E6E)DM 1KJ]SN^7Z0COSH!OXPNG570>R&6L[7M#FF%-ZWDT(-!78EXGEI M=13R1_$"$6Z]!"WXA,NO >8[?KUTS-L?4U+7+25E3HU5J3%7G1&-_+PJ5BLB M%? QY?%=.WFH4+?*_.UEOPPU<=:FSF\M ';#=#<,C;VB':RE#FKFPE8WJ@P! M/_[@X2AF^ZQ!*$ _GM'TGL#M]Q"S'=S'LY@D1]]@,"LEB.V\^BC]=QCM[AC' M. SO,.%/B*LCS,1$\CV,2 M/"4Q5]XI?L 1UU3&28;%?,@/0R,:*XWU,)T#\ I;FD!Y'C@,-^ H3\$5%@=( MZ)#2!*GL7PD-P,X/(%XE>7#D)9!+T>HGA.N=B-;_YH8)&BQ7(5XC)& >LWL/ M>-!29]O-^P+@L![*E)L3#UX34L554J!VREKV!F!BW\LF#'2BG@G@M4+P0GP; M"<3HX!41+Z#*F;Y%/P V3AW/"PK"P4L_5> #B%_;$?"90$N^\2P 7@5Z_A\) MC4564+P[A?PIGKJO_)T0;@:,'*;\Z5EA5^03ERL447$L4!EIW*/'8RK%]YU- M"GNQ (YNI"K,HZT,W?V4HEU7 *:( ]A':;)HQ0= *J&9,;<'%=,#,]PZ/A%, M&_J0=7T=4RE^L.(W:(@'KPFI@A](%6H[ S!![&41QG[$FU")PEPYQ8ITG2#G MJ3K%C1&S&1K$:(+(<^"AE/0Q\O \%:M@9[W#T=&PQU2S'X_AE73$)SBJ^(#B M--%XKYYT*C#'%/)/G0FY0A0QC^_]YT.'IP>@]]9_0X&(O?1$GI M]->!>_F^)DQ/$CM@/VP57_VR]=! M%(M[LV3UI)+O![#+NGNG^?6LDE+1RC?K):%*YG&+J2![^,G-A(G2DI&=KW8K M.J42+W&PNX*0NL=>&3N6R5+)QD>7O%O.O=8PL M(WHP1AK.TNMA-,-DZ6:+I+0PJ0[XZ,5)9MAS#DLFU+=7FY0N]=FQLX3HPHYR M4(O:;RXJ/0E@'. MU,JDEH+F'KI&LG@)_4@P^/*'ZTO!9/Z7KU-$EKT0NY'4NY*# A,URD&YZ<< M^0YXV$>ANT9^G[@O?#C^)/.=ZP4A6\+47#5H!*"0T)C/!N1TP/D']+)Y^+J> MY3IH (5\QKS6T6%UNC9X\5$/>OP%TTCOE0NFG I0,M NF'4O4=I=+NM>I:RC MPFZ2!L>\%F*=%K_?N-$W_1$L#3R ];;F 5!L1(>=*";$4+#1"G *"I^"PG_A MH'#K;:(JM%D+;>W@90W^ZLWAFPUSELE( X"!QY8-\2L)F&^[VEY[I!6@NC&X M_5,#R:JI.EC5@V)/U5ORTWO_S!Y5XE@Q7#R&@\OFTRA*F#ZO*X)IT [_#9X^#*8L!^SWIU"]V\@*Q90=\XL9IZM-QFK MM.DQ;9.CWZF!EVA[OP1.7U>KO:!:T0).YLQ ++M7-RNH@N,K*- TN%I;V09& MS-! #PW$!2*">(MI/)KQ)WGTD4,)'("(H9&&E2^EVL!L;3-[$5I#BDI!"NWD M?/28K3ZL,9I-<>R&&8[BC Z_S2%]@8JX7DS_L0B\17K%%YJ@E4O8RO[([WVA M(Y+A6Q5L%P- ".HV4(8N6-!U%.7>?<*D%_G9G0"#5WY6$@U>L]O=Q+&ONKL1 M]ND(0HRXJ8A;DMIY,#\,,\=[-,M*A0)$N:M-I[@?$.3%XI>M#F:42B/\[3N# M$%YN*M(]R.U:K-E ;$)9H+3BOD=[46^>+A4[@M."0X@U-Q6-EB X41;^0 E; MJ<7SN;F.8#)&'@J>N1>0WEWLSE4!O@;M(<2G6_A(#2BT%+*>)*M5NO*Z859U MZ8:;L$;?C5U^]'DE"KHC_YZ?C.9'HH=L<(.F=^_<#1]Z#[=#]M/F91JGWYOV&-P&.\>-?&>#GU-$\/\Y#$4& MFV%9' A\W'SB+9"?\&>K'PE>(1*O^3V$7!8;RK5/W1@W/_+C'BIL;M8UE;5& M+<'$UYN*K_1&B FE=I]H4=)45YEKU!)&R+V!JAI)#TP)[UU"&%?9+,BPNPM> M^4_Z2+RN 8"0? -M+!W2U%#5@6_+-TA)C,BO+O%?7#'J!,]B_J/Z:(=!(P"! M@X8",*7,[GD#F<>CM1)M"P![_Y9FHB6KBZU]$N,E?@I"1*?,@_Y&A7FB<(NO MVES,VP+8N+>Q&G,"8?H'=:%RDX;6@N7F5)6N"#3V!-]>N;.2(J&6?%.)Q/0Q M#N:+>#3[0E&/4A3W9FSB+SPXU49Q;IE1I%ZU!VK='>1Y MXR@ZTYYU<+2I)0=WZ-.P\+!+7+.1(6]/[,YKA^3RFU=G&XH,486;[N@@J_!? M1WG-V6QMMP$B;?TVU;@)D\'F7#]A[/,.FJ91OV^;1LT'?$L)T1QGL_QG!?K8 M#VYDPKU)*-NB4SI)HS=4D^BL:0,PQ2D5B/1M93E)6W-\;_N!E!0O;0JS @,C M66FD:"61E*GH() _B!"9:ZXM*W\'$%F1"G\3>B^CVPF_YDQRB+\BP\N'DI ? M.[Y!GGLR; 8A!U''7@ JK4T,^R=6E,"1PUC(62ISE"8K*//[V\A$Y 9+W M.A12&@-[R=Y(8E+DX>S/7GQ 0],#BFMJ M#4T;PYYGM=(W)1%.K*%NU]MRNTK MZ@"&KXH49&_J-0Q5_=A9J*H4C$J1.\6D3C&I4TSJ%),ZQ:1.,:E33.H4D[(M MNE-,RGY,ZD]V/V\[;^/TSM>?X()>N/?* GOGZ^W>=/R^&2.[ONGX%,\_Q?,; MR_L+1;,DO ]FJA"&65/8_FG+6'Z10$OQ0/Z6S^@I#-([%2F_# C3H'D5VO>7 M5]707G]P,W5&-_?#3[WIQK;O-9EIE[67LEO(8Q0M$LI_-I2)M!< E:"<;*36 7O;4K!TR0##! M$,.50T8#(.[7YDS4X##6#K4RJ:5PJ&2'ZLK/\GNA[R^O?M9<]:D&!K 4.ZE;GBS%ZQN'SYAG<[.D(^0%? MPS86UU)S41C2TLFSOZ&[1GZ?N"]<%>Z9)FBY;MK(8@JGH048$-,!WX6GQ&<\ M-9=W0 "XA<9S] [R@/R0NCBM$MK>&VJMWW=_JV'7,AFW+B%K-BVFYS6-Q%9M M LYX&DBQ2@N'QD;_A5_@P9[4Q?!0(PQZOUIIV\N*M:R>S9)X#$CYD@]Z3S=**P47[A='3P='3P M='3P='3P5(5RJD(QE!C;Q*$&%2A%< !.2&OI%>D 5.' ",BC&9O==6KL-Y@0 M_,)C(^Z*?8G7JN!.HR[>5HU*,]H.)E9%3*@)-M,%PN[3\6@;?8OG"LQ)G\1VR+ MY\[Y1C' /<]#E/V=_S@M,-9\LJDW;@TH),50:X_BHH1ABLC[T37_)CB_N' WHJ.+JBB'#(/F" : MBT /G][\1T0\?I/ICGVWZ>"8XOSQP.+44P9'H+*EC2U.RR 6+C1"M1)MU,,Q M1?I3)\ZHDC0PZV_FF3#<&*),\:;L+XQCNVF;PW5[3+'^?*1U5D>O)5EGT;6[ MX!7YMPN7S!'_M,&X@7AK>SIJB/&R$Y'6TFBI_EX\T4T_H8CA$@ZC&2;+%H_, M_;![O<_]H#<9\'+[K&^GT#G\@OM[YM6BE#E]1#T2"%GH"N^U+?[">215*7$] M@R7YI(X?H#XEET[)I5-RZ2^<7)+/2G5)IMI6UI)-AO242QPU$_/;2SZEY(S8 M^N3RE\H%76/$M3;_C5<7:@5;WQA 8JJUI.NI Q0?D& \8$L<\TH]MC<>I:J* M!\)-;2!331\ $E8'$JV&2-@2'K,-Q(L;-K;30BL Z9V#&6B!+-ARDR@<1SN( MW%B_B6K2#8"D2G?V6:"S\^2R!*/-\!+3,VT$( O20#ZF5,$QO#&B@9^XX6]N MF##-$['7W^/)SRM_$F3N^A[_S6&P][-_<#9_@P'8P' MDZG#/@VG0Q&;RS%P,A0<@0/\\%R?"PCYMVSC08*GA$N*8ZZ_&$/7Y-A&&P=$ M;)8X"OQHJ^8$D0H83"C/1!AE>Y439'D>K2*E/5RD!H=QQ$BO87II='@\_>]L MF@YF 5,6ERY&)+\#JD<(CP]Q)-2G&\W; CAU5*=.&V?#G*I.,GM2R]6=,-4V M ! ',69\#2FV+X23X5;(VM66O9MW8+$2OBF5E?OC-*O.VPM4JO0QC8[WHHA- M%,6/]!&1W'W+*C^:*4.SG@&8=B?ZTHP+W9=:2)',\""?W=A;\/+>PO<)(L^! MA](GK1O,V0WZ!! #;2?[ ]$/4.J].=OIYNI9704.U2F J.EQY5YE )PP3PMB MLDEK-!,?FZT-3?H%$('M9&5HPH,_@Z(<7$- !']MJ0;(52-W=L0YQ()_JX-X< M\>3Y9)'+Q$W32S]=OJ^FER:#3SRW)%)+GP:C3^/>XZ_#V]Z],WRX&XT_BTO6 M.5@^N(-GSG9X^)FE[3O,&8/':(4)SP,76'NSSC[J$DZM>NJ^;I3I-<5AX(OA MA1$HJL95@&#R3GN(*J\]5=%X]&K>742DZ2<]J/VB<[URJ;D.XH:[3<5'IC'Z MF]J5T)9+UNLTJ;C4*6FP*H=;3)@=L_7C@4?BYLJLH &\Y:KW)K+04&'W,L)\ M);])*/.+*,UU15.R4-,&S#WZ>ZX@AN1:ODM2H*(M9JC P*A@,-*[\LV/)2HZ MB+@,(D3FFON7R]\!5"%(A;\):Y31[81?#$ ^ MLHZ[!E3 B15H)L"=W;)\^JAI:JW,H EEI?FDS>+P]NH.QHAAQV^3$/3<,=;E M%/%+".@4;YT8Y/>>^$50GKJVN%5?<&RYL9*TI!B.W8_1,XH2Q#$7$2^&WC^" M>'&;T!@O$1F\>F'";_?B]=3L/W_JOBJ%WZ(G (OD7@90>:VC.0/@:$(?K0CR M4B[T(K^WY);P3_&K,C2L:0' J \F62VA<"28GR\81AY3N,'KBCG*:"N/Q: MOL@E:[&$,?JX+\+8'HI%+F6!4BF2=IT M4"<=%7YNMJP4HUF*=TDYBFJA2\ZVZ^J4G37/SNXCK%-Z]I2>/:5G3^G94WK6 M;,^?Q9,'82 NJ>#UISJ)U+2QN,MO*I4:2DZ)\XX2Y_LN[J?,^2ES?LJ:T0 VL,5!W/B=HGBER1!/Q%:(T?;MH83+3-1%CE[:P9@1U?N']0>6H]=?/F,)SX9NK; M3+0@PGE3QA V;7]FRSP)W)#F:&LC%W6- .PRARAWL +PNXJ9*K'U1CWU M[\)83J/5:L-F@M]%O0,>?N)ON47JK*0*R'("S)R+$MP[8.-C\A0&WI5MU\6>#S8J&'KM[EDR1BF@I]RP:6/M[EEKMVHA"3<7!N$^1 M]VZ.GR\\?K<>6:<"R'[9\C_[P] M*)7L: U1<+;XN[CFF-:ENFN:P0@$F*JE7GQ5VNP&9=P0T6QM>$#ZI)T"%D!T MP53O2D$:.360[S;12L>P+0!I:76N@<_R%D26N3(;?=Q'A*J^ (BTD>(V$+&* M9&"KW'K*AFOFF&Q;@$FW[^63;.D![(YP))MY(L468)V0JO9I156DR*YT,AO? MP5!_.+.N%8#9T$#O2B*J(\FJF+9;\&:",F@'()324%0&1)WJO!JGO.L7GOH* MK^M3A=>?I\)KBE=3%&T04B=H%8!OIM9+@7\'++W'M!?-$=MY]='*)3%WJT>S M?_#"[5[D/^(7Q?:R:>,W4R#6@*8NWD+#9!DPX'4OB1=B"A,9RP?T\CM6[!(; MM'LSI65FY)QJS3JJ63#?\9VJS+K>UYVJS-Y.E=E?J^!)<2>EF==^*G7Z2Y8Z MT7A%4N[SGPJ<9[]]O>U5>9S_]2V4-VV0/2[3'GZ7,8W_U;++;7NT^Y#GKCA^'#IXGS.!@[ MDU][XX'S[X/'R7^P3\41G>V0\*NSMH_VR)F6%N8A/\V0+E=)G!7]5=EN]K+K M808Y\M5$^^%\LY9WH-F_=SHBF!JT;E2O=-=2EWRTZDG($>.!+VWDH;X9C&#$ M$4RN7D^*;+$< L3>-TXPXZ&@F#^OKB^5T[4 $"@Q5=]R"%!#$T!C--;6NDW MX;JWMF4X-(?DSPX>9AEY>QN3*B%]S@/DC^(%(EL'EM:\1=BX%P#;ER[UJC$_ MX-RPNB=;>DM^@JZ;V2CO&\ BU-)L#NA@YLQHL7/^Y2(53K9I_-O_ E!+ P04 M " #ZE0-72U$>JOEJ !:X08 %0 '=L9&XM,C R,S V,S!?;&%B+GAM M;.V]>W/KN)4O^O]4G>^ TW>JLG>5W+UW=R8SW2>34[(M=WR/M^6QW>G)Z;J5 MHDE(8IHB%3[\R*>_6 "?$D&"X .+3JIFTMX2L%Y:ZX>%U\+O__?KWB//-(S< MP/_/KSY__>DK0GT[<%Q_^Y]?)?'F[#^^^M]_^!__\OO_>7;VW^?W-\0)[&1/ M_9C8(;5BZI 7-]Z1Q^!PL'SRA8:AZWGD/'2=+27D\Z>OO_OZT]??D[.S/W 2 MYU;$N@0^X;2^_?IS]L5%2BWP?R#_\.G/]*+9\FWY%6/L?(O[A36!;,3=.J?OK4^AE!+[[)NOD?-5*B)\K< D:P[?.G'>H=SXW[X17^9-3TBG MZG_^_OOOO^'??O6'?R'D]V'@T7NZ(?RC'^*W _W/KR)W?_" *_]L%])-O9!> M&'X#_;_Q:0P:?@\:?OX=:/C_L(]NK"?J?46@Q4_WUU(]O\]II!VX!DIF^69( M%;;@C:=J\(^[JE+NU%4=X M!XX>A*=FBC+WBJC]]39X_L:A+@\\^.,,_N#68?_XRT7 H&3Y%,6A9<<9)2[^ M?WY5]WTW:X#00&L95B6W0COCQ?YLL4/:XAL[8(%^B,^\](?AW3=AL*^75+ + M:K[\B_?4_8?-5*GH$=(H2$*;=OI%R^+++)V+R%H KE/_[*>'#C+_@5,COV3T M_K_?"[XC>M)E.LY<^YL@W',$?K2>BB@NJ=K0%*]_M>F7N9JL'4ZO:Y56UP$S MPJ1$F?S":9MQ1@;']#JF^TC-"N7FLW+*$ST;'#-O.QOG/)5X6 <%^H0SF-!+ M'QG%!O73K_%[85F/8Z^#[W![647"WEX%U*;SH/]*K#"FH?=V3P]!6)?(R5OB M]RN)=L#EA(BA/"&.AY4^&,OU.H.ZH'6Y' ME$K;'P)SRI.[XAT-WO0VV3_1L$;EFB9X_4VF3^9JQ]_C]#*IE+H.)@@2H$@$ MR:E-;:U^':9)FV%VL7J^JFU7;8'8UB:0]W:V@2H#L5"YW[=M! MR 9N/C=^B!F.7@2)'X=O%X$C]\"V7M@=4DGKJG\V=L'LKFJ"]_3>"I,%X6Q( M$)*4%0%>4[GTH_5Z[; $P=VX8I>P9;26M\?NQBV:5AU8TABSZ[:)W--I&7E2 MI3_Q>+]T'&:T*/T/K$M^EMJBOBUV#VW0L.J=-0TQ>V:3N#V],J6YR/X@?+UZ M[4^&GZ>Z?=O!#M_.TBN_5?7*;^?EE=^.ZY6/+\'$7GG!_ER'C\&+WV:%2LN9 M>.2I=K7^6#2;@3?6"#N4+P)IR#*!^,1^>!=$L>7]7_?0.$^2-)Z)-];J6.N0 ME98S\,EZ>8=R2T&=,/*3SGM2_GSNM0[OPN#9]>U6WSQM/A/OE.A9ZY]';6?@ MH3*)A_+1?(:><1C?2P&MER&U)(AY]#5>+ZS3(S^$6/H.IY?52JA]!)'[%*,V M$=#!N6_O;A?X\AV8FB9X74FF3^9.Q]_C="FIE+INQ0D23G&R%9D':BWO9/09VFQ]_C]:Q:33*WJGR)TZ?J1=1V*$&-"'+3X=3JU=XQB:EDIUC2 M#*]7->EUC%GE-CA]K%%275?+B)*,ZJ0[Q1=)&%(_%L>\('[8#"*I.VG?TARO M"ZKH69U>UK?%Z9)*$O><7J;424Z>"/K3G6:(*=R%]I;GG2>1Z]-(/E8?M\+N;+5:59VMT@2SL]4+ MVM/9.%&249W*V59[&F[9H/]C&+S$NXM@?[!\.<+)6F-WOD8MJTY8VQ2S,S8+ MW-,I,^)$4"GZD5RF_9-33%Z[5M^N6[N9)V.#VT55KM7=YT54=0 M)D!ZPEMWV7T_P5U<^KMBGS45^:AKB]<=6S4\OOMYTA"G0[:+V_L.:.J2Z550 M3GQJCX1P4//'..)=O6^F#>;@R>>"CN4'W)HG,@+TX2$<0\M[]IWZ.O_ MH?*)S6D[O![8J-E1'EEMA-/[FD7MFRT*LH33)8SP^)ZW9"[O\'#RK+HYS?'W M>#VM5I/,PRI?XO2L>A%U/2JG1H!<7S_:6-$3YY)$9UO+.@AGHEX<99\47I5^ M\!=^*A4D6&^N7-_R;9?E#8$H,"*I8-FQ*TY?U-$?W+1+/WP>K"6]]N&)C D< M_LK9D(S/@'4T>SE^73U-::.9./-)#=R,IFMG8 M<":>=Z);K??=X"V1J2#K %YX,UQ%3!U77$81C:.6\?VD$6X7K->I['[5%GA= M3R*G=I+)R1D>;H40Z;JFDN.=MIV#_TDT/'7#HX;8O5$F;C^G7.3G%Z7>.8A^ M,0TC>C.YDIER%J?^@XFXN["BW=)WX#^KOR7NL^4Q@:)E?&&%X9OK;_]D>8DL M^U7MBSLN.UF@'*=*'?'&;3?QM5V6[Q#^1XG1@E@QR7@1SLQ(9$]L!AO^ MH 4C$S%_3QE^N79,N=;U1[+;VN*.Z48-RS%I0O)^>MI MXG%T%2$"C62XM@VE]Z)[:E,6_4\>O:5Q<_"U=,$=@RKZ5M+>AO9X(U)):NTD M."5."NH+PNB;C=!I5 Y+*ON4KQ%;GA>\P,-S9!.$Q F2IWB3>,3*NK F__K= MOW_'Q]E__=UO/T&&\?\F/B7??5H0_@0>?'/)",,%]NS3;Q>,5W2@_/Z)I[-9 M]^(Y/H_W3[_[[A./>?CD+Q>!SZ<)/[LQP[$H#O8TY/,(2#<"GP%28L-"=]8N M" N+WM/8O&JG_^'N9^#^EH.L\?1:Q4F4B?U_&.EK2/6I/GQ@XXARUU7WR):-!.==2 ^6ZZQ>#]2/* ,O+E5ET5QB&;6> MN,.U@_;EN%7HAC> NPBOZ]HI#Y(RX6._CW2$C,3VE!:A@$G$3!-P$=F7O MR/B6K4I[[_VKQ &[!!$T%T8'&@8O]TQ/2#E MAPVH \RJV=_B0"2]H4SB>W>[B]>;GQC,\,D!3_AM-@%//"NFSB4]L/'?Y5-Q MUG.YATH_?Z^;F4_*&'>L3V?[ZI@_-E>\J#2A[OKCK1!Q0;B08KDAEY/_*Y64 M<%$)E_4LV)PQ:?,E"K'<4$A,RB)S(F6A#24OZ'^+JMD]D&87> YQ]X

.;G M)".^-6!D0)J! <4H1S7-.,D ^&,0."^N)S-RZ6O<@\FQ'F7(S[[#"\PG$NIZ M7$9HC(@\9$_6-D7EX)K %B*%.=>&" '&4^TAML)XZ-;U?3B"-:J*K0/2 MV#XXS1HU,Z %13;KH%^V--C2!S?P*6E<6:QNZH 7(M7$UE[#S:B+K')1DU:: M6;8>5>MP%646]>'!?DS3I\4#/(%ZEM#D3NRVF(5WBWTM5)]#% M:]KBCMA]V@X\;XHW/9G'[^6<>A#EA MVX;,Q@ZX@Z]=UW($REOC#4,%F;4K,J6DB:#-W_@V/3Q.H:XKU(VM5VIN8!1Z M-6ZJH8^^J@ZGV[%XH^I(OGX;L ;OO0[P3LYV+]UJG7('>:!%=7/#[HUK/;F> M&[LT6OH.KT@+R_GL=X0=B/BMY>I\A^ZX0:&K''KJ]0(HVFDL2(ZF8:>@4+(S4ELCM\ M=]8;G$A6N^-ZTAAW7#;K6'>OM=H2;SRVR-O[8F=*%\<=UK&4/ BZAJ(O3*AS MBC-R4TC;HX_!9DV/PK"^,>I(;!&YAY\"95(W0)J*QY%5+0V*9N:?HVF83DE; M]9P$?;(7SBZ"_9/K6]GE1=??,E7A2J/K\#WEP,\L\=8,3[T(XL:O_K8J YP^ M-;P(.(!.NE&5L28EW@M2<"<5]HL<2M]&!=)G&CX%S5!JT&8EZ]AE1B;3H;HK MUHK0H]@5-\ATT;]2W4ZA'U[@Z"3]T*4*IH&"]LIVD]K <-YQ&\14;<&AOB7N M(&[0KARS-R&GB6&$83SV#@VGY9HOB(-K2!7?A[=$I2VAYO M)"I)W>.$9'%?;O2Q\7NAK4\;;U*,JO -R[U_R'<;@B?/W?(DV,P&_B2_+;]5 MUJ"J@N M$?YP@%HX)_61 M3*XEM-\M5>B'&]"4-5=85)@#J*F+/L;2@NF;J:,K/S6XZ:\V#*CTT:H*(EB# M.\.E>9_:77E9!^1 UJKKR:WYVM:(H:M=YGZ7RRM+%::A:FQE_1)2&5ZX*-BW M+]V@C\,:;22K@7@CK4[( =;_3"_[#;3>9SA<+H+]WHUY'4OQ:HHX@FC+PZ>Y M!^YP4M"V>HI/VAQON*D(K7]>+:>=O2544#=T3&\Z;>T&;2<)ULX7UF=\1;W; MI?0Y7D,?\>*Y(+<@RS@.W:)(YB]@<;;TVEQ8'?&KLUS7 'KDROXZRWW 9OR$HE[9/Q!3ZF8!U+ M15F8_E82IO^+?/YN\6^??LN#D_WY[?>_:X[:J9Z/[AWJ2\=Q84G9\NXLU[GV M+ZR#RR;F)<-+?AJECKCA0%WW2C& UEYX(:.#[-IWYG,6!'@0UR(N'?JFSLD)XJ"&J/!^S<6U7-G=6ZH@[O-5U+X=W M>R^\X=U!=EWWSEB0C ?Y4'VMBK/Y:"2ZIU2?ICQP+(0I+S6@#UJY;LT+7GB# MLD'68=9YTKJ*]:M=1O:)1E!9;!=%-0M<&"NIMN^?R;KACDY5O;M43,4;NS=#=9X#06QJK%8A5[(H[L+OH7U>@LJD? MW@#O)'WONHX%E_R=5\\+7OAYYDT0DHN0LJDCN0DB/!5GI[506+90Q39.D#S% MFX27JN-MC8!$)M)5$%ZF IT:J*5B9D<:R&%#QR(5_.A" #&0:*FA'2^5T,CX MD5J@,5J8"5(@3C)G # 11,8(GT;$)^*H%\<'V6N7B>%4;PRKHX>'"\PV( $P0< M+O-#$DH&K.DT)PR0Z2R/_>,>[X2@5O .KFTU<-/S?@B#=ET< M/^Q@KFJO^85OC=9M,5SJ,J] KA-\Z&A>2X^>FPOI; G2=RP,(2])%< WM&JX"!:#7.U8';K@1AL9VPEL*1\QV5 M9ZS 9%41 =^ZWX0V0+SB5[*"XG)?/P$DC\8!=61I0MA8$GCF6G;'VV%=%N-B[(G*[2NQ+5UFAK@M:[!-[6>$ MO4.N0M8#L.FUURE41KOJ>NW;P9[R:=Z^_=:'O#7NV&W1LARVDJ9X([9-8&W/ M7=]>KFX?5I>$_?6POKF^7#ZR?SP\LO]\6=T^/I#U%?OJR]W]ZH^LW?6?5N3Z MEOU[9>;&_S/U$WK%?O6Z1WQ7K[:70+@MHXBR_W,>K5>).?4HX7;_'M:I%@GH M3 9OV/111O\>/>=)X-P<\XD8TT8;T.E!::W46Z64# W5(/)H'N82>:C M>+U)!6C=5:UOBQL#&S6LYNTU#?'B6+.X^E$8Q;!3F2&6\9W(,92\=$/*@,9F MQ"-0UCZ"'LC-69A'[C.%KQW>W'MC7XNR+PX]L$]<_C8'W\&U]O!2Q=_Y!Q^- ME" %0PFUF#D+ZC7FK+;"'[LU6AU';:D)[GBM$[1OI#[0\-FU83Z=NC4G;RQ: MAU3QP?*L,*N=\&)MM0IQOWB.S^/ET^^^^\1C!CY)D>4A>))LR-\,K\S/C]121+1XFRC1M)Y".Y\ MYE3,@>8=1HI"#:N1J #EM$PUC#[9N7H]4#]J/4W=U!YWK+5J6OLTYW%CO#'8 M+K*N]Q9/<6:D32\%C*?KC]1GI#TQDW?VKN\"82A23FC*2V=.+YEX\*D1&\OO M1^#X\'\#H\,V3;+WN$ 9.8O.93!C\E;6(/G(*!^N-F==-RLRGGT^9L='IPM6BZHNU M+CCU,\\HG'9@7QX%I)(.V[81)8;_=4FG27&V"<]!MTJ>2&I>^1YP-UTFI MG0!GQ!:$D3.3\0ZISY5EERL1;\0_\Y5#(X7]X?1;6ZK;VAAW9#7K6"GR7]L2 M;[2UR*L]= +9-+4RECJ,K2,,JC7IHXD@O"SM9;,T8%G:R988I;D'[G!4T+8< MDPW-\0:FBM#:)R=*M!>$_UFVT8D"[C#7L$8EW57OCA<&=)303I;Y7F'*;$'*"ZI5 MAME:@9E\>FJ+H-C<45U.QQ_4,LT:-W$0!ZA4U.$V;8SLHPZOF-A+W;;OTQB- M.'$A!QXT:3-,I>5,HNY4N]JX*YK-(/)JA.T?>X(H^0!DQ[F4K!R ^I7T4I< M9 D$F\ W$G9L@A%4]4SAIN4T@TH_W"&IK'DY0%L[X0U7==%UG;O,(8_?E,E' MTP M27K]$4PP.0EPOEB5LQI^O^=[80"?GZ)HK DSK1W20%\0W] &%QIUIUNBDX)Y MTYI%4R?<<*:F\\G:F[0'7@A3E+O?$-V8IYA;4QM9;6,1VS58YQNGG4)TAM$Y MGH=.'Y)ML__Q=!7+<.)BD.G1M%C:R$HUN'["-%[GBQ+G=!.$5+1[A'-FJU61&3<#GYG*LD*[LH(Y_M>]7$;W$A3JU%ESEIN8!95VB=PM;)J3U!IG&_M>#5;TE/5C#Z$=,<4]MSXHB=^/:V:%N>3G?@5G@!I@Q['FR*3,0?;R0 M-8J6_0*W$>% )@)"$2[5@H!<^;<6"$>.I>.')TON#$>J93J.[C"WI$4]!6,57"BS(-;57!= MA\[H%^^&0@%@SL/TO&8RU=,U_?S-4"-SF6-MSZW(M14MD[6=5]A6-&P*5MYP M/B%:%7?(P.244<3B,#IR*HC>[94@3C=\FET<'FFI,&S.)Q:/!1YAF$01CT/I MF0W]>&+R9^IN=S#L/]/0VM+;9/]$P_7FY*6]EIQ7@PSN*-:U2SF\N]+ &_?: MFN@&2L:0I!R)8,E+PXM'&DMY%?89S#A##I9V^O@ONE=_)79)1SG5 MY[R[4YDEA+9910%$921F!Z.MBDR;CQG9GS!EFG98.7-*TS^4R#N:D2Y;-9^F MEFWV##<;9*"ZYR[P'#8TKWBE^)8IKFI?W"#:R0*5PKPM5U8$6=86M\\V:EC9/ZAKB-='F\4=RC?)+X*P M$><4YW*^4$BG)%8X:H+;%>OT*7M@^7N\CE)Q>UQQ$YF%V*MYLD3CC-FN6XNIF(JZ7CN'!RV?+N M+->Y]B^L@QM;7F.,M?7!'6]*&I=CK[$#WCA4$UO7;POJ!,B?N3Y)&9B-4%-: M&XE=VT[V"7\E279]H3F.._1''M-=+5&);]7.B&.]LPK:$;"^N);>6C0:^-.9 MH.!$6B]#F<"%>QJSR2!ULB-=C2 @;8P[XIMU+(=W?4N\L=PBKZ[79F1)?O#0 M:+A.I:6A&CHA9>)<4O'?:_]T_?T^\+RK('RQ0MEAX.Y4<$>LIE6.:O%T(8$W MQG45Z5'GA?,A'S*.'^'5ZOKM&F!,4LYFP &Q>.1@Q'&CS[ VK.Z>#4$9+U8-K)_^/O-I,"Y(+@I)93F9FTQ8S?% 0S=P M5GYC)7TDYCRW6$=[E**,P@P/L17&LS7$=+A^'44)=2Z3$/3FEON3Y25TE3XV MS]OA!RDY^,Y.9PA>E8:LE\WZ?\!6+RXL8[0C.[B8:' MS&Z'4[N9A":AE]1N\O-4NM1F"4^J5E( J#92LX,H987& "G!O!FEQGF95!.F MQK?6D$!E_JBS'.OY=^L#+_F]>J6A[4;2:_@Z=&8)5.V64D76&?SM\)UJZD>BXN8R#!E%<7GCZ8V4V]U9;_SC):RO+S)06N2H%$%$"M$Q MX=/H9NP+4*93I*7SUR2*X:>-[BD_PO 8/%JO/S-Y82F.&?(JR.LQ4:?L+M(# M5WTHXH:O :Q5/4BH30XOH VA5,^0_ D0BQ]#>A,/.Y'\M/"/#.&@0BY/7 R] MG8O 0DEJH0.S4)Q92*#2EEO(2.+$98-SE$S_?B"D20HW^O2Q3R5]TJ"#%V]Z M:3,^T(B6AI#&I&U:(<9TZM,TI;VG41RZ-M0!@%8\Z_TQE+]!I$L+.>#TL9#J M2I&4$&+(Z:7.B"M&!?,4A=+I&A? 4)D-,\8"AK"-#].SL+"*P!\+^/#W)1+? M-93K-,U7!T*?=F*SA!]%&RDO&+T? %+59\RMM,DAJ-_2$ X$,IT*E6:DCX'D MQARWU]-QMGA/_Y:XD1O3!QH^NS85MKVG=K#U.16.\^T3X;'8XD:XJ>PN670: MA2=>U)Q,<_W;I+F ,',ZNEQ*BLNEB\K:?%E2 .!45I(*FT(T*8EKZ"8N%S'X &[3,V0MCVHI=L6-D%WT5WT'$/][6YVDUW5WA7?[BN>W$+[" M-Y@A0,ODZ(4]R=-ZA@LV9@\/1NIU&NNZX YY%7TE51E/VN,-<26I!ZG!F#^^ M&1FNO,CB#&2Y"X-GUZ'.^1LLGU_[ZP,-69CYVZ7-@HV-Y[3-O;4(X79Z?=L< MO1W?D0K> .FA2Y^!@$=+QA1.P7S@FSRN_Y'DK$G!>\$&4)]]EL#':0,XK6?X M%0X#QN.&VW"8 =I2PHKK^J9#?#FP-XZ_%5N;X,$'W;=>#MW&+M/TQ&"8)&(D5[O@?T[[2 M1<*!^.#%I%&U'6@Q,!>+G, >?-TQ;3&=G\S!XF%NU1?I/>=Y9[&"'_WG2*3K$K;LCLHG\9 E7ZX86T3M)K MOVA28K(@.1N^KUEF9 1B)K< 5]N2JSU1M&]H& )2 EP]6J\KL7=Q3GW*,DVI MK=IZ88]Q):VKX=W8!7-DJPFN[]*"?I9C, XD94$^I$Q&>;))(:(GTCP=Z_FI MU04,]"8B^4?+]2$/6OL/ED?7&Y8)L90B?H-[WOR%DP-D*A)3*7?&'=?=;% . M;[6>>*.\H_RZ+@]LLED$&\$NW>@01'Q+'78.,J:\#D),?>+C#)W_ALYR(6?TJ""^# MY"G>)-[2MH.$346RW:'K_>%T,:1[;YP!KVD%B/B.7R86&[IXN"+./:UN>]\:;>*[UY'KI!G.\LV*RLYXI>:+4 M)RP5X?$G;M["+!D0RTQ(F;P#K'(PKKV7 _DU!L]@-TX,F3YZ[%9O?DPX.IG[]96$:9FF) ME64FGG[80&VF!F?$4:X_WW5(CRFW;$UV(H!SW-&W17-]?EEOO#-Q#1T&+CM? M;.#E+VJ-NGNG<&YA0J-<[* F$:\O5-I3@^%'#'*5L=(7!Y;I9D/M.#V(])1$ MKD\C&,W$-0(8HXQLQ9U:+XM$XBC7G.*>:GL0T\8^,V^$B,TX3VX!82JH5150W%]%]*#Y3K9B8+T MH,+2%T^1X&,Y+.<$&XWR MCY)BE*X6X *'44PA=,84[]EZQYWUIK5V6/2;6Y1+-%=;-4P[S2FV9:*/M5Z8 M\D'RVN_0VN=J'FK5-!?-8<*0KMC0Z&*@TZXSC&F)_JUA?=1O9I$MDW[XX 9. MI,0*3WP/;8-,64^J+**M@$SQMU[KI&4J, M!"K&-4YNA7ZP(3GG>JK-O;O=Q>O-3Q&MG:RK]\(9[QVUS@^JMG=!?B:U@P+: M YPX7!ILX+I:&M%..:)#X C?)[",QYE.>VY_ B-(P(SS(>L-/-!A9FEB*@-P M@F?!YJSXD7&7=I, ?2<".,%.WQ9Z)=SPIC0:.DQ8LFV41":(+:\ID9G8)/Q> M5U&,I%RBI*XP"2+(N/:?:31$-<35(-[>6Z6J0XB%;*$$/Q\%#6KE%OO2=MM(*G0C@AIGNMJA4FU3NC1=6 M-'30/DJ0LN(O.PAF>8&%A:BPL.#'"TR769C2)DS\'4S?RF45%B0*-O&+%5)A M#P^F3O!J(=Q19Q#&[QL:25F8(6Q*G>B*15%-"0H5\.A$ 3EZ=+?&4;%:U>Z( M\4-#B1[7\3DO,: "MW*-E@D@1#7=,&>4*#5*GQ(M$TYL>J=KZ#&BNRWT)C!X M$4)#APDG+)C60L8R2<-:2-VL!!%D7+F^Y=L#K(4T$YHEA"C81@%*&JC,#E)4 M=!D)6G+6LUT+&=-XQVLAF]Q:_=9")+O,Y^E]]V5QW5U2W8,;0LSVZK:O= GA MQ)/^MLFWI[6H(-^Q[J=3_TUL44H]6R-A*B8>'YAYQ(CZ2O458H@5AE A CI. MN[]MQF095U)BFV$MMTZ%\R*%;<'TR=FMZQG\0XU+^)W.AK5F78: MMHCA?$*[%Z5&Q^>)?*B8T@*]XQ_*Z7$(S,0D("<<$N*2\N^%K"07E@AI,]2L MOFH/Q!:U&>^T15'_^2.,_R,H#G$S^BU@/ P+.T+696+!XYYFJ=YZ">M MO'-S UG[>G,14D?Z;DQ3>]R!V:JI;*NRTAAO:+:+/,R.&Z?-7YGFU(WO-PZK MZWD0AL$+&X@CDOALVDB8+'OB!99/-I;-KYRD-2A]ON]HUQEA\@%5)7*;VN.. MW%9-96/J3"*W7>1A1M4Q(U=O7!U-6^2Q*])]>@/GG.Y"EV7^!\O+\@*)W=KZ MX(YA)8W+<=S8 6\LJXD]4#P'_O:,^WA6)9JS)>N1"O.KQ_BX5L@I%KL'\&*) MX"D.#YJYYCZNVL7:1_&&3VEW4:+Y],@0>)&5""B2*RWF&G1_\((W M2M,/#]D]AP/C;/+6TU40LJPQE6:]X17MX#"VM/*,4D?DL:RL>]WM)GDOQ#&N M+OL@6WL%$P@'4291\#%\A6E$ _#M3'ZH. Y@YB%>BR8Y#FQ#R] M)?43CA+K M=2* ._:[VT+OT#!>+-#08<)#PICN'XQEDH;[!W4G@4U !I@#_A^P\9FE-2#]50PBU@QH?",RH8(O<:SV$-LA?%[L=D3W;J^#T/NJ)8;=YSM;;-' M$$\R0BYJ31?M@A*[#7[*/8O8?<2IZ4VRC&IF!/22'@\=EL3Q^ M!)P)RQ(6X(2K:JE_2M-\(:L3%#]:M:"'@&""W([\+N\ZD7WQU'+T/L;P9X^PMY,6QS5 M-,0>2C+=CA[*.&J%.:"DLO:H$,]($D[3>%R-I1W?>S2U%@3#\RWS5O9G4<+) M=VJV4R[=R/:"* EI2SX[ %GU 371P_)?0R2L3 $"N.JG1=Y91',ZT@[Z>%( M\S<4UN'6\MV_6VDQHG1%$-86?.>.&3NK?K+>I/!H>0_96F%;"<:A:./&AT$M M6$:100CCQ9IAU=,-S?7]C\O;Z_^[?+Q>WY+E[259WZWN^;\>R/J*//YQ12[6 M7^Z6MW^>7706R&QSN-Y"9-M8.Z)! O M"%B(Q#/JLE"0=^=BD4*NRIP%1"-<-C.S%GP61@V;M_0E?=>FRQ>"!Q2.>U+\*N+U>TC M65Y>/Z])IE%/*K4OWIOL_(/+'<$-&9$WU_$7JJFO[!\I=J_)5E(%")M25,013" M9<$6JVU91=N4?R#2LXW8SO8;*)6=P71^4.W&"=UBB(UDP1N9G[6C,"3&6<$] M?:9^0J$F!3R +.?G]UX=Y%$<;"G8EKG@QIJL"^M[_ MI]7M3RN,7MXV0G?H/FL_;QQI5?O.UM,'!'K!2%3DR5B1%\:+9,S,#XG36<-@ MX)];'NSJ/^PHC>^I!Q=LBC7XMA5FYEZ?M;95N4C- V]'4D@3L2=.PAN\[5 MUA]O5&AI,<@9RY0;X>Q*N[H()HC3&@4K8%S2IUCY/+RT,6X0:-:Q'.[U+?$& M=HN\NMYZN3I_).OSF^L?Q:D"4XYY[3.%^"-P35N2]2WQNZ1$NV-_/&J&VQEE MPFKCIKVC3N+1:F5YX$0*5I')+;VJUFT;=?+6<_+7QDTU2=.Y^.UP&V!'7MJT MH35-QC.JHO+W'0SD,6US''EK_&&H> )6TA1W&(YQ6I)[)Z;SI*,IBB!KX[=X MVE;93AKA#KIZG&1A$53]IFYQOBZ:U[:A9?2>3!^^MUWGWA \K?3A;SK PVM2D4"H8)T MTZ1K7YS!J64!"-%.'_I(0CYJ-I25UK>''<4M^E9.6HD:8LWAVWR.4"U9@SKLZ&PW1EA? :'SP=^["S6D>4AN:XP[-- MSW)HRMKB#U1(D]6WQQFRKQ/I5-,X?5O_U$RSM0H4I,_43C[1KW.6O;SHK MWY3OT]>TFXU/#K33GA,EG*K13?2J@C=M&^?RYK-RSQ,]&UST9@:;XFT2#^>J M-X9O"(VG*L)10J'JFKS]K *RK9Z:I/%L0G+02FG5F$0PSQA160Q1>6Y%;K3> ME(I^!YYKOXG_;0M1YCIG X7H-6AW7,%N-KEED[!]*M>AB[8Q%+T(J>/& M9+D-*4V/KHOJ%RPQ1?;T6Y<)HP89W(&K:Q?%Y]MF-IW4UD0W3!J?94,'%).; M1_YBW3VUV7^]-[)T@D-,'80/4JDA2F2]\15^%@X[A\#;RQXIP6 M%9Q8T-,J>5&G[B20UZ/KH9!V93KK*?&L\*@LG9W&7$0V04C"-#JVU,^KU=FQ M^\SBA$904 !,PH_0L;_#_ IJ) 2>MHR= 1.6BR^<,_ $8T!-NX+O4<4%8WD: M!@M=Y*[%G.741.(H)K=AN;'9TB\75K2[\H*7\OM1Y3>CFL"[/S6<(#Z0E>K+ MP'0BA3?%ZZO0(/'&.!-@O2"59]JJ#[,9A25,Y@HI^+SKN:)<"(R%8$ )?X' M_5OB/EN>F'[#ITR<.'1M-L7D#4P %9OZ'F@8O]TQ_6,&YRLFXX'#> LF*77$ M#3_JNI>1IKT77E#I(+MN0&0L%H0SX7Z>L\&"%A/8H0P,--6QX\5/:PHQ361->,85@J?[[>I$^8 MM1XWZ4<.9[P.9:>C9Q"U:"$_B3*$9L,>27'W!SBPQOX2PQFQX& GSW]]\B0$ M)1%(RO+>7$03;RB:L5KZK&+*G'#N_!@*YU]Y V&]*=Y9-'\>Q:312M L8+EL MIO0"*YM5!6(MZ")@:14#;5XJ+ H\U^&3L8K)!W^>]L@0S#;E3?%LH[P'Q@_( M 3WL#VW-XP=Q!R(_B\%A<&6''2\"#GNEH8 OHD3E(S#\0,>&R5AI%E*QQA(' M)M_AQ6+<[+7>DT$$AI;*@:+\H!'ZL0:-<4O#SZF!+34#WQ?NFCVB##V+YY6U MGTT?8/9?>4>9"Y+MOKY]L>(D9/]57!G0H81S.!K .M45ANQ[B=*. &VDT MK%$M+*/<'2^RZ"BA7ZM%C,/X<61*JS3B1\5DIM&CXPNNRIN67:GA1I6>5NKQ M_B]^M.FKT!![A5W? 38.1AB,EM8@8;.M\I( /S;!=#Y0.X:)%N!76%Q=2R\Z MFBD;Y$;6=AO2;3I/36\R*^4XJGUQXU G"U2*#:ETQ(LQW<0?Y/1!A:.X+<5Y MFAVDCY]J@@J4]M)W+ETOB:G3\6115VJX@Z.GE>H'Z4ZD\ 907X6&"*G3I\\6 MA'/GBW@I?WP#M#F#^V.,3NSGFEH;2FQ@_V>P5($ K%)11)' M,3,B/YP=B052UN+ Y"-/N86=U,*K.S,EXZ4O8S,;^S&;A$4G=_-;7\CI21,Y MH UA,;6WY14((@:W0=32CMCCN<>B_#@PX!X7X3=1;06(7S(YL#U7/Z7I2G,> M(_40.-% 06;M"H7Y@%P3RF:J$$ZA[$F9 MH]ZS_XC:7V^#YV\PSIQ]_A]*-:#<"'*E_@\Y]Z M\;33!3BF%<4N/ [PA5J0I8@U7: ^K2=]H0".,FWS;Y%[4U6+BC^)KQ![U)& M@_O49;"W7'\RK_KB^NX^V4O]ZOA[O)Y5JTGF6Y4O<7I7O8BZ_I52([\(>M/. M\D939[*HL%Z;H^+H>\114:=)'A7E+Y%&1:V(VFXDJ!F,BC'4F6A6]%9:+KF1 MO(/;VAAGI*CI6)D\U;;$%T.*\O::5KU5#DL;>P%WWP19^2M/I'($LO\Y&,K/%G^ ;3[X;ZVW@G3@QQ30^N_C!Y9DAM&<=2Y]FV'9P:6R-&I78M!OV5FV//BI/#BFWR-2-(4)_"HZ%.A RT3U M/CKTV:,N9^&#F$9WUAN_U12<6_ZO46T"I](>MZ^V:EHY""]KC-=CVT76'NV! M,DE)PUTS3MQ,9F-*6_-;#F*7S[699/R?HZB9SBOUP!G-GS?/U%)5.R%=6.JF@Z[W+HT=S>%07?$C&:-+% M%@R:+T95O7D!9AK].:&35Y/X:RH?K(A8<'P'F'XTG\+ 4K02RJ<-<:)9NV[R M- 1:S27EJ,@Z6'H!5!'D$8,HQ[=6TF ;+D4H0&*]6;W"925_>Q%2QXV7VY#2 M]/Z^9]G4J4.=;MUQAIBN'?*\H4-?Y.F#CB8]8^@YU\B*NI^F$>B_$P*>N M=>D83%L7Y##708'!4I&,2U&Z>*SDI.$^'>PI5%'@8_X-,(%G M9N3'+II[X/9B!6W+3MS0'*\/JPBMZ\*"-LF)DXRZP7,9$GT;CV>T]9FE%\L/ M:S1VF)TG#W1TH\&7#9[?@#=]UYL'RZ/-YS;JVN'V6JEF94\]:837.^6BZGHD M?V :7D, FF:/8XRL'**,_492@:-#-]QQIZJW0O9^@[<^1V?)1\CB;PP5[)A, M]WOM)Q2:MT;6F\<@MKR4_$6P/X1N1)WUYB+P>:7BZ.>=:^_8B.TE#GV@!RMD M@_;=C@D5K<.5>'7R.(!'88 SU,>SY?$&S##4D:]=CJ.K]J;DCF9;_NF*?0QB M9>^9\(<"N&#PE9V)1EY -N(*X4B42D<.7#P2A(2F D[[9# NVZ;2P,N_7)X< MRW.)X*M<)L*%(JE4)!.+"+G(.B299,8VD) 9MGAWI__A%=D)/,]+)V[K37HM MRJ41I)O18W#IAM2.^3\*$Z3&J;-B'V*(QX;>-BH.\.E20H[Y_?7J@^_6/DA$ MM&QRW@S+&3]B"<'$HS .%R3]I@3W69!-B^7F;%9P!GPN>!/.CV$Y$>S3?Y

T]AR?2:>=$U6O3].I-2V1'6+0+$SWD7* M[BKHK[H7G$C!:D$*9O!WRL[05L-4QA"4&&!8M@V#2P00DG(Q @A6M(/_7_TM M84)X,/3=4V8+UV;I/GRQ])WJ!Z66+2\K#D4;.9 ,:<$*R Q!&#$ #:J>-C@Q MN@L"_TM*Y &/,LY$-('73X\^+/"F\_GW$G&GOQ2"$!6?K*G MXAD%,ZG!O&QGY%EY>T>=Q*/KS5T8'&@8O]TQ;6.6,D%.QLN573HCAN- MNMJA\BZ\8E^\&--9 ^V-Z93\@G &/!G.69B\B"'5^_RMI0ZF6D__I!J]S7"6A[\9)2)G65^XK_-5\KZ.Q V[/;M>U\O"/U:06==] M<](\(\F(F[T$,KFZPQT[@8./"5/PCU;HO%A<@X=@$\.?\O<,5#KA#,%N.N<' M45I[(#^.HBY_KU'%XZ.* ^=3V'09!A8+!I:()'! 6!QKM4(^IW9+#[A&;Q'< MNN >;EL'-[8\]^^P0IB=WCLP@\#!6X=$J=3$.AP\5YS5FOA@]OBVS#B0C 6W M3,;$X,,*IE4W4LV>,L%V@>=<[P]A\"R.?3=F)LT]<.)B!VTKQ>WES?$F)RI" M:\-@1IN4B9O-3J;7=\ ["TD<[(,GUZ/18YC8OT8\PZ)>,3.29RD=^N(,2BT+ M%!<0%#LB3UTZJZ'KRG^B.]>&^^3QSHH)##T\:SF$[MX*7>^-L(2%Q*'E1P>H M..MOR8$&!S@6YEGAEI+GK'_1@Q,XZ6:SY@$?U[P\:5I(LR;>'6ZV<:IOD L= M@HB*5ZJ9&M!0, M4.J($YF[ZZZT1'F#OVQ !]E'VGFZD18/,.ON//)AHYCRI.C>W>[B]>:GB/+% MU>6& >5X>/]C&$2=4YNLTTQQM:*S$A;R'C/$KZK&>5D^W[ZY' #0%\[5?:O-6GA!8W>&FEO!I?SDT5M M@O+$!:AD*&41S&R/F[)7 4.)[["\;9/:CP/2*,#[3,.G +TUY*"\(#[%M8K4 MG*F>6*PA51TV1^[(&3?>3VC] 6;07=CB'46F5-[HG+EF2&J<-(\R1D&MMQ%F MRI/^&FH OJV95&"&LYQ]:SY-:;Z"E:W:VF][!'I+FY,^M=F2G6Z\L\%@ 9'NVX!3*)\R^=OR91 M#$!Q%80=7%^E'V['5]:\[/:MG? ZO;KHVBB/:&=O8FU7KP?J1T8.8#>-[KV6 MZ&>5ZG>T@N("_#S2[ZX*C+B\CGDM?=B,MAS]M#;Z$2R8CZZ,B\\T*9_X0 Y]$1S1\=FTZ\>W6\:PA5]? (T#CJQE5U+1KU)PR ME3@/_"3*X;49CD_:XH0G)0UKTH1J0_2I@43T@YG&+5JE@_P=8V0C^V-(O<9UFTK#-_@,N>S MY25P83-[G' M]G%U>Y'KUK,,#_6C;,?FSGICBGJ/UJMLS%;OA1AVU+6N5.)I[H(0!/N_A]P['@P!V5\S */^]09240&E]OJZJW;@+4>[&X>%S@QR!P M7ES(^%1>E#ANC1.N%+6L?R^BTA3OHG&;P+J>FM&%"6)&V>0C$/G[+.=)Y/HT MBA[HEM]_:7C^H:T/&9J9(RU;0\-H,&<5;-L#1D*7]\+1WXL$$X"$]]=,4W"K=4,>\ MLMXE*&CM@QXAU#70]]"/-=N:BZGE@L#=R8K=*;"7(?>-Y5$+Y8H=-BA&K+>3AB MC79UKEAJAM\9ZX3M[XY E:1DS=QU&$._BQWKQT]='!_R"#9DFS(TNY!\Y?IN M3/ES@]G,MMH:;**8L34D9AEU#0J,D[D+"IQ VR- MOJC\&%H.!2F:7RNL:88[ &1ZE3W\N U>%Y9*JGT[!0AR[S/\[."8FIDIH_9, MO>! G4=J[_S "[9OO!I%Y+/6<9^77RC[6*PWB9+HR&PA+( *#IO46%;K,->NF; MBVU]9AGHP[P_V!;BYAY>'%WU1WCI!EXZ8VR(6ZANKIII@\J=GUOL3FBV<=_M MB<6.5&:)#2,^J]B(%M@>4YS:/HKZ&P:3GR*Z2;P;=R,[4Z38=:Z <:J_&D04 M_>8("C72CP(#"R(X$6"%+/ 'M$&E!OH=#=W ,1'EMT%,HSM1'(I7_DC_;EZE M;^^%.[85M2Z'=4L7O!&M*KBN(W/Z)"6Z$/5LLG\:7KPWJOJ )0M#ZKCQE&RI MVS>MIB9R@WOZ''C/<)^.2W1EV?"P0_UM>-4^."&HD\;EK*"Q ]Z<0$UL_:)O M*762NG)&WVPV8$CIX?( GE]9M+H.);)) M(&AF*)^I/LVC]GA*F3DH^Q1?^U$<!OSUB,[+G3FMR?&U5-L3?G&(O+#87:[.E[BORYHULJ#TE9 M:^S1V*AE-1!KFV*.P6:!]<]GL^'O.HH2_AP )\N/P0P:@=\+_7S^&IK3'(/C MJ)EK*)YB@U(I$(O$<2->?]7([CA WR-#/O@-)/8X:H([_NKT*0==^7N\D58K MY3"CFY%A;5!]'I*G&$:R430!PI-K0LY(G(_-Y!"ZONT>3A2<# _B5+_L-53? MN0W$PRJM3P!WZ(X?1[K8X1AC5/KBQI].&@R5>685DC[U"1N7JU MO82_[8DP1D?16V3)(E"-A"6-F1SKC=C3:MSYE31%'I(-^E4"LJ8=XG!LDE9_ M[ "B,%JD&YQ&-W,G4=%$Q/W)"ETX/W9OQ;2A+%U-,]R1)M.K'&7';?!&F%12 M7=?+"!*@:+ 47%FQQFIOM0WGXX+RFFVGK>;AA@-57CMR1(-EU14]?M@%SJP*!'H)-F']S[3OT]>'%.K2&6U^:N*-S$(M5G^/J01!O[ ^CEO96DN!.-/FY[RLVU%6[RH MT2IQOT,U.>4%'+VF1!!'<+1M0$VO?3=V+8\$21S%EL^70LWNH;L^S19A\@/U MUJN[3_;G01@&+W#[>=%%H<==&"3;W24;*W_>N?8N'5\M+W]O-UKZSD6P/W@NG)&[3"\6 M1/?4IG#G_/QMZ>Q=WX6-]IA]L-P"B 3AE1O9EO=?B14R %KQX/_N\Q?FG#L0 M^.BGF)'8."-Z1@;,460N,B._R3,G"VIO=4#9S6(O)U,37E80<)IK2C)5%R06 MRA+0EKR NB37EQ0*IT\C9BJ37&>2*0U/GU35)EQOL@E"(C0GJ>I$Z$Z^^TRX M]@34G_0BU#_=X1_1'9KOD?TC^(0\L2).PI] C7>4''CI&@*#)KD-GODJ!?F\ M@-_EV]Q#H*$#7A+XJ:-L)JHYB%X[BY(ZRLYA+/%'JD[#D,D!5ZC;PY4:X MSM]2UZ'"=83??"=D//:='DGBT84F9@NF8ASQJT@W])F&UA;6EMU@:=LT8I^S M_P:APP:A*PK'6.@?W>V._8SKS3T\-ECG=L.S0)Q\C63//%$:F#[RI&8L;0=; MM,E%6A!Q>R^3BG"Q>'% .+X8!R07C:2R+0A(!V,##&)P+::J16!."*%B"SE& M-/6>"THHZ3 83F3<."XLQ$J#0PJ."*!B5(-<(T.&NL60BV"_=V.^_4EI*S1T MHX ;&S2LT;8#*.F.%QUTE!A\Z;)@R&8RU#0^3&F2DN8;.@!"]%WP2E<2F89, M+(:%C^P3>##CY'#Y@&1Q@L30=NN^F"6G^5X6L!0TG&Y=)5M$SZ6!!8!,'IQK M5/_8]AMH&6IL(TJ6GD1M%2\S8BB,N$^->"@;<5]OQ.''@R^N#]ROW%?J7.RL M<$OAJ]Q2'+LG!2R+"KZ/3UP/U(\H",(I(XHM-3B!K M'5P(3/X]2P 9K8@X[K/K%#N9*!+5/W*>&E5SX2GB!F,,($=ZC80+5%3FUEIT5 M38-4RIMPYD1P)QE[,6:9N:8?192N&;[SM<,;"M>8*"!\]B^H4B";F:AVQ@FN M>C:H7NY7Z8EXMMU-_C[%8R@\,( 86X M_@&)3PU@# 96KPSJ*8N>]69] +A_#%:O[ .G@PV;:,P/%%HMTH8-4@+S@HAV M-09'BIPE9#J"*4Q%!%OR"QMQ*=E87D1-%169TDHG,!+D!J&< Q8(N:<^?;&\ MSBE$N=?\8*)&Z_:D(>\R+RBH$WR$-($SP98>#*?Y24#S,(YX3./."$!]-E>- MI?MSW3(PQGJX8T(: M#$"Y$TX\Z*9S<<>NK0?R]59U^76]]IX>F.1\P1$6$GDQ2S>[_ &?!%6W)K;E MDR=:N+0S[5KC^!81'$XAK\"VR1.CB30_0;#\1S:6%]W3R'42R_N3Y24,M;G2 M#G_B6P+[C1UP8INZKM47+66M\>8O"C+KXY@@33AMR$H$=?%6O:%W+,?7]IEK MNTVLT/)C:N0V M<+7B1J>X>CIAWN@)1J5IU='#7"&WYR4?7'2CY. $WC#V*, MHQQ_&E!,HGAM0]R!)=>M'%FGK?"&5H.L_;.Q4I2-$5K/-'P*FH-K M5/4\HW&6/JG'% M*7U#X3FFQKF*@9]&JN=:3W L_O0QCVGSS;9$ 'TP-HY^,QCTAAL,1A[AVI]0 M'$P3<3K:I['A88W/,Z%>S4T1K6(%J66:IM01=URIZUX.N/9>>".Q@^RZCBU8 M\-(_)28+DBZ7CCO[4Q@#)S !1PDC8UXU_\XT?&L)Y?9>N.-846OYG/&D"]X( M5A5\L-EDSL+TPLUTFO,1F4$6BC16HG8W(\TUA#N$[NQ"=L10-9(;CZ7F8WH% MKCD6S:QP3:WEY"M=]_!DQ'KS4T1YWK3<,)A>VG:R3SS8TU_NX2G+O_-S"2U) M1G^JN!%L(*O)5M4T2.)%Q*$4&VAUCHMP%FS.F!!B'WA!+)"#E 0A94E,YT)8 M#"@R)?+!]>$A7V8DUR?T;XE[X+4J8 [(6^P"CWVU/X103Y;RBW<^C3_^@ W= MZJVF\1M("D6^.BBT4A&*EO M@:.)MEMG =.(TMU@<\:(CF PRZ@?/[R-3-[&U%A,;933 F0AG!?U7V_R0O]W M0>0"VJS$?: GCTT$I?N,0]&>+2QTMZ B@*@3GB74:*@W8LZ12P-G9HMG03*! MR"^%2&3E)WN^3!*DZ83F"2S>RO0 *ZK5>[9$VQXT[;7J>EA$X;8L7?5HE[GE%MJ!L.AD8 M45,<1[Y^IC#)H,XR+:!X4BQ-]MB/!AG<(:MK%_E1DW8:>$-<6Y/!#J=D/,DR M*ZZ)I,N-869U:)!4(RYF,-K9T)H(;6?1L(IN=S!E5-/48:#YC M#%$ZS@ FM QZ/&G$6LC+@L3GCRREKZ?H0'8]&=R8HFL7Y6REA@9>7-'69+QL M)>.:OE&6,L:7KXQK'2F^.)EY0KWJ96,F*NJPTID(;E#1LXEBHC(K0-'48ZQ$ M!1&8&++,:$ B*8-X4B0VN_<>'=FEO37.F%?4,J]X*&^*O-2A@N#:APKWW/." MS4DQP_3]EJ_)ZI4?=(Y(E#R)KUS?#O9TVN*&(]K@*!."(L]YU8I1ME.:BQF. MJ.E]Z6$>(RNW%U:TN_*"EUS'I1V[S^HW\+OTQPE:VI8HYRC*G?&F)]U5T'5Z MX$2 5;E6<\%MHFOZK5G)Q 8Y6*Y#-D%(+#X"1*1\GP6*VZ;OA64'M4ZNZ1FY MR5+%QKOT/3"E26.I,6YD:-91OOJ1M<0;\RWR#K:2D5%&L%0Q@I+\C;P-0PH" M?G.525E"$;=SC M7EW6%4:T@Q0)*L>DC.# T;GS]1,\SDN=:Y_-(7=,6WH5A-V*>_2CB!LQ!K!6 MI>JY/CF\V#*$4MJSY9/+"R3C#TER)@'/HH_7$,PB$0JK)PFC^OYXX4A+BZ'6)2NU!3.& MA'$TO71AQBI8WJ++H3/35IQV<6@(U^TBV_+^3*U08KI>!'$C1G];M;U4IT8- M+YH,H%._8^HUK]?E_ N(R5['9C*(*YL@!0$QT+Q>-Y'5*G8 <$"+00QQ;^EK M_/A"O6?Z)?#CG6R5M >Y=X _#7;JC#XUM&:./4T:38,\D-V "$3(0(00>'%G M#(LQ!/@M9J !:'U\"7J:K:#R/F#ER"HZ:)*2F#^('"LR'78 9X8= 6K$&,H\ M+(+_#3U0,)ZRUX-TZ+PCL"A;1ALN@,@[ 8R**E-#!C#'#QJ#F(C%\^^PP\85 M,_0 !DO)O!_0*-M%%S. QON C(HF$R,&\$8/&(,8B 7ROP]W3%U5?%[D60(% MO0CA!(/^MLG/O6M107XDOI]._4_+>YS_;R*2^-GU#>J42M.4=C$\,(/>B1AR$D4WY;.Y;MPUL3=\R*CEN_# MV]>,C1LX$7G943__/OO0"N%R["$(061^_YG(5NAR MC)]*DP*6IK.F0G4=:&Z@A1M;>EE(.161$<*++/W4&3-)*3,G@GN*,(9>V3%G MJA_(]?Z0Q/S(LKC)8?I>E=81Y$X$<,-)=UNT%<>>V^%C#1V&+6Q?.7B\P'#R M>'J38($!K=/&6H3F!PO=3Q=WIS(OF!CY7*RLZC[:,\0&;(3B['"CWNIGAC7( MS!A%%,\(=Z4Q4P09XX2K"GX@.@D\N7U,G0!N4[3YY*]Z[WF#0\-)7\6N\X6" MH8ZNJB* T?.\4QG#U#E>)?T:SN]VZ?\.0EYV7E>Y\\S#?I##I]T"W]BIW.D, M8NHTKHJ&#:=P.W2??^C+3MVJ]IUWX ]R5*A3W!L[6SN9.88]4]LF=NM9VJX$ M<(:TOBWRL[.=>B,_,ZNGB[&SLM57'^. /%%1M?2?!V:['9B=]G>7O8F,ZWSL MM#9!B#'>T4MY:H'N M;.JTAL%S)O62;J"4[T7@QZ'[E, T]XXI]6@]>;()1$L7W$"@HF\Y[IO:XPUS M):EUG3R*YVU DEMK3Y>OKNS D[0Q;M]MUK%2 M/+ZV)5Y_;9%7_Y!>1E;X)Q!FN2@CC<1'+P,X1:ALE+SYW/RTJF>SIXJV<_+5 M(XF']59!7,=?);M)_Y58GKMQV>A@1;MUR-"Z?Z*U&TD= M^N)T42T+Y-M'JAV1[QQU5D/7HW-&A#]2%X0DXT5*S,@O@MTH:P/2;91_)",T M;YX@L\1P2"?)@N7PUM8!,:8IZ9H#66-KY.BE)OL(DQL3*/4>E6U&(T,:(UI[ M@5?KO0!>:[UA7U_'="^;QW8B@!.\]&VAL$I3TQOOO$)#A^'CON!&?@%^A#,T MLVLSH4%6^X,7O%%*SJG/N(H)F)&-8!G\6:_N/MDO^?&F\I?1'0TSZ=F?-I5N MZ Q#>98HHF,]!7CI0G9VN*.EW." M""I'$0(4FD1$<:?9+(L2"H-)K":U(J9 MJ6B&9G;9G%9$+#@#":RL+84CCG:P/U _$L?/G_X]:,8##Z4NWP< M?5Z6FB/\8L7VSO6WY>\?:/CLVF I-W ZI(U=:.*$MD$MUC8!5"8XSSEB=_5T M0U&0@1B+!-V(4,_=ND\>/_M\L,+8M=T#G"=V?>*D\%>)UP-C/>W)8N-6:Q@& M,B%()D6ET8*D@A A"9IIZW2VRPQPJ#/ M&"]W-+U)AON@Q%]7W!=;[,^ M>%VE^/X 6Z*? >Q9BFPJEP4[:/]C66YPW![8?,LX?4V=)>6(5AR:+)!.6-8; M_F6W&5$GNC@Q?G#+*:PUJ!.=W4J#AFH&H"J5!."*M\"TRF# @B=3E46V[!"2 M?69!NV+!0V%!WJ+_^H)![!O\!WK':#6'?M,X&6TW]]4OE53 ["8 M[SN)&XSEG2;L\_M_FG/X2?]H-CW:M N/!A[V :VWTY0)6(R31ZC6F?@0;GS=NU'':+"U%-"C M1E<]1DA0&$LB>))?"JYDY;-L-N3)+*I3CD8M--S4]#:!8]OKS9^LT(6[P=?I M5?>5'[OQ6UUNUMH#9^AWT#:?$S8W1S[-4Q1>_S+D@5'C%>;B'1R2V03AWLIR M8M@Q@]$O#HC/Y8 UE^=4$D)!!)=&TYZ>&=D@M[F>&0.2<2""Q?3SJ.E4OEX- ME]Q$85Q*;-B_BJ2&_>,O#!FCP',=[FS\>'E-)8'&AC@1JETW "9Y*WQ)AH*L MNJY7(2LN00Q=.*"S&]86"VAI.B=7/"T2T-1N+NXX4'& 6H?4KPW0>]J7O^+Y M0+>\:F+MK=KVUC@=5%'+VA>SJTWQN:FJP+J>6CQ)FQ$VCU-Q.%%$!X" M)@>]A0/%6VGY#I7VN&.Q5=-R-$H;XXW'=I'UQXZ4\H(PVF\W:(JQP-X\BZXW8 ZO8H6R!ILJ=FJ3FA"'=[".'$#4Z\%37D-(F(C<%DWO^CA.;A'.@R?''W\(*V4U+^:2N M-'!'MI9%RI'>B0#>R-=3HW_.G+);B#&/E#CRY5KS]90,&\;,ZIC/IP,_N_'N M(HGB8$_#U3<.Z]OB'>5;)=;U4D[X MC%-&,K!/JNI4AUR_6'\-PFQ^(#MG7=L(9]0UZY0=:3UM@2_"6N34GAFFU"8^ M3 U/:4$%I)(^TM/436WQ>EVKAIGS21OB],%VT;89M,C^5!H?;>8)!37X MLZ8_TF ;6H>=:UN>9*&CJ2U.R%#2,)MY2AOBG'FVBZL]'I4(3KP0DI[**DL@ M70AI:HO8'=LTS-U1UA"I.[:*.XP[#G0B(Z+VU]O@F?U:B1^';\(GTW\4+IE^ M\!U4=O"LXE-\;E0CF_8X>GO]N+HD#X_+Q]7#I*G!@$HP5Z=1 M[-HF]A^STCE\E(FN_9]9^.U$W1QQL?SDX:1N/7'&C(;VY0U*A6[XHDY'^/X5 MDP07>%SN!?BD):)(QLG(%N:T%HB.+$"%!8)Z"TQU#!=*OXMR@_=N]&O394UI M8]RAW:SCT8':FI9X [A%WAZ'90NR!.B:O!%YHN3YVSGU[=W>"G]MOBO1UFUF M;BO1N]&!C_K,R)5ED@_HU#D#L_<@CO3.A&J[_]#6;6[>7:]WLW=7^\S)NR62 MC^/=!N\T/%@>C>[I,_43>DN;CS3*VN+VY$8-*[=9ZQKB]=EF^L M7\Z?J)()EP:*4-1=16KT5M6^N+VWDP6JQ4D4.N+U[F[B]_5V7FVD_@Y:>R1, M,Q5&:!"$B)"N>>T,:UI@#S=EC,J/6;FOZ?: M-J\QY\UGY+\U0@_NOP97+;(!X43OYDK6K;V0>[*:UA5O;NZ"V*,5!>]]EZ=N M,\5HF6MSBIN(Y.(H4;=85NF'.YJ5-2_'6;1VVO!OE MFN\U3*3A<"AQ$T1+?TL]&EW2@Q7&X)SKS<]0 6KI.W?!BV3OIG-GQ&C2V08Y MPBCW1(XZW?70=67&B:2L2,$+SO1Q;L3R'<+YF4&H?S1#-*,90FL,AWR70;AW M6>.W91+O@M"-W_C9U5OZ\N= LAW5I1]BO.NB>0YU*IV0HUPG%?0O'J1,2,[E MC+,AC \!1F:0[1]!^68T0V*!H6Y?1?$A%.LV\%?I*B#[UU\NED<6*#[%"4Q' M4O.+?.(C?.LDQX)I+_ M;ZZOUO>WU\M)@V$P\2W/W02A[UJ3N/3MG^OTX)\B M=NE"ZMRE;_^,U*5+@FE?T5G]3/Z\OO\_TSOT$,(/A-"#[/3>M#QPT]@!9T"H MZ]JXS7N#_YT:!9F'O%)T8_CUF4G511&==S2$#ZPM_:QJDVJ7F45HC;Z-,5IJ M/Z,HK9-Z.,==D((^CC =3]\0<.F#%1&+' 23CR;B]D^6EW"!EIX7O%A,PJ9; MN?+6N*.U1O0C>\4=Q% M>.TEXY0'84S21[47I-WC^^G^O=#=IUMXI[LIKJU2_,@WDP#+R9H:S+@Z+<@IZBQ(->^'5+6A7RXI.*O MCPLBA$"2$HQLJ<( 3F8 *!+UC ->?O)#:@=;W_T[-\ Y]>G&C2,F=+!GTYK7 M.^I;'A2P7?H.?Y"=1O'2ML.$.LNGB-^RDQAZ&,JX06A ZY5Q:0"R>*%J2.6T MRTF69.!@E4G!\8K)P3_,)>%'?3)92"H,^243Q\SY>HAC$*T4-8_].=KO4D7AS8!"%)6!"$L<7RLIB9ZA!$+J1F1HIVWM)8&. F MB*+EL^5ZL +\&,!30H'_$ ?VK[O Q('1 A RA*PR:.0P71:9=9H;FHT#XR&&WW.KQLQH_)>D*9B%3U\X23> ZI4%9D22SCG4> CB"UO&/@8SCH5T"!GY*E&>V3@ MD6+G4!C\C@#DR#*]4I3W "+'JAA(29 #R9 6.H82I]8"DX )7S?G=Z>\5.>= MQ2R]C./0?4IB80W^&4-2ZMQ9;]!X&8:P>L^?\>XS):O-AMK\2BIO>0:$')(*1\K2C8%ASS1\ M"IIG4PC,6MC(R/AR&*PLA:X-\T_QI?5BA4Y$/K@^B;C(1F9C M#_:..HE'UYNE'[N9_ _43D+^JN3JU?82ASJBV.;^D(B+INO-R@I]U]]&=S3D MUFTZ8CHX$]S8.(Y-*Z7@!^6 %S-'TE,WT#-Q(-3+ I%"(I*)E-6)S86"3IE8 M<"9> *K)X[<];7K^5D^@H<[LN!QQH\($UBY#Q(CL\.+%%$KK@H<,,,S5V:U7 M]M;:-Q?;5>@VQT@\U;L]G(H^TX8(9Y@_\VV^ :#IT[=IYLWDBORTT2UL<62C<6UO&.AI=N9'M!E,#B M7?-YH^Y4< >IIE7*L=B1!-Z0TU5$>^WV)$CR3;D%X5Q)P=;TR:&IC5.!G2B' MG1DF!(TWUX:BC1ME!K7@@'D ]HMOPZIG. ,P>C$.H24+4".T8DF[:DF:6?+ M+,FWZR0;=[__IM"<)5N__N%?LD]2 ?[P_P-02P,$% @ ^I4#5_HB)H.: M2 /CL% !4 !W;&1N+3(P,C,P-C,P7W!R92YX;6SM?5MSXSB:Y?M$['_0 MYCYL=<1FI6_I3%=TSX1LR2[%V)):4E9US4L&34$2NRA2#9).NW_] KQ(I$C< M2) $(<=RQMW3-8 LPMWM#*?W M!""T;+MW"ZWE&O1ZYV<_7_Y\]O--[^/'_PR+N#4\E,5U>F%9%S^?)W^XBTMS MG5]Z7S]=?KHXN[CL??WEZLLOEY>]Z5.2[ E5;&4QTMF6\^.CR3)7W/I8YO.;VYN/H5_W2=%!5F4HO=F_^=_]'I_A:X-9F#5"XOX MQ7_;@;]]\*SMSL:?#G^W@6#UMP\_[*7S$>-_=GUYA@WY/X-8&\E_^\YRZ/B6 M_S9R5B[1/'%% M[EQG"1RD8O2#Y]K6$LOVUK Q?O,- +['::%0B4H:.C4@2K%M[FWWAYR^@%!R)SU%+H.^M&,F! VDU5<.R:^ "< 98Q),K91 M[7FP0^DQ;H9];SEHQ+ ,>]](!H9O"!O$4V0;I@[ LS]YMJUUU"2$[9VOY8=-$?=)O!K2,9QN-OCZ P//#F:A5PB3>8EMI56 = M3[0?@+N&QFZ#YUTE9NXB);9A:#2'6ABO)0C,Y&VC\D,#.FCT\*8 SC=H@CS< MB1M16$8[K2P<"@'J;4LUIDSN=D:B9P_\*T B'[Z4FA7D"U!S5C=%<]%2)(D4 MW>84:($[XO(3H22[FM.ADL;Q%ZS U*BDC812VILFE;0CFUG)^4-9%?*6J\AP M7-),2DEJ#@DQ+RDB!L W++N.,8+R+37!N4=I#?L/8$"O/E2*/J(F''<0+"V_ MOX8@'#K0!Z/AQ%G7AP['-]N<<,AK/APEMFGH W 0-[9$0RDEJCG_FJ'%/;1, M'RSQ]FU9\TM_1TU0\/[]+A[9P]D+WMDNQ .P@P#EC#O2_M:%?MRO#E]W^"RB7<#W'J#K>4CW M0;1KC#@.MJ@;0KU\NC'4AZ"\JG4.^K05:&%FNV9E9X-)!Y=TKCD M+;P]\^/=.F<=_?/)\ ,8C@635?@;"6NE\A]2!I9PI]I")!*KL] MXZ-),:A;$>*?4002J6K@*EE=OZLA*M1] ^ 6S;-6EC]%HW-I64CXHKI D7Y? M+UC,KRIY/"WO0*;*I]2$)MFGF*P.!VWUH4/]FIH Q0G"W9JZ97/T%24!04F- M]1J":,T_6<5'=[5!P_J>DB"1;*D+)-;WE 0)K MRK\9=A"=?]EH*6=4F/WQ%=JRN=]072"JBH/^-8VW@4MWJMSEMFST_L=XDR*> M:$HPFU6R(FYS>,\_\"MU@)RE*F)P'\V*EY8=^-8+ZIO,>"$JT7;&!^J" 1?H MH1+#TCQ@_KQV7SX!U<<_A!B%^(P ;V!RYHCLNR(.LS-Z#;[8"JGJ@UTE!Z1\-9]F+2NV5N_&% M;<0?/-U=G%U\/=4L+H0^S]32@ MF12-?LQI(XM]G.+3+HR\\-'<6/:>\A5TMSETXB^YG!5V(>JK__;A_$,O\% ] MW%UTY-0,RG\/#.@#:+_-P,Z%Q[134G8*>YZZQS1( MX*I\S,1E*TQ$GD1#9SE HQ^%ADRZC!G79U=GES?J4S 5:,$1,/BO66# M<;!]!K ^^,DG8"=J](QXI];0'P&UA:NN>./C6V1XHN2=0AYCHK'Z%^W@#[> MAX"H)SSL\=]AOU'X=N[=$1C]%2-\A M>D0LB(GYV@(Q_>42P>;%_T&+/G!.)*4@;8<(X:U]3,:-$F1<")!QT6DRBFN? MK._.VF/C#OTX@0OWA\/BXI"R>TPPZI[PT.Q".U/#J>OYAOT_UHXZNA/L0&(26D?YS M)V!G5CB!N=E5-H[;;$\WKD->91\GZ03<7)5.(&]VF1V?,KZ=7SPO\ E! >3' M2;*U/[\Z._^B'N1Q +X+(#8NVE+'*D&X!1YQ,E.^44\9]JDZ M1 *[W@GV;:R#YUO#MF\#SW+08H2(?295A[!GUSO!OHTE[W +X!KUE@_0_>%O M#E'DBSDH3-TA+OCKGW#2['HW5LP&V#:+BG2BK 47R((K51E@5CL!OHUS9GQG M"Q\YN>:?H6>H-PE\_-P/GF23)TZ43!TB1MB,A*AFU\WQ_.$0SY'LE$%*V@E2 MA"J?4-'L>CIQ'8GJ&#F0W*/?%0WAQ+2=($.L]@D;S:ZYLW7$BN'C8I^R@TS0 MZY[PT,KB&^#;4?;(68+7_P;D4?PH72,]A>8'W<6T8N_AVCNU[R6\. M^HM_\3UU,7L?PBZY2$?PIN?+4K[AE#$CCJE77.'B1%EY7B)Y7K;2H$08P.U, MP!JB;SXR;P70O"VZ@D2I?EAW.W5#I6%&X]DE%[%':57A5X O$LD\EDGBVC^^ MY-48X3BL5=\)HUSC&,(OA@UP2!+_SH#P#:WM\.7FX]634%XU!<'#;5X7Y0VN M02<[M,S ITRA_V2SHLE&1R\^HZ"FU4D4_ 82;PO)$,%YXT-%] "GAY_C1$WA MV09CX-.U0,NBDR2$[23>7I*AC M!9>1OW^/??,>/Q&$,?K=\I'+/=[=H18)! MPCTBFM[[,##CX!]A.A<>S)_AJ_*.L0;]%:KC/D[&O0NC&+:/KN<52Z?)3^L@ MP=;Q(MX#ZV0G-_$W( 6.Q^SBR!ET4%=)*XDWU3JIB2D$.\-:QD%@\)-)&(T, MG 1Q<.34225ES25>K>O*HHI'"Q08KJ[.+MIQEY4R^6$:1KR/)\CO<921!GL M=P>@_X:#EX8Q/U*O[Z0#PLZL]<:?K+YYT>L3T8AZ>-F#\B /L0.I^\-J*E&X MXVD%)KW6=\ES/P0I)G_60C!48VI=G%TU/J/-A"\_:@&D22TMCQ8"$+>PUG5. MXZJ@/)DT)LJ"GDD+790P4:_%3FK*/G8=D[WV/4ZKA0SX+>O\VF405W,?[)35 M"Y S:$&]H'FRUC9J# N1K=05K!8D4TPAQBCIRF(U]1(+6L2$'KSX<5@D,+PL M\M\8I_R\V57105G'CDIV2EKYM>+RD3*\R\]WMIM-G 7FN=MG-*8F1\>6LXY\?,/(\;&;<(3(&UTIY0O43DJ2H9"T6?D"X+.KP@JD MR)6!4V0\6;634VFC]?+;&+L^X)NW%*343A2\-NJU=9D^Z>/L,FA9M%.%L+&= MW]O,GO)P:H*>23M5E#!7KSU/[N7.":QSQ!8X'=XC=9WU L!M>J DL5Z05&'> MI>Q[\9I0C*R)7%[5HWJ92Q7F?_&G[=,/-IKIQR]DM:M2JS MW1$Z&J20Y?.Y*,R@NU[$#*]U:=OF')4].=5<""Q+9:U:6YN<90L"\<7!,?G;E/.9:"D+8LV^>XO MEU94ZZEA+4?.G;&ST%PE93[)7X.943M-E#2YABV*IB.VX%O]8#DTH(-F1%[F MEMO*,BUR^!961NTT4M+D&@[0VYY*G\M$\NS]E/G87SZ\1_9L*[@7*RPD M1]9L _G:6O]0.@IH61N[[Q.>"@@U<(-G?Q78>308?N(B9:@BEI-QLHJ>FT"]?[B(3Z((#2S/M%TO0']B]$<52U5%?V6[JCK, M[_R%ABPH"(8)#/%=AG!, 0SQX1(4*;,JNJE3!RRU"6&CI4A59%AV:B[=]LX?4Z40$9R4<^1412ZUT4]5V G/Q7-O5S(G MXI0T![3:UPX*CD7EVLR>M M^[]ZDQ5^$1N"#4ICO8 H$B'G<>L%[\.)\P7ZS]-PO)CW)O?H3T_3V?!7E&[T MV[ W&J-_#U4]Y M,%Z)GEG"):G2DS 8RSICR;&R\P>O=ZZ'UI/)[.70?V^0V3M4QLS=UV?\D]?A.+M3M. M3*\*[P*#N9@M;6]E$WKW<&Q"W=$,A/(*A3M:K$Z"GE@W!0A8 MV?; 4)E^\5?_>-^A^W)V=79QT6DAB)K:^4MWX;IF#FQ4YOH!. @]&]N]W%J. MA9'SK1<08TD:&?A+T$TM54VO(2A0R^L)WG6$=DK@,K#SH8#V9D;K+OP6.XOQ M0TI5."^S9F18(6L8:(W8L>NX65N35[/I&P3,?!TDO9Q-G>_+1P[Z-O#\C,EI M+,B+0YZLJ@BA&LMYM92V72\?MW J1,24-G4D9M)5,26L[OS!@J@R3DX4I?30 MW8.(PWPJ\:RPG "9'D^X7,>[!2L7@OVKI\ ;OB(\D>&68\"W$1K&PY"K^*S. M#1=@24=,'*-J^Z(JFA28XS2-1N=7/GL@XF9YBY;[*V+4*D+JS@J%SQ))P4S; MC&6')FO,I6TF31:(\ZNS\VO5*677O_/O:13XJR*K)RO\?#;S/A@K9P)M[V_WQ*UBNP8-A.?B7_16J[ R8MN%YULHRDY, LA^L MS$^H(JVJNB$L>NI$J9; N>U>XB!!+]YUZ:LK4:-EK:130UN+(DE"A":7*0>6 M'?A@R1CC&+E4$8O ^%;&HJ3#..OLX'9L]:WA628GYV%:59BN0B-;#&13]=J" M): GU@F_AW8*TW&# TL3'6('MA,G6KD3%DB!:CBHP$QA I)B8] M2G=]07EAH TV0F5D<;QH_6JZ%!V4EQ<9D\Z[&1,@B#MCWJOJ@J6G'F:?H9B;A2"\HKRME$JO010AQDGXM@FD,+=.!"S:,*=P)44/CCME 1.J-'$9X 'FT([*63*$L6-^YY[ICV29JWV2T' MQ*.2G$NG(]-\1G;>5XOP1AF5?VH>';4@;G#G+XZEWB$CG>;1-<*;7TN]5#*^ M\]?,CM^THPJE.'$6F,O6[YS*4(6 I9V_7W $T\#=(M-)AQ-%:744 +^A1 _* MEM9OCTBWH11(!VPQG7)2?*RE9B='CYJ M1#A4TV*9HK(87[5^(B=;+@4=HRR4JG:-RBF1,A+-@.=#R_3C)TK[N -X@.2; M]*7*4DV+S<\'Q:"1%'J#Y-5[HX@ HP8K28&,PE23H#RQ",X02RFQGEEBXQN MJ3%HX1+<@4*4GH_'B1E G8)G^2!^7R1"= 9,=^V$I83$L:>2M7Q6-6W7/M]L M#D5)\7$46255#)6CJ[+8)LN*KJ/&!5-:8 ]&P J>K*%FWZD$+ ^9;>^(%9=O,9Q6NK1*9.YHBR["T\T?J"("5Y5.63X<$JE MF<*\ M-A@FUQSE[[K5322\B>"8E@TR:\B%*Z=_J>-3)R/+QL#K_.W1] MJZ&<;Q'$[ M!=^9(V5537&-"2.OR=)P=7[@',35% O*SLCUKJQ*2'6^XTH"#T^Y(&B++_.[Q&0 5M61N]"C0L;CW"%*'JK,O0L';O#LKP*[ M;YIN@/!-%D:C[2X_11/,_2XC*8AIYBPK^57GT]15"8!JN)A?7D:$G@FU"IA, M#^\-"X9GU"EXHP> UM%^I8>@A$7JJ5+4N[;DPR?K424U#I+SQPU[J&.'#,8& M!W\!632O$9I?3TV,DD"KY835!0W#+5&MTK)M7\H)ZDD<#Z4N MR1!VU?-VSO C/)/5-S39*YKF<.;25B!5[*]ZTX6QGF_\^BB_JUIE?^$LGE]: M#R%2FY=>14AD18AK[=E[@OTCYP5X,GS1*06IHC%)ONBBEG;>^PDM$)+;T.:_ M @N"C$-.WUFR/*#X"U!%*I(ED-=614@T.!)!!IL ++U[!'B!GQ>/K/A+.!U= M5<2DUA>.&S^RY8>Y\F!W,@JK"(FN$ZE[RS$<4\)$BE)0!M"O7Z_.KJZZ/)$2 MM;3M*,V$I?YMX%D.\+QP(/?"."\$3ZT0A&C@+UK]ERI(%4U(YOIH8T >-#7' MW!/=*R"YB\?3PWL78H,&8.VP)2-\^6&=C%>$Q68]<'C&,^4G+M15<* U\ M6-++G4<\0J 9":HW\9X?,7T6H)NKL\^:*D0, ;WNP:1;!X]:B.E/1BUB"-0< M6;OQ[8,(/_"(CZ*FT$)0[G 4Y&-^(H5/4T46PP$GF"@IGO9&13 M#HG.NYKDS*8]SE2<^'0E0C:_!C^1=@[>T%H1#<3Q.U*35>CP&<788QRXD3.> MCE[*05&S2TD;$9DY\:V\6WTRTJH(B:Q8I^T=A6#K\?_A=O1BV/EMJ[ZSS/XB ME3(*CI[W^(HCR0Y?44MUUF"&VL]PM0+$8Y1F*Z&*N$6/8!1 2=9>0C?E7H=Z M,S#?G'4FR*=\HR4%VLB_(ORNL&.PST]28N?2[L(%0T>;:M=4B=AQI<@&M/U! UERH2J97Z M(H6)H]+( ";[#94#0A.X-IPXHC6.HK&+_0#Q2;6[W1G.?H^<^GC*^1GZG][' MWJ%@](_)[*$_'OU/?S&:C'O]\: WF0YGX;_"=U,6OPY[=Y.G:7_\QP=%'TY) MHW-X92:":IH"?[**96C8AP=H"-VXI#(;?HJN2J4/HE@@^=RB&OY)Z)9D?R;; M8L]1B[UHI1^3JJ/,ZW9- %974/OZ>C4;#>^&XT6O?WC,8/O>EL,D8_WT7/0:G:CXW!#Q(82"AWX?:SMP]I M$J8)G4YLXBT,*24V?897NLJL?DM&T:KT51*UDCWMJPFB+O9.+\ ) &\_=%G4 M#_TV''\;*MO?Q!9B)Y/"T)+%?0IWKJ;=7JG58O4-O-E5:?^"W&7=72N8VKUV MG-XBRT^O!H9O<+;PJWP+GW^;3A_#247_L7<_&O?'=R/TT_[ER=Z@O^BKVOQO M#1N[K\XW /@S8&,7GH-QI!D%;Z;V#GS2-4Q5C=4!B!21;1D75V<7[70"8@R2 M#H%*6=N]?F GOW4=A%GH_^<;_2#X>VB-[E]'#U$NR2JMF]L,'.[FI2HZ??, MTK5@-55":E5:)1WW[#-C_(9TK\&%&[2\[>PZW\X>A_VYNI/GR#I"JSK^HXS; MTH_ \P XA/)*-M5CG$F-1BBO*DVH&-S]Q>-*YG2O(>$7XRT_683_9D +WW9- MSNV':!V>=FEF-+0O^89V-WEZ&BVBE]+Q 9TSIQL[K70N=@C2U$K?,! MN&MH[#:6:=@I1PS.QOFU8(DY? A7DKAA/@PG#[/^]-?1'5IDCL;WD]E3. 55 M=8R,89F!'7Z0%W74Q6V7G*SA5>11/?C;+D=.51HPBY/,*K&D6=UKP"G/)\ZF M>I-OJJ,Q&DF'O47_'^I.6_>&,D=4:LJ6'/;X6R0MBRI-D8.+0N\\?9OAT( . MZF?P79SP =+ACK,YGI_EF^.P/QN/Q@_SWG0XZ\U_[<^&O9^&T_E?5&V:Q\83 MVB4Y6;.-\K@>K!9)3)_5[N75V7D[M\U8^*?;HI@QW6N(^[AS)O?*\KS M^QN M$OI?#,=W]2T>J^_DN-[AU5GSC;2E0TK5;*M[!&O#?C)\K 5\(I_FB=4"N?*J MTAH9K*0;8WF[NM4N<%7E+S;[?SX=^_X;4E]E-0URWJ MV&32*I*8K.FSR&P]V >/A/2JM$06_MES11%CNM?\V([84]>VN =-U"S/+LH[ M9/=^2KZF[*3VW3=[[VWA64@E*<\Y3%TDES=6'\&7694.HS8_Z@HPU-75-!BF MSS,-.PI205!).HGV6F :V_D7:;[A$$Y#S[>V" ]2X(-L(NU9YS"W[0#Z4IQA M^(:%@I3:*X#7YAJ"^BIS$4)DZB!:3!;,J]8NE=8F("F 2 K%TYZZ&$[@?-H2 M*T1[94F 0U+XG1< G]VF+\HLL%<2W[KW\@S]#^FZ3.^GJ"1EU[0JW9LAN$[- MS0U8!OAEM-NW!5_EFS?771GEV[Y.EV;V6D\"=Z1%D+X)0NLH*I:F2H=1X2J-1,,[OTM%?(>3 M)1]VQNXKI:2-G=_(.K00M/"" :JO93Q;=NBU+MBWL KHOD@JVMKYW:^#_0^N MN\0S%GYUY'+H) <^XSJ_[74P&$U#+1\\6B\XWKQO.&L+J;_O>< 7[36X2])) M+]6,KFN#J['[O4++E<_YYQL*\55,D59XG6^%T1U@Y=M>?9>!Y53MSO7XFADAM2HMC'PON(P!;:^V MJ1>]TU, [&F&GW)*72B]%@O;7G#3 P MJ#156KU0/ 6)IK:]>*F^7V5YQGH-P3J>3<4N&URC U?>+BJDO&'$14OS5_9% M^O3SLWR?3KJXKWP_WK$;_(?NZ+A&^**-B0;M@64'/E@*[M *E985\S42\[7R MM_]EFMJ]G5WV'K+$IZ/2 Y#K;/ .+9V3$( MI$LXQ RJ:4H^]7EY":*A_=MMT576/X !/=%QLDKP@(^]Z,.]\,OO V3ELK]7 MZH@\8/Z\=E\^+8$5H8%^.(" _O%]&$?Z#6>51X;D_JY:QR(-X4-_PF>SI.[# MEK9'XD$_)7?TKP/+Z!_?9_B-I?ZK=3R69/ZF"KM\%!PH8QO12;J> ![12(1% M?U6%,C8%!7113" 25C_V3Y9C;8,M$?W,WY7#GU*M+ -L,]3<#&:Q9[S2V4O_ MOJB;OR]KJBZ[+-B(@C1ST]6!_WYYT$)Q/J4IG(YV#@M-B3NN56U.5UD+! MNIB<4#4E\-+%(IIHFSX\CXTM&+A;PR)-,TC)U>:PU(H'L,?MPGXSAI]?1O>1<5!K\B3K**D M:E,O,LWBMDY28VYEHG5L)'6:59Q8-<:Y>6-3KN8DJ[K'BNL#;VJ\A?Z([JWA M_.D5]O+,]*I3S]7+E[.R[0E;4Z?)7ULG5;P'9YLC:916_5RY/?+8%'">*W]5 MM+NM[S!: =(HU>(^C)9+7+L!^ _=#^ETDY%:%89E;S[2#91TTT'IPATWA4 $IL]JBH%/+$H:0S4KY@Q.V1OI;[ +][_AP)GQW D 3 M,X3&.,<)#-M^*]HDXT).$[LD0)]1"#H'TU[)I) M[P$.0IZLAFA6BR]$Y)P>=K9A'IP:TAV!0'8])"#%ZAJ"GT@71A:>8>S8LH_D MD6_\G+DTDD%)8VL(<=*DTU3R%DK5&["7^1NP^^=1.GJ_M=RK*<*YW^^HIAK5 M#6I4EZWV("4>8JD/!Z56'>K>0FU?-?*I+]C\%T.CX]Z\R<#T !P ,Q&X1 >F MW)73U, 4EWX* Y.B Q(M@!!I04K)HDK'4&$8$3:/TM*3]GK1-*TC![5IL/<+ M?L0?P:B3/34H.50AM31#>9)%K>7@N/'QG& #U3^#FDKN6$#NM]%+EU'.*0PD&>1ST@UCQ'ENUNTSVF%_I=M%V67/^EIY=PO MJL>?HCUVV-!R^E,TT!/6=]-; ?PIU3IRC6":TD0E>O"\'7U\'7#X>L..!X8OF)K+6<]]UWSSUMDZQ(C@_Y4%'*B?$$Z MZDH>$)+&N1< G]T"!5U)@.A\J>_UG?X:@5VD%DIR'?4@:FZM'CR-;[WC MF!T^#,PX?D>H=Q?.@ FL%SRCG.'C+<=8DXY7N/-K)ATY]M?J#W15^[%K^@VY M?'B7@>$;,X#0L4PT8N,WYL0.8Z_R7D+S;]/IXQ _B=1_[-V/QOWQW0C]-%_T M%^%O>X/^HH\/;?>?[>'OJG]**_8D]E$;Y,O\O?F^!4&/_V_XKP U!AO/Z+-Z M".=SZ5^D4C)LEE*V:GT2/Y$%'5%M@.CE5Q1#<0R ?V= ^(96$K\9=FX2+917 M-5'5)XQB$98#2"^19?$D.GVF$YVR;#B0T.LZ325PZQ@1LYB?7YU=7)R,^N0# M)VM3 &^AMB_6(S \#_C[.7XJK./4]2QL9W@9PK/0VN?1\L@.[Q7*/&6QR@>N MD1M);:Y!,=B[^)W>\''BC6LO1]L==%^B8X8QP#?& ]N AV)%EZHYOV'>I>J^ M=CW#6?;V]>NE*_C_>JB**&UV;;XL.87N#D#_;8JJB>6U)Y/FD:W;XRHY*1',!^AZPCUGF*DSPFM&+P(")L.G ME^@HJ-^"E8M6. ?8TSB3M@%*%I=%^J+UZ&C*"54JL'KY$Y3D*@<;A2RY,PB1 M+[\WC'JF()4YT,O-H2RM+;2>]W;39KNIWF)*;V_<1"W&P;<6XK2=;#/\E+:V M<'UO/:TO?&E-J/*5&>J@H[J[$@6T^&:LJ/]2[HWR.OR7TM4.DZF_"3D^[VRYLI]\:G%0;^__&?@^;AAW[M00"?, M?*JII"S3>@8!PJ M9:RB7GNQ,?/@V=P'7@@CMQ0ZY9 2JT9O.8J.?7"$K-5KGA';?NLZR)H$/'KC MSZ;531'BQBIU.$9H_0[V))WX&P I$J!FT))]<8L; M>85.#O'H/V[@X$>2D&&LYL_*HS/]8D;'"KA60@'U+?U$EWRZ":2>RNT3)!]^WAK!FO[1W7S\A@N]Z?B:U:GT#/]CY_D#$1(ZW MI.2\<")":-*:;P//0&$9H^@^^-!9 M(WD!B%^B=QTOL/$J8 [@BV42(A;P9M. TG(V=OZV>C)L/#)NG>;2*4=YI9&0 MSSRY5TA;'#(3N;=^[\(4RE58YZ/.S+G+--J/?5J?$J<6,W@6U62 M6621::Z3VQT:.=PEFL=!O\L,G^M'\;FT7COB>.CD;U-<*K!5A7YK^>#1>@'+ M$4J%IC-H\ O=OKSP>FY_BW=]\:X_X?*CZ![7==D]KJBF'VUW%U;;=-H 35M%"1S[Q JF*A2CQ$LAD'(\;&EAX14[ 4U<11 ME4LA=7 #HHA"%M!8 EQ5>ER\XV0=XIB;D3S/7%:WO<,HX1;9"[#='5@N@+EQ M7-M=OX77%>B*8.3*0O6Y]4L=]0BD# B=WZ>\"SS?W0(83KI0W;V-M:-KA9+C M-'0B"D#;$3;KG'BPMK=YLJJFFB;GGW00NAQ:D6+T&+#N!/%E5DTXI7D6D@P+ M +TND[#VW\0%5!!53VGIL/@6$@_9^).1C7 P0<&"3E5:(G TLY,Y#&B_QQ+@1-YI@-QA4+4I=]VG!NV+ MIB+O$D\-]%924T<-[2NJJ@ D'S5H("LIYQ-*"X.;1M'SB?I6:>_G$QT1R/OY MA-SSB6L$T1<-=2(*@)KG$Q[T4_I _SIH _WC^PRA5?3F:^9OJO$M;8[*ME*Y MHP,>/@O;]=%?5>&434$!7>Q66(L+"0/[)R3&;; EHI_YNW+X4ZJ598!MAIJS M*Q9[QBN=O?3?.\P>TXS.SW4:/6?7:#2L#(*:,R IROGF@55@/UHKTC8Q3U;5 ME%.::!'-,,SO>%#? 7CV)\^VM8Z6"#B"F>M9XA=6/I^='Y]:WB][D]G'T MT%^,)N,Y^E6J>/7/DS T!X.8L?>+$S>]J_+LCQST[6#_Z"NEOD;&[K=&*;>KY2G%@UQKEY M8U-.,;#+I(]='WA3XPTWAH5[:SA_TGFSR'Q1CGH*?WGRQ:Q4<^E>4@1A M -'X9WXI%.325A"\MG9^3R [7E(&_WQ"U<@O/_1SVJ;Q%KCQ:\%_> MTK:G7H1V/ "V\0:6 VC\P+)^1*JF4LV720NN*YC:]@D*@>QPF8!'+3*U1TE4 M(5+&D,MC6MNM5/+$F75.2DBM-NOEETIT ]MNM)*YOS,@?,/O;X01SK@$D,VB MM@KH7+*4P&&I7C= !W&=XX=;P\?WQH LB\+4NBF"W\BJX\)-) 8'K/'UK?;E M@'<>%_'.(^4X)4F2Q>1KZQ[EU8AG6B9K)&CIQ9EC9P;L-FVM++-$ ,[/9Q<\ M_@R9+YR$2T/S#PJG#PN29Y>-_Q#KX2 MD^5[? W)IS\]5Y#RA*1 LUBI-X>E*N( '8P]JF375'QX[R7][2SKM0/0(??7RRBBRFZJ HJ2KTEV>P8/G%:V?; MO4&+7JX=;>@53.V\P]QO!K3PFF1F^+3=M.-DJO!>?97%99DDFEM98Z4-I*ZN M\@E58YF+*SK%:JZG*I-\:WBA>=2A.IM(97*Y%E@"9K4])E?F=P[, -5R\@*@ M@R.\QF],.&ML^-Q=P?U?1LX2O,Y_&#NF'"J5J8UZY*.@YNQ??O34]DD7'_79 MYL3L72DS"M02)O7\#"'SM17RV!04T$4QH9-A4E7 GU*M+ -L,]0<7VL+D]HM M]IAFJ#E@E3Y&>I1PXZ]%AF4?'-(-C+G_K GW]X8)!&[['9*KS3Z=0Y8"&%9J MYOB-H$IV:?<;>%$7>.M"Z/[ V\#&#OW%?R-M:0L4H9=N*ELNUQFAO(P(F^ B M]BTVT W6FP%:[/V^LN&6+NS8 )_Z*]Q6W3AO>69AOWWP("HR0R=)?KFY?D3HGB#*URT#=^!:NO1#CJ- M=B,^^95/H3)7T-T7@/#RO45X312\ &BL\1:.Y?9-$WCH]^B_R"YDR#TP_ "" M7ZWU!L$Q6863X.(S*ZF?T$C832 C:?M$D K&+UT%*M:,0"^]I!@<7' O?6*UC>;0RX!OA/>R $-,4H27\9 ME0$@5LY-75LM]=V^?@2&![P'X" +[9&SZ_P[0X_#_GR(+UO'9?=2 MA:M_W3J"A7#-^OB/3?L#>QZ(>!L SX16*#;:Y6I*#E6:69]?,2,H.^E) MZY)S'UZZ,X<"O:HHV#Q.'4H2(^ZLT1XY;&@YG3581"CMK''1/OX43+F=-2Y4 MCLM>G[-&I]ACFM%Y9XWB?OZ1X;3!R*4*X]4'LRH&UQJPZZH=H4QV )^,.>L0 MBAG KKW)O_!%':I>6)F[(1LZZ23IE+*]5E^0:Q44-$03&;2B-,%D-8D:I3L, MEY@"0B*6<3IZ$H/@%#HF!_PP;.$>:9_K=*3#,KI6/P8EQ%+0># :EF/X]/T4 M_F).1T["*-3JHB"J+Y*C6H&A>ZL*.AF^3'J)HH+->GD9S(!G+0/#_LVP ]0* M0@R6?80+R0F:G$$OA92TMU;O@:N&CE?BOG$'' R=V,%*[L&#_<%*6&HO+O;] M2*5JU?"#*ZQ'"X[3J=)$>8Y/>*JNYG:D )/9P0?;2Z RGS +R*4"W2T/8WFF M.2V31/4+@,]N0==ZV33S\;-)T:H&7Q&?K+YY(!Q8^EL7^M:_0_((O$G>N$W M.CX])R5JME&&XQ.^P_5H&<_QRQW1HI11;79&)9LQ=4)?TJ::IWV-[[<<;6=G MYS)<<_^C/*HIH23/K'4!C]5Z74;/VI^@^<;H.ABY3D0M?';K]489 0'Z W;T M3*JII0S)W%*AV7P2/0OS83MFOI/2"\/LFK<=5!&-F%1.2B!U;CS0W\968A-S MA7J[OFD&V\#&Z\OT/AUC#E.Q5-5$)FV.4PQMU$.G3 &G].:1V*"^Y= M63R G,R4;Q^W;++:QS*;NIZ%[0T=O#WKV4;S8^(IE92RWT4I%SJ]HG*E<>+= M4Z7F44UNM:PV^*P^ :70=U-I6533B3B]G!*AV:O7/FJA^=0O$:ABXH3?6\^C&(X@SH MSZQN@WPV8.=WP%>5Z%56AQ=+7JN" M8C03EA3S]3U5+2TKL4(T$Y4$XQO97*M["31#I92\5_R9N/#!A6IRK9@P+Q>- M+TD(#)$+I9)P<1PXC9%:O<9YC-:A!98QI9&Y9MU-;1[L=G9X[&/8=X:WN;?= M'Q7V':Z)S2_]H1[^4@]_2J,]B'8O$27<[37<-WWKA?\N$7=^55HU^RI1-9,T MBQDP-=["1\&X9O-)8E6XEL,H:Q)/M;K6SK[5J +)/>C8_(DC\7N$*C_R.)L_XY1JP'#G# M5W.#0UG?NU#L&DF%$G47FVQH&HEL6/>B)VNP]X1?G@PAC@.WI7RB1!= 7X@+ MH/U'HPAG'OK5X<,]=Q4'/DM]N^,+(L*ZN_')3K&\$;Y)GSL(6*LCD2)4ZU'R M\+,FPB7LT^O7,??T-^X$"_N789BT.CEEL@+#6Z3BQ_'SS*6+.5= M]JX\1$K]L;(ICU\4&B5!!]@7<4 MB@P-;_$1=%2^((V5)!F46D/N*]MQ5>RP-):7%"AB47WI](V3H^W0!^AZWL!: MH?KC-V]$=T"_BNR AM_J'3ZFYY9GXTO)DH:P5U& M:Z2RWH57"B'=HA[5$+Q2).73U X-"DF;CZI+2':(Y=,4 M$@.-1O86ZUZZIWT)I?HQW1!7\?$G3]R+Z;,*H6&$?)CX"U"M\\A#G^\#*EJG MUW*],&).&;\E\8)4TTY%7? )K00D)R0X?N\DT6).6VR\@.CEB\2"A.Z#Q)D[ MB^/7UB^^-2XL&@YZ>1QQ(4'Q-.+._ZXI*A)Z^17Q8$'Q)^+-_JXI&A!=\!YB M&T\K?T=O4<2/D40B#HW2-4QJG+2P@7 MW7QY)#^E<'KJJ7/O3QD'C%I?[SD]S=!@J+K!M^]@?$5E(_=)G],3#P.)JKMY M'/JI;WE]YVZWEA].]OK.\C<#(J/M?=RXH>.'T ZW.]M] ^ 6.&!E^5/;< 0= M=[ZOXT'H.L'HPF@O,/*&' MH&7)-HJ;J[.+\U:Z!WYFTBU>V#)):Q^[C="K,^!;,(QUC&T<&UO0?[5(3@_% MB55ANS1_>0D(&*H7^0,7>P5QTQ\E5TT NSQ4$\QLD7R">/0WP/#ME86DK_A M;29P$%>C#R&.H(C->@+;9U!X/L>;5WV^*90='<15LKGMP-L$#1 Z0#+QU PZ ML2UN: T>:4I,[5+':>C/(Q]L28,^?P&J*47"1*"B\;JJY\EXM;;!MN\XJ/M, M_]&; I@LS.BO)TDHN2-ZXQ4+M_HJ8Z34B9_8(!:;!Y\,'S'AK--_GP/X8IG8 MU/IK,%DE3:WPL:G*A;Z+31P>O?R]2V 4]_J3 M5?A'L:&7OUQMI5DO0GKYC9?'2+HL,VA?G+5^N4HA/19"TP5O\Q(F)_/B\)@O M-166-#R3BM=6?8T I9XQ6ZE0TLSZ[?4MPH_>![/S:BDX.$K)\T]9\^( ;<=B&'X:3AUE_^NOHKO^( MVO']9/;47XPF8YPL^G*W7M&.*ST#.Q>&+QS2KQZ1DS<[7SBNQX&OR2H2OQ?] M#;>*.#'KAEBE,K-M[;QU?U$6K^F)@GS#E3I^J2RVI)?-@T!0$CF#ZC*I3GU> M7H)H:#] H>)#YX[)*HZ5Z(HZ%G_-SS5YQZCDXS@ZX.'SVHQ3RHQ/Y@8L QNU MHN,:I91P^Q;_D>:%7*(D53H9H3%(DIG$WD,"_Q[T4]RC?QUX1_] DW?' D3^#%]C1Q"#T<2V> M*/%FTX#2YC*@B7C.*946M.^R-/Z\Z R_ M"0 &)'1U05;_;OF;N\#SW2V PU?3#I9X]]'S\%M[RX7Q2E2<<$FJZ4V>2(H$ M* <>O0X'!P!5VXSP[CO+_A8W]'^'_R2ZJ1%SG)*<1&&H=9[5>*^5>.J,'!,U MGN'K#C@>WJ!QD]VZ,2 -C#Q93TE(I?&H.M-B1%EL/,1P!,"CZWE)'VTY ;+_ M<,Y["]#T T3I4/<,L \H-! .EF/ MW V@@-_X=[=M>UPOA)A2Y1B;5\\+04W M"V.MU[0:?XQOCTK<]&.'>JIDV1G+>2J,+NV1=5G0;CKZJC2<6*_GWBW8WIR:K"/!,&TJW'II35IFB MLBWJLO6NA$8,:_>I@L7*11-LTJNK?=:E\2CNUJ6- "KZ@K4G D&FROB"L4CN MO"^8:NQ12"CI"R:WG6KG"]9I 8C9V'E?L' 7Q(OL'-K6UG)"W*@RH.;12 KB M=M80>THKUT M9W?E<9#4>[3BR%#1H;!])8C3171AJ7V:)]VA4 'XF=#EO,\8 MQK0]'6O9H;"3E):S46^'PG!(VH]3SAI/7!X%/0NI9:BFFSK'Y,JX='Y*%Z%) MT$WT1]4$49VUO!(HENI^GQXE-=9KB)TPPO85NZF)'M]7ZN/*W Z M)SF-.T\1**<^YD7)DFTV5^IU$"F@\TU?V#)*AY TZ\;/YHH<2F\-S_(FJRFT M3 P">8G.EUDUEH5Y*]K-*VUX-T5 78_S9E=-"!58+",)"@B*G-HLK"U X_T3 MF@Y#R["]Q";JMBT]4_#J $C)-=5#*;/57.XS'#">C'^Z,$&*Y'V33Z0:[Q7F>P(&4EJ] MW'D=@S3\:B%^*215::+;##&M*A0*X)\E3%[.3F):59@4I^&(0B$#:SA<\8#Y\]I]^63B9PCA6T1<_(\#;_$OOG^; M'Y%T^(-2C BA>F"$84W;0V1=3@^/#-\Y5C95J)>XRBAEW[95M/9(73 M*6_D_([ WPS#!Z2B.Z> ]586)6>V%5VK$EJX$/9\MU'60-W]=E$?BI]OCP)< MS2SO3]'NX;ID]Y#Y< ]_69N.097GKW+;!Z^>&CG,%L1=]JY M80,O7KR, =V)KC"M^IQRD%%P@L5MJW(AB^3M!%#5P)57-77PTRJ\Q*]?(NUM M+S),CZ=!^Y9613?%9:FFH_):$-:5 ""=UUG!@+Q GQ.;7R8Y5-.,[*DEU<[& M7'TK+?S0Q\0FE(<<6:N_7)U=G*O%+H,@G@4BW5A%9I!)/Y6K/CV>&CV7\NPR MN"E@MX3!G>_/#[M[8NI@YM-/'^5,[J3'CY0[.RIRSC&>"YC&X=TJYRBG^=LZ M[9$G@'^6-#'+:G5O7;B[!7#V!I!])0L3JL2$&*@'0@2M:WL<)?#XZ'I]9PUL MX T PLG'R[S)ZG=\3[OO+*?N#\(.C%AF;?BN9G';(R5! P,7;BV4^*T?^)NP M5P^/@L?@QQ\N82.%.Y\VS)$/T"1T4M;A. U'% H9 M6.,-$L_?P8@U_%.*,?2O[W?]8VZBWRK%@A"2*18HIBC51W(Q-?ZCB*GQ']HP M13"E[96?_'.S1\:U'G(&5;BNYTR4;F:M#U2V?Y@Z!1#_PEB#3WR-TL(QQA8::H^$+GK$&466B<.YYD@E&<.14K?%S M,)6YTEG2PJHM_B9J@PZ^.QBG;5H614T]"\;=QG#6J'?H;_$5:()&1(O)PGG3 M^A:(H&"DF%O7M+*1(>(;LAFB[MI!_YJZGH5+%7S4^N;L@C%*[#_20U_I[3]S M8B/%]\9?U?GF0&"Z:\?Z=RCH6^" E>5[^SI. =*I;P&O[RS#A_Z Y_=-$P:' M5^$)9DHHN4-=Q_?"G>JZ,&CD2F<7-"A?>ZIIKBX)215K>R)M9 3<_SA\W0'' M S$THF/@)6,,C#X3#H#QAWH_Q9_ZRZD-A(WOD1 X9E4]FUJUSH.!<+X/$+&K MX^U[:$#'%,#Y!B$YW'EW[G87^.(A1L[/\KL@P_YL/!H_S'O3X:PW_[4_ M&_9^&D[G?PGC!NP_HWZS/H:)T:;)R1N.(P+\2,N/KN?U7Q#$>+,8OY"XW;K. MW'?-/S>NC03L#2P[\)FSV=+E99K.Y1EJ.F>M=@DL/C,11Z0:K=>D-8,-CVA4 M$X)<&1MQKF^87=)=C'BL@:X=^F5 4B6 ME[$:XOL=6.L-AO(%0&,-]A'*\,3"FP2^YQO.DAU^3K08U:0G,J>28JM>+[OS M0D(;-X7*4$T_4C117FK,H;*N"*.-*PUUX#!TL33LN-L.L>C[/K2>T9(\[-## MWX6/(TZ-MS#T((3XA"]T4R?O!U4L^$0T61-0DCI$981*0#^>6>1($.L42:6< MB 1EH*+7-.YX_L*W)<;(I9J:1"9I94RKX?Z@0I*@S;T*TZI.?[E%(+^I>FUN M$= 3ZQE.0Q(5(M!5!N7TK+H 2)J'&+ZJFU :TEQ=\T_CJIWX<,X4:%8*5334= M-BT)7E$R$.NRLL(S+(PJ<+P0UJEM./0H[^0T?%\F[089/_^BD2?/R[__S_4$L#!!0 ( /J5 M U=UU&1H]8," %#X(P 5 =VQD;BTR,#(S,#8S,'@Q,'$N:'1M[+UID^)* MLB;\?_Z"IGCM]VJS(TL):YW2-"1#[#F+[(A-2"(16M #BU[\1$I"0D#N+ MR*3MWE.)%(K%_7$/=P^/B'_^WU)3L3FP;-G0__MOX@'_-P9TP1!E??S??[.= M7"3Y[__WYW]A\'_^?S#LG_\=B6!R/]VJ8*(AN!K0'4RP .\ $5O(SN0WUC%, MD]>Q*K L656QM"6+8[#^A, ?J ?\(85%(G]V*TSS-OS>T']ORCT03XMDUHV@ M0LE?U"\2)RDL^3N:^$W$L$;U:?&@GHH\LGC+VXSP-ZP8?TC&R.0#&2-2L>,? MM8$UEP6 E8P15LS^QE)",AZ+CT"$%*5$)"H2HTB2Y.,12A+B49Q,)7E8^+$F M^,\_$P>2%9)6MW_;CFG]]\?$<_+I1:1+'J5_H]0A2=5-<,%S=L;SC M/5F_W*M_:7$KWZUTA8F0.,CLFX[O"YLFT'5BLY^*^O/8K^"EYNB M\M*)P [L-;+ID*S#_@/$C5^.Q>NV9%@:[T .PHJ(6 1/1BAB4X]M.8<4@P_W M1B,OGZ,50>VTMBEN >E9VL9_P;>[XY5?8,-3^HA /LX"^&*_P[81)8G$2U4' M)=8?'.,5D4JE?BT1%C>U D$\WCQ\L<_] WCMU8G>/@+E SB!S#\^M-(!,^<>??R: %__\HP&'QP1# M=Z!V^^\/!RR=7P$5T<<1,'/E^7]_K-]'',^$P_KUYQ]'=E3PYY]?FW^#ND:& MZ/WY1Y3GF.UX*OCO#XVWQK(><0SS-X6;SM^PU5_P]5X94;9-E?=^ZX8.4 %Y M^1O5!JS@3UD4@>[_"0O4H!*V9"'H[])I(>AF70'$5PD!8DUS&X.$?A MZ ?%D<-YKUPM%!W&=;.E6H(:X/%T\P>F\QIJ'LB_&1V.P\O $5J\6M1%L"P# M[PLCLJI6B.Y(@??W#(>BJ!1V/X/[_VNGCF M'F?7\U%.M@5>;< F##$'G]G;7N-)NIGIT73K)1JAGT<,Q1J-=-\K*] MI6%71;^[*C_>]E#OE[H9MLS%&&\R*\2:0KQ5G(VY*.JAQ*LV>*:3.8L74(

#+K+P#ZX-A4[D+9%CVUEN.H^XK6 M"X&\.TS:YNK2SJC2TT:1D99B#X\T!IWQE#TV0'#Y6+=>L!8?'2134I9B5&,\)2+VAE$A,IAE$HOK#/*]C&S MB0Y:<4!L.X:@='D55;LSMJG.NV-]9$25.)G,).UXQ1E)S1MAX&N#TQQ1(D>5 M98+IZ=K"P=E5(C>GGQ_<,37Q,;+G9!U-E14 S;>6/)XX=8FU 6W;P(&D<@ " M75T*2LE0T1FVC#K"+.%T9,LC%51DV]D;2Z;)=5+9S@PP[7*-5T:*;=A5.):7 M[,Q_-2S#!);C-51>=R#&&3CMF:AM^/<+7:0E!UBT %6QJR*#/0M,"\!^HB[" M+VG-L!QYY?]\A\+]()-/3TJQD.ER+2=A*G*)YQQG%IW;PQLDY2,HH:G,M7BH MO.BE;/N_JK(N:ZY6!=H(6)S08P830L+S>#DA=3I>H133)?HII2L ]AC4X3!Y MI F#X4#+#U:U_M4!EK9'RERU4LC.AMD$[LT63J&O9XHM!JJ/!C$XY52\[B'7 M HYL^1Q';*C!WOL#1D8DUW1Y599D(&9X>U*WLFO50%L6(@SZ9DT,O&0XDSCI M=?!>8A(=E>INFD\>$ -^#XU8?U:PY)&+NH?:[/!+A#K7?@%?3;I:IT1*KC%: MU13R#,,UE%GS%7QMNX]:"7KZ"4"\34NU@ T')S@!S3XC4BV/!/5./MY00#1' MI&=MKR-47AOR?O,9%[)+=\ZO4$XW:K79+91B)#7*Z27.C$\RZE_[ M/H(_T4'3!-A__D&.VV_;]\D@&3#?D?N-/)C__K!ES521@^8_F_@N,!*.R,:3 M>EC:(IK_]NL(FMMMP_]I&Z[E__(]Y-]KTOL$>%5BCV@D?KFCD0:".LSTG9ZH MY =+2IP6J<:P@^R.H"W@>RZ;7[*(?D/AL#"_S^!HP"%3+.\[+D\_WE1G@S'B M=?!3A(TM3546Y+5^P$190PPWH%\*^_U[.XH??]#/O6'\\^MH%7\V;6];^G5L M6*;OWFQ[Y?"6DX4X_(.H&2'("$5LZ]F^V])'W!2E(G@\0N&/301O-K\WC?S: M8^(QGC[5(6]1NL]HR363\T:,-9=4M,[D6UDXT=5CC:X2.B8_ZH5CX_SQ!PWT MN>G@]# (HBS.$/.R9CC ;O >#[5LQTCSNF*O/\^)HRI>[%2K M[&PU*Z9CGC:/QTS FVC_KV!3)]"?#NZ'((72*"$Y_7Y0$>HQR9W)^EGU/- 7'IL07\J8W$B=1I M@,C4FHRN6G-:T6)&/[>HD=-5+;23^[/Z\UGZ?#4$0HT8C9#)"U@3KT$R"U3> M V+6XA/VT.E(8*5/>6I1PW*7RHU&R*$AZ.W1&PZO0?)5.7P*B5Y_A MWXSGHBX8&MC&"BJ&$(3Q=D&9,6RG+K5Y%6S 6(XR#EB8= [7,B5"&4D3F6N$ M%HPOC/$1%P>#_%)X>,X/WA(%A7X=+V-HIJ'[BT?[QI_#(T^1X2T4-MV@0!LO M#%V+,8!QJ<%(6<1Q*AL+K=GVXE!W+;AC8PV[-_PY_M*BZ(<%>;7!RV)1S_"F M[/#JFLTB/QX(DS3'XJ18Q.EB38MFW= :16]D\XM#O@UN4VO-?B)I=I7^*K/H MY5,,GR^E)JN)J#::H=7I(95F:D>Q7XN_+TMSOCDGYYT5$%@P2HVFG-7+9QNW MKK2O),WGX?: 5(:%NB$#-C*)=G"5D6MJZ>PL&Z(6E&4^<,%+[0?:^ M+,N1ECMKU.J#/%..#1TP(3W02-ZZ_7D=63XILZ,GE>6Z-!)(QU432KF\RK=M M>M18OU1)"B*WDF&1F=G4%7'?LV$DZ<1I/-Q 0HF=%EE)47!C=9%UIG7K,]8U=%EHV/V8N5YW M)L!"Q2PP092<@V"M:!-&\%:SXLID:(:OI:M,T\HT>\.;-TG?.ORPPV"[QKF> MU:CC*YQO P7:-V7H_IZ;33QU]SU?NC@?1#3$2:,A,=X3.:]69,I4P\;Z5[]T \PDP$>7( M+2(^&, X! 3#N)7LJ.'U<'=H9$IL3DI%Z5N?(2X)"*0DR+< XDE4XQ1*@GM4 M$1_T@@\!L5H.BX0W=RVFC;<6IJ,JDUSU#HAW ()XXZSQQ#T\B89XR8[PMTGP M@M.3G4G&M1UH)UEIWI;MNM2P9)2J_I@-B/8/^V?';#YZD@.XI7O:M:&[9=OM M@&#V8Q6,/H9OX"#T,:S$=E6T?7%]!,S&!>U-.[.16JZD6<]@^G:<,5>)26BG MH[<1<)TG^ P%GP7>^R%_C/3KQM] ^Z]I-X5, H UWF3/L@N]%LV*XD+1,M%( MW\K5/#,96FO\EJ#^2.3OA.E@]^;4L#;LV0%>PQW!X;/.L>SM$VGNI.%P97SI MEA@Y$DWHU!(?U<70:>Y@;^A3(JV1P7PO%._J5(MNR.3., A/1NE(Z&QG7.>>V].O5X'K7KD]QB4(VP$)G MOIQ'N;;'.=VIQJLTWIXGYD)>T ;C\(4>7D3K4Q+==>N7PO".:LVS=,JRB[K, M9)R&H+;JHD)ZMZ5:KP76[ZE9WQGQVA3O0"K3NEB%?;(@I^SS1G\Y=^6RE5R% M8LL2&'&I<2N_($*;9/?6D-BF_,NTO.OJ[RD5.TH]G5O4J8S=-?!ZKYW5XIV5 MB(?WT)C;A/]=^[\#YSEY"43T IQ7[V>%2GEN2..E4QZS6/GE@C"W> MG,@"K_H87%\]P['MDT=.5,8N6OU%FB6[IN.J7)ITLJ&S6Y S^BQU?OQ9D^W,5E%5!3;M#HJNX ML?U7!#[]U8X/8] M.0??C..':Z>JH!7==J-$L)Z>S/4&ND#'F5#:1B=8 _V"W#ZQJ4P6\(19'5>F MC)QRNN.,4K('YS\)Z:.3P=V./2]>=LQ3J;3,Y+P"66,S@A,U1Y'ZN%X-G7EZ MMQU/O/Z;U>94+MKRFFQ\1NM49.#Q22YT8:#3K.-^05Z?9_V(M!H-(3AG20NM YT1\^KL6B[VJ(D!W 9IJWDN?I$%LQZ>/=WGSVF_ 41 M\^8HV9(F&2;:IE*X:^ ITE/&5*AO<[CF#LVY79^1PWZDR9!5GG(FC;B>*-[\ M?!H&L%_ ,PPEJJ^\1W/2&!FK\5C+,;(QD-B55M4&YS\C[Z3>YK?M8BW:GVEI9J9H4W%:RJX*=.A,CK""]JYIK[!/4\F4TW:Q/XZS\4%:81+5 M5K^8"IWA$,Z-;WX6=FGEC&96M.%%B0(7O9=KI:@WOW@%[U[ ?1.:Y]VH. M1I,(VW4&4Z:G&JO4<.#I1/NV#-GOMU?SFZ%X1[U&>M5%+#:IU-EZOU>.]8E* M(A:^:P5#"=?OJEU#L#/M=35<;T528S4^&S+NS--+I\&8/GVJ#_ MKIK^6OLV);=:Z4^I6H61^TV";BF=8B,7.C2';DO<73=?=N>FU1-B-:4)\1FG MK&E4=U6Z'@EE<#I4,/VNVO24F4/-0CNBL;++X#(07<5,6K5Z.730NXF]FZ'$ MRKMS&)+9C$?&O!$KSVO<*#L=I20K=/Y^:'9OWAS/#U=4^Q&K3\>)> H'XCBB M]&>6'+%#IP%"LG\SE/P^L=$\3\<'XY0NM)F(M+]E*(VWSK"IUDHS1RI>INI(GF5ECD+3BBR3Y]TO@YR+[^0,)6;>'#=++Z>IAI[.9Q6YG*VLXJI.%\-Y M1L!U]W)>EA_V6D'X1WS!LD+[R%DZ]#.;=;+34 M9>-,9980AY9CAF]%(JR[X>ZZ^4) WM&_S'!0Z$4&=A5OCRJ].3UU)\L[8N\Z M]H/0//OFS:[+& :3G2:5LD Y-</76;>'U6V[>_$8@WM&NQ, <%72-RN(R M/XE-MIF*]&9B6HP7E#C1XTOC6IWM$:&,9(5N']Q= MLUX"PCN*59YG2'U65!TE4S(2F>Y2573^MA3KE]ZS&390AF!CVNL*>.QT05K0 M99-U1]%N2J?FEM*]^:AON/:KW35UJ(1B1Z5WE(BKQ\A*E,T7&Q%)'G)V?1DZ MS^ZVT7_7_>';JAE9I+GZ2(E563(O";%^HZ6FF="9W;>Z:^VN[T,B"#N:GDK) M-MY)6!&F7*G95<_@6; ,G?%^JXC_ECK^6ILT73RIF-U:K,& P2J;;"[+A%$/ MG=$2NMUO=ZU\;NCNJ-N1(F0%+I6DV'I==E-FM\F*Y="IV]!A]%OJT5.F!-4F M9H9*+S)5G"R-<:J!&Z/!\.;#&5?:GADVH+PW/V$HY64OKRUYEHR/BU$K5>AD M!J%40B'9FWE+##]<,)42S"P?B\1B;%ZJ*:JYTJ52)72R'YJ-F6%C]JF3-E0- M3U3-547I9?D^T6A%V4(S=,)_-V$O I<=R]3.42T2YY0H#N1RG9A%!J4L%3HM M<3<;3[SF*TO#MER)#5C2ZO$Z6R#S)2=T7 _+?LRPL?H\BT96UTWEEH,JRT3F M'3+"MC/Y03IT<92;VXSY1<#S; 2ZDL-SJSH^&K.@4)ZGZG1U-/.^#&RNL!,S M;(!YTWG7K1V!Y[FV8 M*SK3(6R]G&8S T&I9'*>;>BW90I\RVV8WP;"NV$#LSS@6T5FQLYBDVBDNS)+ MU<1M.5I?>QMFR$ 9@AUGKRM@$%-SKI!@)K@[J_329K^1:84W6^4V-Z+=-76H MA&)'I:L)=EK%18[#>5USIF81E%QP\VL>X4+_7?>';QLFIZ3Y>;22[[(S3NI) MA45&-HW0F3*WNBGMKN]#(@B[UV6J1:)"4P*AR*4D/78;G-JY_:-7PX+X;ZGC MK[4-T\038C7)3Y)L)BF0'0#$1#9\)GOHMKC=M?(%MV'*4@QDDVPEQN2=;$=* M)NI4*Q\ZPSIT&/V6>O24*4&+&EL:&5;?PR#3-D0'EO M?H+0;.7:BT[,9OEJIBBIZ14OM4,Y489E&^8-,?QPP51@*#[>D;4,6T]7Q!*A MV)7H^+;8?=%MF"%C]JG/%YQ/J9DXEWI*3T]6)3'=JC4 O.D;,F#N- M/C.SHL/\E'=GP]SW73OY>H!YH9!U<; $>9&4M=#9%!O!?L/ 'PV-ET=^2J#(.H0# M+$L>W(2Z>7,%WM,NU)/&2%:!W;%<0;%AX9P,U,BT>IVU!A.3FR: M[!:J[0@9VB##F_B_*?S"L+\#UW.NIG8JVY&FV(JR^ :N/..' PIOF?*E,5Z+ MTJD8@]<]=S(L",4JS]^VU7^]*3]<;']ASD_&(_5!)S_LF8?C2,$WUV@0A1P?'09&?HVP6B32E:$%S-56%1L>Y,@(6*66""*#L' M15TPM(T5P!4+7'Q!K.IX7I>&FB?:O50JM.;?BZ-_!,&;AQ^2(%'TU,>Q$8&K M %TZ#>\#4$MX/"R#D2&A_*DC[?S125;==EJR<:UAFN.^D::7\9"JSG>")?C M8ST;-JA]AK^$C2<.Q2EBQ'!2>50OU/K'B=#A%(NY&IV(5)2\0'<$V,3F"3A_^%$:LOF+!@Y M16@&6RX:RV-4(@M4W@,B=#86'6!I%8/7<[QP[ BNBJ&/'5@$U73@U]0,!]@- MWN-'*NA ^T-7-D"*+U5 LY,LP7I5FDJ7U/FX8H96QQR2:1V\>)5.SZ+HS6T? M(_ C=I^E\'E<*"*%K!PR?KI0^1L0^:B3YH8Z1TF(%A!EY[2 -)2^YQ5!OH]' M6$J991BZ-9)N"I"/ZNP%,MWQ^ :[*KEUR1Y_H-R,%J^/ SSY*8"R+FNN]@1^ MSVG4@!GTV +^C(2Z?AK@MLS>V,(+V3(3:8UF[FR>--OST$4%4"[(EGP__OCY MAKOT^SPNG]71SU+^2\C"H;M*)M_HD.P6/8U#8R*.Y#*=2G@Y&G$AE.: M\T&9*0L,OPS#;=%6E&T\6Y84B M9Y)2;+[,U]1LZ!S 8V*S2[_[;',7G(O.-G9ND#.Q%/+7?:_80TO@DC M[?QBUYU23:23G(UCVR,W6GH$H ^K$-"PI575F816] >6$.51;]3@\2$^ZLUGQ_@= M5F)/A(;T.,%I2E+K,3.E7HJHJWG+HD)I2H];>3TQ&IZ]0N_#4!#;7%J) ME-)I7([$AEU!RY>:RSL4;FNE]310:+A-P(A90F% )U87@)VQ$ND[%&YNN]^) M#A,I)CNS$C^M5Y090QOZ8AGI5>NA3QT/E983@1Y*(;=TXDNGH<#$C&X2),.T(#J8RGBD;R+KHA3==_K^Q2 ML:23S5!Q39F-ERLMUXWU6\Y==B_$QJT!EMHJ86B!0;:2J>!7Q/0\T3#QOE(F M$K%FJ3^W]>797>T/.+6I'7J\[,9 TI&I$]JNB9T 1VI+.'I6[ZP6]%AFM0A+ MR5R.G_3.?\;O!PB7>'LT('5:PNU' W9 ]UI<-==M4'%N[LE,KQ@K)QTB14?F MH;3M+Q57_;A3?VII> ]3]\*R:7DVC2P*#9L%Z>E(+69TNVZ',JAWJ;#L#3!5 M2I/S9(I MX:[D0K%GY!T\W=-Q^:BF%KGQ?,*4N[-\W>PGQX5)Z(S=V]!Q)^\[#22S@QT!^:DNX:DF?NA,W M:C"@I^/S%HUK[C0\TR^(](1I5IOS>.A"Z>< M/V'S'<3<.9/S"35O(S9W&:1M#J=L =57"_9$-K=;(=M3I;GL4R.\WJ:T,>B0 M9*ST=8R9\X+N!<)^ ?P=32L\B:9K%,=BG"^43+:<3/)5.YL*20U2H,=$T6 M*&^F]=FOQ?Y72/"=T/#2[)*:F*:>F=\YX,BB^$DF M 3+9 +7LHE'&(ZV.W--0'3;&!^ET06+6$W?_1#F) MG62T)*UZF14;D%I!TKA,[5OP$H M7^1>W1O<0GLAE>Q-7!':R8JBQ!/B,LWQ>5+Q[BKYME3R%;<%7Q7>NU9RK)>G M,ZEE!V]G\^E1G9G$]DLC;EI:#O"Z5#9J5%IV MR_S=V[LQ?1S"VY8OK(\[Y20Y\*J3*5ZFL]E17\''R?[=/@ZK/KXB8)_QZ1Z/ M0G=DRR<3NFD+K3P^(J[I\BKBO)CA[4G=R@()6!80:U.\ 1+ MJB6#9\EN5^Z'SAH+-2A"/+4\=Z1T#2QRLL[K IST3WOU!F=5FMU63\S@FI[6 M,@-[H&CAVT']ZLG/SQ/H\U91V$ZQ#?5T]QR"T0T]M&IL]=@G89NM*6VE-)NI M3&;.3ZEB?]YVPWM-VK.P?4*5.U9/MU/R!FZ/V93H\I:,WK;@>/<^;0/!A8W7 MY\#244K;5L6ADFU#LK9OBKH(ENT%;Z(WZ^IC=&IEU[HI&J]K-<+%^=ZT$LX% MH?OE-"=SX9]BZ;'13X'IE IB/XMZ]Y3UB]QH=H[IR!J:!2_=-34%+ O03YN7 M0;5Q>U;45YR.SGE_WI6,GT&LRCG#NI+!@3LIU9:9E#6P0Y=(^,W1=OY]0L^A MS;_*';W\*-K\"M9_;S!7FC5$?BPORFQ;\]*\8%BS=B]TQL2KF'M"FTMB[@A5 MOQKRSGYSK26DJAW=J^59S26JMIOO"(W([6F^[W9S[540^1AK/>/-M>4$#YRL M.>9QP"12+8))Q"O$30'R,53[?6ZNO<#NS0N9@F92[9I9TH@HL]BDH[>'G=&( M#.URP'],YN#/93 MS5J:R%3C2F_0R-96PQ+)4[<7=/EVQN#I]\S>VK7Q9P[\1[MB)S&(CP>L/%6[ MM!UWU''X7[9'U5ZF MFNB&SD*[:X +:8!]='QWD3YZI&/X1/IS-H#Y8>*-IXEC)*25(JA2]Y M]#J7GG]##7"W ;Z^PGAB Q#28M[OE'NR'1>MBPU@ ZXGX90Q=@(6" M%ENRK:2]--"%B<9;RM-U)Z"[(&<9FI_BS@M.3W8FFTZLMU9MOWV]F0-=L:GJ MH.R3NMZ[4RZ2*PMJDF=-?,9+P^Q83'63_5!JCD.VKF7[S7S]O,B]!HB]);;W M(^(L'3S42:]@Z?.]",W>PI">X?6#%RC&\3;V>IW,.&2:B M=-35M"(SB^52^>QD),[">93NE_)0[G(=/KF^BG]P!I%679)*-MH*R]33>:U6 M*/"I2O.V@@XW9M??I?EZTKSU.O+ &%N\.9$%7@U6'!S3XFJ#,(CL8]^>$UH] M.VRIW<+$57@BETZD\6E7IT)I2S]+\!]_$,5_UP;?53)?Y?)=-O=D,T/?AFRR MY+#>$A8-4P%T/O\VQ,%RMY/"T]-. MLS'C4:R7&?8[E:W2L,O94 M+\N$,DWYJ_C\=\UTUTQ?:C5OT<;5BMDHS)G9%%]9CM?0:JG;LG#NJWDAB!/> MG,1^J?6\)5\HIOH3-PW]%$[*UN.@B/=N2XIOT4^Y2_8U)?N+K &8\5'*R%4F M*\8;9U(9RG$BJ^%-QAGO:P"7CS/>JG3>RBJ 2'56NI#IYY19;]%TK':N4E-" MZ6+?5P'NTOFVB_S"9Q*'.,;&M&*LF[I-0*H O95K? VU? M_^+&=RNHFXVRM;E6H=9ABT#1BDT&Y&1"XJC;4B+W*%LH?/%;$MQ_K)B_47B:XWZ:!499I@&1#.7< M>X^OA=&#OT'1O)7@&F.6QWR]O+*8>'H^*.6H1B\>OM.W[\&UNVB^_5;V\!G# M(0ZN-5O63%>*C2)>Q]TT03(3?E6[&]7WX-I7":Y=\:KD]RJHFPVN.=VI7LV# M2HT%>%G",]U(O#4)Y0+Z/;@6HLM*^ M+1&^13O@+M97$^LO$EQKM8DD1T_U)N[.%[EIN[>H]\;W#>PW)9A7]>!O3S1O M);AF2D9MQC=GCL+KZ46U:Q6*3C>4<^H]N'87S9I0:33/TMF,(&PG(QA>Q69W!=5S6JKA,S%C+388NNG00MC@VRATSZNDP3PF! M\UWQ2:TSA3_/U5["'-=JVDIF(M%DM!=+5MEX^/;DAY>KU$Y"ZAFN,_PH6Y6V M..4SXT4-YPW!,QMJ;; HAFZZ"BE;3WQ+Y=8<^BQ399SP\HV)8"NSCET<9#-= M.:[<9?6M3-V;5S_+U.BIF$H-[2J7S1L,DTFU)^:L(]++8NA6;'@3<%IQ4+GRH>4K<3^1H\3LC4R7LAX>32H,5<-JK/FLK"]Z[Q:54@\ MJ;4]?%90W,1BRM=*=N@L !2%.$ZO1U7R#,$NM5[]*JEOPP^\/$9WTDUTO,3' M*2Y:9=WAJN[,AW32(DJ"O"KZUUOQE5UF3=+[C&T"22&RR; MD#1X)K%86JW5DE^-;A)#+X[S"_(U8UBF8:'#Q:!%&'1_S=/X4L@JG5)$9NI% MCQJIIMV*$S?)TV?'>!O\W%N'"8D!DS"H12LV7^#MI4FTTPN*Y;LWB8UO:L"< M.(QR<8CNV"_9K)Q,%NT6SLX&BY94R]E"-Q:ZR,L-8/'L]LL50?>R^3*L,SD M\+;.E(OU;M$E"=/,W"2$KF&^7)&MSULOEM(ODW*N2C)D-)NB)N+"I>6;G*$N M;;V$N'TX/= %9[PEL@[1VO8$]&_#@OJ@:" MSJ^GH?(;Q=DUJ.XO4"NL^65A/)>A+!@ M=#('8C%=,G-X)"ZW2EY])(C"':.7QNB53^UZ28N^;7&/%D495<:K#5X6BWJ& M-V6'5]ADK,WXD M3 M0&?XX60JB?5%M3$(H8"%Y"B%#R:IO2Q@Y57>F::XT8B-RWTK,XU5S&GX=A?> MBH"]([DE>@&@9.6%%8]%W2[C&:+!Z:;3+3IAB+5WY:ZZGKB3GY[A8F)*<"2>C6MCNP\_T&9,H4$9B M%#+0P+$G=^;N4R1?/A,F(X?S7KE:*#J,ZV9+M00UP./I,"B0JT1O7%T.Z,;" M/Y"=HHN\)7(VBFW97,U+NU[4G)68S**?52;$<)PH/])* [SM6N#/NH_^-YMV M-N\VOU%#KS3*MK/<=!YQ6Y-)'&?VQ5]#_8K:SF:FCIU[ ^V+&#[]'# M+- -?P'PL-JW4GBOBE_[O7\[(TQ8+5><-!C@M?$(7H^MLEY^@3=CS>=XC[[X M!.?7EAR'\\VD%,UY NMFEB!7)5?-0F%QT*:__KW^YC.M(AN54WFSQD<8RV1< M11K-E*K#]\#XF3;1%Y]H<<#UFH,8L7)K@,FW7:[=$-4%CA]2U6]M\(F6 D7# M=?-69#'V&ETVTI)C$\ ,%7'^S.""3UYN\Y>\_ TA:+B6 .S@YP3PHJ_A(,[^ M_ /_@]F.IT)%J?'+R$(6G3QX>& M[?L$L"&51U'UOW\\J=<:RWK$,Z+396 PNL96B\_N^?P1/XKPUUIO3OO_W2MKP"L"+4 MC-_P;_@GAOX_'OR+ZN>QB06D__[X5Z>>@3]MD]?W6O3__JT;EL:K0:V+H+OK M1S_^=/B1"C!#PM!N;>0G_?,+U0+)RL/_-X^05U !;_T>&<[D[Z>4/D; 4Y/@ M[Z/C] O"EW/9ED>R"O'T>R*+%O9;A[YUVB2/MGIAH 1).,Q)D"D1X51[KO]'&?& ]Z>SH M2$\A[O

Y)*XD.( 3T6!2,'? MH^1:1P=?= 2.*@K4&)?)O +J4V4RM^+L;-1$$;!U2<>?]=:]6VM1P5"A26:# MWYL_GL)F/=.C24\()LOUD /3@G<=8_,@L"O\)WOFQZX2#\K@!S:#8VTZMFZ0 M" CJB)OG3E'$ ]9M<1Q^VZ)DNW.DRK,L!: M3*/>ZF -MM5FZ5H'Z]0Q:/1UH&473/X$A=5;&!'[2_Q/\*">PSH%!MNQ#+=6 M(9WI8/ UD:*B6WOK$?"__+DHI'/P]:W7G&%AS@1@LPW,L2"NB %=!")VQ C; M$LM9S,IAM32<\P/%=+E^?],4W$ MFZ^,NN3J */PGQCJQ%&S[:6OL>]GUG\69O76K=%L;1Y'J1B1)*@$!VWB)!=- M 8GCDY+($<)(HN("'DTFI:?F<2SE+FDS.D@PGK8:4!6Z4$H,QW?S."36VE>V M1.]&WVDB A:O!P1_8O6!:1F7>*I68+R4.T@TNX6BT/FPU1?]%E9?IT77VD5D MVWUILR]Q2_/QQNQSMD#?V'V296A80/R/_1=SC$]]?FN&PO69B8X1DVV4IX=) M,C0L=-?/WCM_ )7Q5Q9SL,V:W^2.61XK+%8ER2Q:BI=O:6"9:+KE ?W*0'"< MB% 4GHB?.9)Z YAX2QS] KQM@;%L(R7AU.";'?[6N+HRYGBEP,B16<7.M0R] M0;_&WUZQ4LG2-2S?JK.-GX&\%VN9A^NR^R]FR0L.A@:(%FH?AXSQ-M8V@8!2 M?41,UK&B8V.9B>\H_R?T@?U1 L2 MX*GG,K>7%;-7TK.6AC?)EB:XU^N4YRITA1K3 M)LI,>UHRDBO1F2I)$XJ,)^H=L>;HA=F8BQ[6V5OABT';,21FQ@R;Q82](,GI M@HL=EA3[3:$I-E*F0M:G@X8.!WF*X_\O"Z3TN[>F98Q1U/O&>*GP3Q>U(7U MZ14R.G 6-IDQ7-VQO(PA@JUWFXO%%,>A+ M>"]6RDP[8GH\2](HW_^U1(IHA$C%"((@G[4*;U$+_.4+'0;=[CKTNRVLY%JR M+E?EEKS.ORRO_]GUN3M*\G6'\56VV,T4S5\" +]_&/U8R' M_]PL/)^Q/^+OL#]N!YAG&-]79.:M0?@"LQXMBA:P[?4_%5D'Q$Y,I#DWU3C# MS56FG;5:\VAMX5B=UQ('R2A.8 QO.U@93A#0,<5H_X:O=Z]*_[Q8P.^0"N0. M%3(-JT'4LS5>(:-Y+J)D\E51?HT*;5=V0! 0HG#\W6/?23.^W/@S\,^ZU3$6 M^L[HDV42G[L+$5?*U5+"4PLC=1YZ6-II6'X=!V--$]_*J5L-V)RL M"[L!PQ77;+->O+"%'*C5(Y.C%^+;$-QA^/19?YE8_"&YIV3NQY[0_Q> M>KAA0'"K0]G<\V*71!LPL8JI,5Y;HGM.9,: $HT.P'@%;2DRB3^_]'"+<^)? M:T*AN';#@A(IF[R*,4L@^,>:875)0B<E^D'48;0'>)^=O[$61_^O\-@,R$U!W'G64 M/Q^6NG$:D(5(D743&:K9)++ZI#C M5^4QS]2;18'R^E6\*;TVV"@9C:2(:#24B\'D]87$?R+K* KQFT@^%>['(RLQ MRQ<@8 $1,UW+=M'2IF-@L(0?N"#(OT;_03,$2@BA!>?W+1%WO=@I4/%$=)0 M7#P63W)1@:''P4[3W=6]=8>V2XSCE)"PZ%AFKO3J MT;;1Z3=G='>3Z;6W&-DPNWVRU7!H!B2\I!WKC61 +G;2/;M5 R-J^\PARY$ON-OPQ9&,5:K!,T6PYE2Z8E:EBE$OK'*[@ MPEG,/[;\)V;R%C;G51=@_P=_P F4 8SY1Q%]*AW]2JB^*C/6ZB#0!H^<&"?3 M8\%PYFS9JUJ"W&K-#!/ER$'#L%?)UKX^F9_&HI'XGRD,O9$'9JUA'O-544AP MNFJ!%.$VV1Z7D.+CTUWA;Y62 76)6W%.!@E4KFBCFIZQ[E M56/$J^LN/1<:NN3!,2%(C=YV\UG?MZB+:%4>8",/$R8 \A2^5N"$ _S<"^3G M6MN@TF_L+V(=(YGPMI]!+V*\JL(B:.L/.&;Y")?&PT(:*=*YCHHDOG_**F!03@6Q4$B?F[:FWL+U@I%"+, M=N%4:4\,E'J\V:GA3'CGR5BP!;_?7W\_@/_Q>C3_^8GQNHC]1>X,>03E$18: M3>& T$=^>?@EZLJZ,O^2,K\G?D_1LS?GW5PB[)]Q+0MV)-B3A?2M MPSNNO1-GHHV^8NEU9+RC9& (WQ+4F.PX4 M!Z!"?%N&CJ93U<, G%H]S+^GC1?\U9 L[_ 8VLWR5.0?Z]B-G[5<=;UD'<5C MZYT#KAHD [4C'>PO]#+Q-T92Y,.ZA#.1;=AOWD0[",XM^T&OM](,[/]<4E9W M"(OHNA;='5F5;-,9K-KY.),Q!HPMCLL=N=V\R^HWE54H&#RFPN\!Q@L"E%5T MTY[H ]="<];1IQ@$2>3H"UN#0@Y;L39S!42Y!H?O_43S-*P.3FFHKV-L;!D+ M9[)Y_0!G;(")0))U/Z;D+YTB I+XW\_USG]-_+TI]FJ!Y_NV*8BFZ'7A9_JY M*2GKOAZ":F,4(3=!_%U+X^&*:Q"?QVD8]_$D/[V-)T8\Q(B7EIS?$40B'W#R MZDDM[]ZL\HZ,EOA#]%D_=TNK]T2+7J7^13RIRG%ELEZL_>0D=$/XN0)B0A$) M\8TDG^5HCAP;EG>VW#QDTEJ9=2N[%MAPJ./EEEQ2(D-2)A=5LCV0Z!]_Z*>@ M/*D]]J$(;SAD]J)9\M<6S'./+R1B>OE<^7!@N7;,SBF'B^ M XJG2.(-A[">&;-W*3P/VYCCOON597#3J[S?J4S0IQU9!+E873(JN0X+FJHB M,4)=CN)W6;R*]WMMR;RZ=W]+++UC^8[EK\+2;W5V]O-+&-(+2P4_,?GX"H^SK8*=?! M[ E0U:VY^!=$C[\B%9Q"][CN_):US6<7AO[S@&$#.,P-.:[K%Z(!'YJB%;8J MSWLY>.Q4D(JXO5B/]I=5:7?LV@Y& M!L?P_T0(M0"V0/]9HS'G9Q! 185N*?01]Y[K3/= K+N::#@B$&2-5W]@-IS$ MX?#P?3R_[8)=;%V+_=\?Q5KN2)J2GV7K)Q.V_0[67<=7R% S[X"[72^(A9C7 ML)6RT-=2Q7*9FBAC*+'4SU@J^C.5)#=8W9#A3Y">ZQ-/"%)Y[2"5=YW NTWH MW:;R_D1E>[*JBA 1T.-SS<>]D@]0V=@NRG;31YEV\G8_U)?OK%;^<39=M4>0]Q!_RM0M6\N:CR".X)\O%&R3=KCQ=H@JHZ M2+1_US">NV[27Q/?T#2X@_,<1Q\^:\*2FZQE_#C%WG\6XO_WO_8V#?&" HTX M5Q=1%H%A_=Z 98<*:SZ2/N[&(!+L2>(EV,W?O+K@/7M-DT3J@?J?-1!_;_%& M^1SW;SS%=OY^W(=TV9M42>(!K67LWJ1*/"3N-ZD>(>!Z*RD T40TD029$3<7Q$XA(O$M'-A7C7/_K[Y1.50W$Z^>.-CNB.1.SI'5 G[NFG M@\SKS;H^2L/!XPZ=KC#HJH-,O=9A:IWV%4_(OW#:UB7/5DY1#^0M7/$2SC#9 M!TX?)AY2U)W>EZ-W]"'Y8OPU)/3^U'G/KPKQ:;BY:_"GWLC=U*F"SF^7H"\P MV/T(NX_@=VQ-/C4]DD?(\9FIO0$=C(]O>[X0V"]V#-=EX'RY4\5>T;=76@[Z MZ &$H4?FUL5L0 ^C^#$G$WVZ]J(>L%RQ1M5>4'2#^YZXW0X/N6]&;!WC=Y!HB5= M6N=5SY;]Y>)']9PQ=#%(,T)E6L!V5<;$#'?TN0]>R\&=E_8N+Q4DJ07Y"95,/6!/E7\J.'QWWM2]\ MH&Y^(^6M&K:+\GOHD>$ZFX/(6K*MW#5R:"0C2MXJV.\:^99Q]^TT,E2:493K M8QFJ#95EPS($("+UR"5((OD951Q]P#85^VKXL>J[G@T-WJ.W$J:XAW=O#5I? M4Y4>KH$5ZYT"T]I9O.*(>(),49]>&RL^8'[5]X6Q4.(;W9ES,Y"]J\Y;@M;7 M5)TOQP6H"I.G*XU6/<,PV6(MW^:B9(H@4I];,*N ,:\&IJ=_\NO=]@P/RF]& M@=Y]_"^%N^^H70D:!3ASO. 8EOT9E4H_^*%2;%W579V&!M9W=7K'W5V=7B9D MRGTF,$H^8*R^#W>;,S(6$V[W-!,5-61L$-TO[-NQ=XX8'^7>->\?= M7>->*#S 98'$HRRJSV4';&K!7!/=( -TV;!V-.Y=NX8&Y='8K0+WKEUO&7?? M4;M&N:JL@S8O %>L?=7:%>:!TKQO0+Q72QT^:B>)3X M3!@V_H QRPDDVI%#[NZ@OIHRC5_]>/1WG! 5$@;?:?.&;KSQ,-FC8P_M^;'H M\-.KGQXKW\^#!??S8(]!],XX C2((G\ 1! MB@GQQY\+G15Z<)[T2Z>+96@6)6;3K0'6[M =?QJL'_XQ4 MZO4R^KV7RSTZI:;MYV>#NA18#L3V4;;(M%E]ZJ'M?S[ZS!#QW*0[YA_ M@NQ?#BJSOAX;/5G?A?T?_RAW7M9MV.GM$23.A'?0"]N1'=?[E"0U+GJ-K''86P2OPG['O],*>(@<87:R M,$FD4K&?J$)>\V_W>, Z$V"#W=9@GP1@Z9CA6MAH?2/>3\S8;L+W5]@?+_> MSWT/&W[DOQ$>M_';V )=%P'_177!F41'%8VFZ)*/^7JI'BQ-^'-=,[I89+?9 M#[3Z$UM,9&&"\18IPT>@0-Q"A'C :=G!G\,;ZZ@M?ZA^? M2AADK6-8R ;$)![6*>N"ZHK!Q1<^WWT(H%:?9^018FN\MZD*0Z=50HBXJ/=; M'/&R=G"/.^RZ()NPCH,WMNUJ!T]'0)7!_."Q ,/7I,QGIQX.F5%D!JO?T*234TT=;)#U]@9!V\,Q NE@^[,1& MQ8*#CI@6$.7#D=B38P1RH.8 !V47LGK0X )]OGGFWW#@8R[@/OJ-Q-S'G"U# MM<9;F 9X'2$)0@WB7%_?D;.]=T=\/%UC?9T*9 PJ#Z5)YQW7\F'MN0*_RCGD"WT#A@[&?XO"QDUYH?D&2_I,1A MKT<\NA@)\@DJ:DA19T_[_<0V$@7_A!4!@;>=8/"F94P#KL/?_A;\/2WI@P:R M'?;4A71"&F6M!1<;\H+U71H03(?'L_@*0@KJ\56(Z3?U@/4 G&LL= B AH & M481J>&&0DF5H?AECH>] ;>2*4#C6.GPSLEU-'1#&SR_P6Q(!U- J>-J="7R& MQK36:,&LB)K;*>;7!TUAV]"1(?83E1=XUQ<9O_Q:K'V$(J)I)A_,C8J.>BT% M6;IHGH5>/Y(N29(%5W5^^MWW:]/175F/:MB7A,UWZWD=RCC&2Q*:?OP."HX+ MQZ9.D+'H(4/U[Z98']"'#K^\!#[5*@CT;5GCO'[O4?#?\[KV!X0 M3#X^VIPX[73["@#Z$N/)&F0 >G]H?@404&,/@SV8R["\?Q,?-"?74Z0% MX*1E(Y];Q)+4_VR4./(>T0GC/'IN(6O-148 -.O0+6*8!Z#MB*Z^NR/UCM0G M2(5&NAP8^SKR/)3'F1..$7H@T$2%)I:^8Z4%=WB"X/;/6.PX"%&@ ]T)MT6C M;^<_A>,=C7' MCJS5C6=QUW!W3#T_%R\@MM#EQ!OM!)4:@:6LNW[@MN7@3O].(,#WXN# MDS3R+_R;C[<%D0N%7(B)9;CC"3:2_5$CHQ'-^<"^:[H[*C>/'I?T?O]+\O]W M"%0_?F9:T%^5S;4*1#%2:/LYF,E[ZV!T$)K?N1<5$\'("58)@&]6 DQTP2Z. M(73]<"&R/A^#?@+4H_#O(.:/'/L@G(UJ#VH<6R ("MR!? ?RL^HUB"A"3\=$ M.(/S>1"G1A%;V;<@51YR +,G*,(S1M%-2[:#>/8:VU80]/2G_,TK2?6C-W?D MW9'W+/*,$=):&XT&8;-6>18('H%G-:6,8I=H^>&NVNX >QY@3Z(W#AC[:RE! ML'OFRL'2X68E&PAH(7\]/Z^7LM;K5IZ_U!A5;:PPM.\/&D*U_?;!.^SKX>%2R3 MHA5,V&?9]I=A^,=8NPH'Y*]4KU> C.T*]-O7@HXN #U=N5NO /K+=L&*N18D M@BPLV4&Q+W^MU$*I'B\LDT&&R2,W$%S8 1?EMEAH(=WV-4*PPKA6!B,PX57I MI[_X!'L&^VU#A3)#IZQ+\B:)!,BPV[HC6V@CX#JW9[URR5O>;MMBL$L0?@A4 M&RPFT(K:YJ&\F*/T<[V0!R49:\!R6/$GMCVD:)V?L'M6T3I-X>?FW1GO]MC- MB-@;%:(?K>N(WX>#6/$89_=0F+ L$H(W@2"G\IQ]X]!.?_/P:<>=, M>[2&.0*;A*B?@1WKCQ&MU5OH-^0I0#7ZZ$*+0(CAK^;R;;)G?8@<2T+=279$ M^9('N8X[U>[5%1& JCY5C7L7DEXOL94XO ;XGMYZ3V]]1WKK64BPDP7ARR]4 MKT&.D^6K%#][2?*S2S9ADB='"C'+(% -AZUILJ_O?JX3"_R)P1W98.:BD/2> MKK+WE-7/ ^UL/U'/F75BT-.W2:CI_$P@=Z3* IHS-1?9 ^OTB8'A8D%>&IPR M>=7=)J4\/W]IO/C&2>,Q26TAVV"SB(E"1E OK"=0^/RY%,OKY+HT-OE^L+]S M8/L&Q6.R'=0E4%L$N2ZN-0;K0)ENRZ*?_NGGM\DA?:&D;4)-"6N$/>;M M34J@Z/LMTEO9O[9Z[W7.*;3T\ M'R5CL>2(DRB0X*)Q(<4E!0'^A-X, 5*I*)&,K;?U!%]L;A6_S$:?E_?V[(9E MH)<;\0,SP0T-6/$!>^[F\O6FGF \FSM_3S>>=>_C!T+[XBZEERX0/L<^I&,$ M?V>7>\5*)4O7L'RKSC9^KN_$J&4>,+J6Q=ILNEW,%NE6D6D_(7F:KD"V,.T" MPW3:7")&Q5(A =2//YEZ+&\5$G[= Q+ M?7(\?_GVL^&BJZ-0SG]@OYB\A2'3$OPG1#W=O21[#R^_TD,TI:CD)ZB4E7%RMI8]'D* Y_6C(> MU:K%7"I)*F#6(HS\+-VH-1=<]+ D,P5NQ1P[93R2SINI56W&UA8T%SLLV8E$ M^&E4M%@\@R<3TVY*%PT7E3P8$=57LS$B'RO@$2$NR,,QWR=+35CR8$3ML1W# M^]W%DLG;1(EB1ZVQKHZY^&'K0FXIR&)BUF+EFERJ=05O6+(7L"1U,/9D@;9S M-6.EY)/E>=I,M/*#&,TE#NO,CA-]4*! FBWK#J,WV]7N8DASR<.2I86R6#'% MOL>20C\N9TA[.?,67.I(2="M%Q?< 1^6#2:FJJ==A8T M<;]G.-W)@CCJ DU2I[LJ0ZCB)#PZ?6[>E-IPJ+'H%)5*>=6E:JJ(K6 M6=8*-@1LM@&'=00G]:R8,H=E,L74"YZ3L2=)M0&I2AQA*EO1N5(+U,=L!A"= MGFA'4V,#4N (KZ*DG#9[5(IFR:IHUK5%DI()6@&G-^Z'A-IA>?S-JC.+6WM2KJQP] MFRJPZ!$,1%3%',E2-*/4.6/ U=A!J3VC.?((!@QWE;$*6H['X[UQA5S:_U M8%AIELVW8FQJ@$?J9:K#J8IX)],[Y?H6J278_4Q*GH ;3H_J'<2Z52%C>.Q MZ6#<8G(E"!=8-/ZT:-=)L-5HJE%69FW"FZ>%3*0,%5'T"+>27&*>:!+*F.F5 MM6F/+A"5S@+6>H1;=L^RG:; 5YF(9J1JL=(RS=&PZ!'9JN33^:G"RH[2RY;4 MB49*$V1;P*('VL5>-I-4R>%T7',IPJHUS8*SI%'1C79Y1\Y 8(HC3WSMA2.' M5 @+9='=.7$PBDG?5% Y&$'=&A((1 M4#?%[IP( R?NNNFDC'C]9-W7./*:0W$Y.B3?08=SFNZ?'G'RDTL'P=+3X7^W MZPB;X4,W%='DOS_('Q\E!?% G?>TY<\2H^3J .6@'@S^/ KHZN.],/-?G!:O M3HS=).1; <";UFR?UX ?SBFZ3P*3S0#K".AF*YVYQ/QS2;!-CE6( ME02)D]1-*8=08R%VZU@@;PH+(9@HMKA)O(:;X(*.Y -Q5KJ\/_,F^.PA=HPJ M/_[0M@UVDL[>AHJ0J8-G!G<>VV#'$-@]=T,0 )"DSWX/W.?S[ MQ";!9KX#RC/WJQD),MZ7S-R1#)@=C &S M_6,9VX#Q!EXP\.E?E^E..C'I="<-&"C-*+]>JHVKZIRK3EUG^_2?+ MPAQ$K2,RH%;DXJI;Y^<[;8041-5S=:]CM6SQ4T[35<-6+/]_/Q7P3[ECZN;_ M?C)VP1/K]IYRCV/&+AWYAH2CK+T ?.4<#_^&_*R,7E!3/V\>+/ 2) M'/%---ZO^*_B)S]'PF-A>36R^8:DSZ8".EPT-C()8OOQ3U]1/$\1['___>-" M?/UH@'\X%7\]?N'6=?R\OH\;T'$4>U)R3"[)I,:JP5R1*'MAB#(Y%&I>='$E ME_!>=W.0&[JT[W(L6]\M:8Q>Q$I.??K*Y!F$NGD=?T>+W8N;<-=D>]YIU?5T M/_ ,-2F;'@L9I'X@]7,WU,_'GAQ)K3$,7G8A"W1/+-!#6U??#S]@8#UY04Y8 M4WZK&>@E2@F0YK*W\[A"N;WL>_,EU!/;)L8675G.*.#6I M'2A5C\WUI/>?HR>EF13+O$%QVY;6U0P6E-!B;5ZA.]")^0?$'\]!6G\5\J MWF^0"A"9UUSM\X':WR]WPQ8%=%)@-CSF]LV&P$]M&^4^?:4(Y(^7.\@]!Z"" M(JAXLOXG2J-ZNK]^[G,">>5[XI6?HV\AN7P3F)T"C(X>_-I *DJ*2OCK054J M%-O69#B3> 0391IPRB21)VGLYOFFS*EWQCCE<^@W));/9R6\3\%786NT5/N= M!M(O#N?VRB/UR0P46HIO0!22C]_PYA4\R]>=&R*406'*8P^)IW!12"C?.J&< MA:/@QLGCV[#^(DMSOCPK\,@(EJ70CW=&]Y+0;^"'3!JJAYWOC195N2V-0F>R51%S'" M@+ (/(]0=XDP6;9LLVK&"D\=.I[E#D:Y0C82LI%78B,39?Q^!OBO4A4(US_, M>_W14"J$DXU5"Z5UK0#J-\=6))9GR-MG*C*GVY"*O'_E/A\5^2[M=CMB@U-' MY;G4+"@M,_"DJJ,"[8XM.")/O^(0OA7MSK*U=D,\9-?3UXJA)2U8'?^'!E_J M#^G.D*&\$$-YQ7(863A!3C.85UZ4C!\Z9[,HG]"!/X(#YVC)(72L#X0O:>OY>'P9N MH%CGM60?[ER!%.7= _[Y B9_@^PFP<]F+K*VI,V8[JV5KNDS?@0:P(&T>Y+, MTS!&$A*3D)C,D@WW.YT><:5"Q47W,\3H;?Q)%-*#G9DT=01Y832>9^GSVVN/ M;)QE.TH%%&Q8VXEYYF@Y2U=\?>E:6LZPUYZ[/;9P3I+#( ,)8R1AC.2-&7Q= MSUW'6[3O6HH# I>^:7O\];%9N]X"*M\#BR+,)5\_AC@E84NJ&MJAI02Z5M;7 M7OP!"IAQ_)><[<;;?DB^/7'B%)BPJ(J=]0 1@B*UV>M,, ($ADA!?SL\@7@%@--,92AO*&B'ZA W1GMZV]'$$9AF;M!B6)W'Z'@$F MXQR]QC)N<,^<@SFJ?/>GD"XUNXXV+#VKS)V^)2 M('OS VVM%S**'RN (GD4NWW:(FO"?FXJ,I.3AO3D.0W$5U1\(Y7&"K>=>-$<-I'QSEKWS;U3[9GUN=-I6B+ "V!M8GFK?<$T1IV M:MV1QE,[Q5*):K/6C2*@]R /&\T3#.PP]+B1CT>3#[*(]\(B9B'X"#*&ERZX M\X3_KJ/^,@)>&X2VP'G5)3)2T?+>7;9FT9:34>J8U9*GD+L,%\H<(L!X1 @) M%RG3\P9,:+<$L[\W!TO>J+=86N0X3/,7 !.>NB5AD U\7#:PK,_U6'*TG.&H MKJWG F6G0R[PHZS"ZQ5[R.2:/)F-L 3&-6S(9TVO)XH^4':O\0E4:>\.&=L( MI'#$%YSUND..:5%&DPXR*)VG6)@=?1ZK$4+&*;,20L95;,QW80;;I)C&?%R= MFJ$I1^)Z&"Y\C@.8 0Q-)D\2L!CDO7*0?U0M!Q*25ZSWB,<@"GJ>6GH6"[+] MX_*U'B^_(!D_5LYO4%C*:=)S!62+/W"=7 MD3D >5-%QX="D+=4W&*DL\QF]9,2(JL?BZ/VT#K-?+4+R?:2#I8M? MV]+BP2U#29;%>"I6W@];Z3.1C3]5YI0Z8Y6_/YX=?&RM/B/3]U:U9DAV M/*T;F&/V[7VM.G'\:%-+U!J42F3R# [=S_=*Y[S?8O-"77O)[4!JY_:IG2S$ MP,.TF,N:?$"/7Q#UOSX>.&G 1Q11'R%5J<:MMTUGLJ/BXP%[RHQF[[.75^90 M :;&0%BX@,WX9ER@L0/1I>2#A>RY0W_C;:=&$"6X$)N-))M'T;L,. 5C*79-[2D+%.L#I#XNP'B+Y-SOC%&, E[P#[K:*]K^VB?R%B")[C1E*U46G3B^9 M($+7L4V4E*LF\@AR?I/HD>V?&V+2@(P!$8!4&J32()5VPU3:LR*/C&!9"OUX M]DV<&6^K9I/SJAVF.(SD9:+9P&:C\BP" M8^D@ YC\^JGU=4D(S0QKP#FC 3"X#I 8OWH3D6W/[-]SWRP9G M-'V>VIFCE4I4>ERX[@U%&3O6H,ZC%Z@"!I4$)I!"EO!JK4O>@Q9JKZP8"UO3 MI7YO$/8-:ZJ4" Z@!96@!7J7:)%EVS.KAF8B4=_\S'M(#\+RU+ \]?U8F3\V M.7W#R=%9LMIH6ZT()L74&6Q>KR&F'9\<28EJ(L_0L-,=K% -*U1G C4NU1OY M#;"A4)(Z'+%]EM^SPTJKSRWJ]I\\>X M0(8RJ^WS8,3BS40L9G+.,(KQG":?ZRP&NF>_C'DZU;>J52T1/31@^*K5&*$= M;MSI;6.(9X]&W\W3 5F3>9C]_*"*?D93[FV:7NJ2Q&AOB()9:&QV*$X8 V7/ M 4V/C3D6R9/$^6M /;+AENT;W2\C&?/QCWS_&Q.X=CWP8\@"0A80LH W9A*> MC$[JN([Z2P*@2!A=;-EU1'XS6C?LXFJA+P+\DG!$CT7N\_F<.&B A"+'A M*J&+KX*#:8]&:#T(1%.9UD015\1&.$G (8E>I)"[!(6Y:)B&CEFB@N --3=(DV6+=UL)\F, <[ SDRISSA M=L"/_;E&F I"B:T#21:ZX$C $^,3H?,L>?[DF(?#@RNG7&:%QG*AK% 40 1B+&Y%$:NWE$R+)5"*_CD/V$M2&O'$]Y M292XO4MUYM8!%D:\6G0AU)0,+$RVZ:??F] EU[:-P-:=P,_%UG)B#B=M#E7( M/L%PN@R&T]T0ZCW:WL,H,BCP][ *D#R Y $D#VZ6/,C:0D"N '(%F> *LK80 M]Z48M\X$] -7-9>NI>F>#^:(TO_)Z9L0S!WR ) 'R"0/D+59PVO_HTSZ,M?^ MK,WZAN7[!B[U?]70I^OI<]WS=#"[^"#/YYY7X/4_^\?K(31E8VMH>A) XR\5 M3_?EFA#AM%NAVKR]1/GVH'&0J\Y?!];5.Y5WQ-%\FVMBLW053_#Z@1+HVE"Q M0KVK>WWPKM]";)!CB$U'\3Q9/BQZL^4:&YB;-E;O!>5MP>PLXM4]VS*\*YSH M8NL0LG9+<Q' M$.3#1.^X2CGEV\OAITQ*K""K9YS_A;>_[OOA"P5\ M.7,-&U0;)48^F!MW3LUB;8R:5>Y^=OZ5J9>6'%[L<",;4?AE<7\8\6U\%$_= M<=^".Q^+3$;RFDG,A?M=5J$WYO:],5D(\L]?;%*R^,?OP9/B)8Q!QSK^)-+!VS__*-;9 MA _%ON\1I,!OWS>4!37-7,SH^]74#K0Y-FOM:'[DV%& 2 >ZLN6@FMY]P$M6 MB3 0T>HZ#\""'2?Z?NJG*\P*PVU#WYC[<#+>D]..OIG<*@7VIXMPV,WY0[&W M8:21U>=]U=4'N\H"\E]_L?YOHG]&ZZHSEO;KJJ284GUCV[6E,QOO\V*F+ M[K1O[3G%0 K;8%BO*S2!KF.1(\[,?/WGAH3O7>FTJ0TX1?J\W &KW&H*AMQ< PJS7$YFV!*?;ISH[A/GU%\3R) MG.K0\F=B!XB,Z\K9^?*VW[/<^XFW#F5QU.$WHC&*7V^ZZRE98??/JU[,3IWQ M.E93S?V^0PO-58>:%XZ2AK'490BTG!+D&J&CYW DGP.JEPPHZZINSW3O^:=8 M/A<_8JW'G[O5K3V,;\IR?%,6+NJP1/@%CK+$:C]1&&.-3GQ/V_$2$G:0U<;> M;0^*&\GXL:4@3MY\48S,*?29([JRH-&P]/I;/,W-U05!L7OPO8?\7*K15#*QA.3E761J!8T%,*/:4W MZ2F]@:/A;,;>=W7NQMI<=TI'77YQ8)PR_UKS?L@*^_A&C2LEKD'/"*:YD(EC MST &S=,$?8\%=#.'#]!'"P'BW+;C'R$$*6XI:A+U7+Y/N-[ [A0.K94($ )8 MDS2=I]'SUU*%[N&;< ]SJAK:H06\A#DW:2FCNO;:TY>ZXQM;/6>Y/JQ[E&D^ M,)-SOC&.\.=(F1NY56=MUV'J(Q3U!SS;;XA ZNF!8CCQ6:\KGA._%6P5]P"M MXK)P;81MX3+$.SVC /\$ B\N 65];JC&J:9-0VTOZOWUV#1M2E)'DS$7\?Q" M)I+V<$2>94[%;-W\G3)SZ)*]!G%9@!?8#"Y+K-4?X(L_?YQQR5C?4%L[_98$NR%?!+G&P2]QMFJ8OR^[QB3:? M."IV"R)%+490)_.@"I?(,=?NMH3('"[!9'&P6=SV;\DW M(&]F/9'P2[P4\ORD1=:KZA;A #!0Q]@($KE]8,BRR9@)*O0/FPLGJ1$7LRHA ME_$VIA2/$59SPYFE9_&0^)?*Q#]TAC9 Y:WD23/A2VO(4BA=ARC>;';P67JKTN M+B=^334QS^F+H]VJ458C "X42)MG\Q1]*H'YYL'ED@;OOP,EEOXSO+FJQ[+E M/;\Z\<),&\6<%;J[D.O%K^KH&ODKN MQTF 8<5P%$>WN8;8"6'3_S]\EC\"/F,@VU_1CWD?\#*OGCL#\\JJ+IE_>>U2\WS$\Z\ MM%AZ;?$7R_+BW__[?U[.YKLN%E37%@9+E'.A%V:>KI@%91Y_ M_!?%BI2]_WR!8S]_HSV_?,-]/(DM V9K>P*+];M"0L*ECX/ MOCS]V?//$CW^]D/73X*I< R"!.7<.-"0 BO!-E96OOU6)GU?Z MU (JR;$AL_.9SC T+3,Z0\D$J2 RBZ"43&DJ2ND8AJOJ[-/Q4\\LY4]+-_OA M4YZ6918???$O1_56J\QU('7S1P:OWBE]SG&=2$[3V%8I"9TRW^GS9?!57VC5 MR]P@_J8_B/_3YCN#?DZHY)(YOK9:):'=[?&U^$'U(9^+UTEH\]\6YMI3__3U MGX:3"Y9NZ,>6EY_/Z3M5CQ5HK7O'DA4YQ8Z1*_#_E:57EAPEU.(]TR[]5BD$ M>?EB;S0 GC0>5V8*H3932)E@455F- :7:49138M9P,B MD!O;=EO:ER4#-UKXDJB*,BIC/X_<8A$Y8,N,RS>'[0+I>/["%,!(YN>10TWN M<#.O.39+$=N?*&ZP'M=%&4L_\S">ML,FJN(F%4HEF7<"@UEQ\4CRYY%XNS6, M7&E:XJM-O:CBJJ'B_"(>F?IT]69>0VI7,;!2!3]>:C9][$" M[F[FTF@G[E#Y4A<-L M/NZ95:I6*H>35@7KB_'(U(NR^(;H;1HB*95$H5>SVH0EM,'(](OZ".I2_KPT M1 P;F^[8EMCB"@N9D)&?1P:"45U-?-9'=+,RF6]=OD .N'AD:DKM494NZX?2 MR+0KK:Y<#_KS3O+,U)0<&]/PJ6'7I7 OC@:+@2[.%V!D:DIXQ'BX55W6D<+4 MKLGDIC"> 1K^Q)0&\QY5-CI;@\>&'AU5R6*E/%S(5'I*537J4 J-M\T]HS57 M TS6<)^3Z?3(PX;0MO.#VI!*G*[V"VUQIFN1S*1'5AJ^$5%J5)%*S757F$U7 M8IM;R&QZI&27S/9\YU:00HVE^UU5T(U6%$\H/51?(1%*B9VN:9=M.M!&+#^N M+,!5,OW47@.=M#B#-T>BN!_W#VUZN8N?BJ>'=@YAU^\?"$GJA[;(\I;@^;7X MJ2F,+ '$_94#L0M?@% M3JQ_1>WO40,IB;S0T0:QW7/P"K%$HRF(+ MFI65HM9)TD6$9KD_:>ZV!A=/"SNQ!=/!6G*GM:",E#81LRE0VY(AQD-/K.O M'H][N.*-D()/UI1-G? ]-!YZ8EUIV?,6@M4MFR.24BF;8)MR+-C8"7GM+%=^ M!R/&$U/@&[Y4B\QA.(\ F9%6K$%-FC=%W.";:]F1YCW+%1H+,!1/@:JVQ,=N MI5V6J)*D=ZVZ6 8R@">9A3\.%;>L4T56%F-BRX%M%4V=7L5;$ ]E?QZZGI!. MMGE4:WB(A(H3'UJMV#;0@C$0Q- 1N)3R-\ M-J]OD*K10X>!U=HL.LE34\C6G/HB46JS&]YHK><';F_/-BP'AJ:@K3CN+::; M)K_EL;&H\8;7*I?8" Q-8YO.]%K[\3Z<(!MQA'G5PYJO@M4Z(5KNV),=;5= M>*6T[/7%XA)1[/AE3XA6NU_D\%69[9M]VT-+S&Q$LG(R-+4$>W\7#DIK63>I M%3?W0G[*Z8<(#$TM0;??1^2L8*6Q'!S'9CN)YUENW^ @Q-S6L\DJQYX)*89&R'6C@R M.U5>39Z:FA>!U8QJ94A*4JF.N^T-SM31;O*NZ7D9/#HN:(=9E;>Q)5)5T06S MD.(U.*&TU&X\),W*W.&-$C%K# O+]JH5O^P),#2&%&HWD6H?L641)QF>5*72 M I2!>1Z:\!;?KO]'[C:^^EO*VM>_/'_QTO8$M^6GFS*X-*K'R^:/=_,7Q-W3 MQ1Q)7:@#[_E3GYZ&'NW6MSF'2>(S\FH6Y(MK[HOGN_$SYY8;/5N]S]\G]Z@O M1R8#M,+X+8/PQ!8E'_P\5)GYKA4&^IF9@U]3>^@[^,F7/-!?DKC4JY&=<",N MMA$8U(@L; 3S&7DU51ENQ,4T@H4;D8V-P%"X$1G8".8S1L"-R,!&0&C*S$9 M:,K$1K"?D5=#G>%&0&AZM(V T)2)C8!6T\=NQ#L307[+]5UNULP[(P#/QJI= M*8;@3Q=!=2WPP__]1'[ZPP7!D,_4=9/EF+\,!1DL/5W/M>-?+/T<[VBZ]BTB MY+P']F75XT]C33Y05-#/]$U+2M_8O2(G$#T?%CVQ/U4)]C-VW@7Y6Y%_;BEU M4Y#XYP+P82#Y%Q)!G+?(Y-]+A+7/H;S_2!0_M7+90;V'R("1(3?(@*T MAJYO#?WMQA[3,M+_IE3_HPRA&[X;@+3T6X'$FY(+XK;9!9!1#.7BP^7BR4ZZ M;<& @ $!XPV \6>FU+5K@X!L5U":(.?I6]T)]0\SF*X]L1_,QDO53\I"P6G7WW%\4=$Z4M>*Y]K,"CXQ@60K]>-UUC]^I5@A6E_-]/?Z_-E!V)^J7 M$$M\[M2WP]"D>%'6ZEN*;XU! B&HVHFR>80^U;CP@\[!A\0'-)-:L7Q?A '[$"DWOER-=>$J-V=+*X,#ZNRTQ[51]V) M-)HV&;HUZ;(,&\E)=2,4P?(4<:JU/80'" ]OBE7,X$PS ^@P!GZ#2"^&Q#8 M=#MJMFOU@ _#.MF#!B($1 AH0/PY0LAHVH @^B:^6LS*7:E*"T79&/N*5;KV_:(E!)U& MN89;IC*R-,[?L\%< 08$BL46!$OD"09_!1]NS3=U']ZH;$SR]5S]U(D@L>U'<^R=^%]4/YO=FM?0CY_5W&')3?F]W:AY#?F\;?VW26 ME@U/5X/X6N8'/B@5K/[D/,W]TW#BFY%O;)-*PEHRW-KGDLPT78MO8^OX)T9R MCTNZVRBV&T_ZD/S@7U^@[_7C?:]W/N]?>F+O?-Z0 GRL>?^2$+SS>4,Y?ZQY M_](U=N?SAG+^6/.^<3S/NFOB6_,:%$L^H*]8BO?<4C-2%KH/71%9B<?QD\V-(\66'XKN87EZ9RKNGX,??J^48-8OU?IVL\$IA7@X7F\.DQ0"UI!*U MQ)A371NA6CZ<6E[=0W1G08>_U\PJCRAER5VM3&,YC?3M.O#')3'63/;35P+- MTR@\,*%F/M*!>8E@O]^KI3 NFC,;+:S-#;\0P^JH1G@<:/4% OD()(^PKYV8 M-^CK2]V?P]FSK\_UW+U'3V#T(UW?RF4%[V@W];\[^). M'UF:DP"A,/]!U_M/JLXYF@ 4_8B38*!_ B<;+4XC&6P\,HVM3DM+;BHL.Z#1 M87S?)^D\2IS1?'E(L,AF.L1%C:#;FO\]$ T?@Q6SNF1'O3JWE?84Y[E\96:6 M:#'&"BHVJ=@\3:,0*R!6?"R5<5OSOQ/VXV/@8K5U-SK5*,O\QBI9PR).N[Z^ MB.&"_?259?((>4;.$L+%+:@+-"UNGY+Y&*S8UP-5V6'&%"E9"-NIU 4R:@"L M '0-B^8)G+WAM,OOW R3?,# #13K!P+F5&@VC'=X%P.3734_ ]V2W!;?R MDF<6YD^IY2=@"VT/G!'.VS8O3.6!M5-,="*),@O8$YK)$P1TR_ZE/9-=03^# M\9+=R=X#"?)6I>[Z;;O:/Q2;YF9=7 O%XF'>%KE8J:E8J='XWG+&&E)0J>]' MJ9\(C.Q.]D[8BK?JM3$I5D*+V[B(S7O:QD%V-E5?Q'K-?OJ*XFR>IBBHV%"Q MX6F="5[AK5J]6&)[I5%3<9.J;8G:J%>M5U%P6B<5FW T3^(?7[$I(Y$>3%K; MC\,*ECX/DL^_8(6GA^1*59IM.(8?@$OK5L_IN[7N^+K_ M<;6K[E^/86G;NYCD U&1=S[)RV2377TGH;C>QR0ODY9\]9V$XGH?D[PE=+UI M!\:O2CWE0(]8T#&0RI]%OFX\V> /(32GSEY]*-T?K:A%9>@\J&2%_";1 ^H\U/G,.YGN)*SR0]4>==HFYS>K/$^Q9%U6 MY>JP.$K4'I3)(O(, G/'H=K#HSX+R9P?I?/85F0(32IL) 5APWB*0H]X\WB_I425N*\ M0:4\?S+E;W2RL@ZG56=>6B)Z;]3AFT5<+$HJ71TF:@FNXWF&I:%:0K5\H*/R$IF,O]') MDBFTG%8+6YG->F'4$58169(2\S4I6?V;\HKW$ 8 B(7"## +\29]IQ:@GQ_Z M^:&?_SI7[OY2\?2WD'V.'AK%(8O*?&E8"%@MH+:#]D)&"7#Y!@UJSFA1/*1> M0W[_;O7Z_+?V-ZMUT&N,HLV8&B**O.CPV^:LQS42M:: 6M,HK.$*U1IZZ[-S M\7^S9@\%>DO;_97"*^W(;]76HV;9232;!>=4+=FL^][*^]N(%2Q;CF.MKN_'K'CZ6 M-[A_;((>]YM#G8M<_U_J%^=HW OM.N6 7U'C6G\=16:AJ_.3?E0NF0M.1DG M 1!Y%&.@5P%Z%1[(JW")J_S[5'1C"?P@:FUIOKG1\2)>K7,(*0(5!3V<\@0& M2Z!"%87^^ ^_EK]/2_FI9=E4P5_K$G 'WOJDJ1-TS<.^ MT1_MNL_P_._J;I\H<%^WK'@%G\KE =C[H5C>4^[/"?RK#KP.V@A+#9YJ5^W] MMF B/6DAHU32^BA/(S"-%S9WA,T=[X1D^#NL:.VXM;7Q^D-^(PW[_0-1GLMT M!+ "=%3*LS@L\P&Q O:-OA^VX^_@@A[[@M@H-GVPCELRM,Y M@^C1L-4*E"'=K8A LZE8LZD\PT G+M3LM_,9V9WLO9$7;U#NR;PV$Z;3;DMJ M\I0=LO7"9CU> .5F/WVE21A'!94;'MO98QK>H-FMKC[?M QOP&,*YJTF=(_% M>XE!#O@$&L\SY,<7+18J@[JFOKN7^V7-__5V[NN7;./2Z"S#@ M P9\W#H?<=1PH-\G #!:43Y">6W-%%HK8;]JC.L1$@,@$! @),'[CYBF05RV%TBC."?!"6'A M%M0"6@IGM!0NRIB\S5+H3MV.LG:'#6FTJ?>;A+*GC.>'*A/H=C_^@*=IK=7P/[JNGJEPO97WV_([CW2 MO*]6-_;J^PWE_)'F?;7*YU??;RCGCS3O&\?SVW% '(MPU9U ]W0_>$[[S.<< M/8!NA=MQ*]Q/W>LS1T5=(#[R69F.OLZG&/&.Z[C/3M!CW[Y?>C]'J&'T2Z%6 MD$I1I>"5HZDOS"(90X^1DQB2;H'U<7%2]Z^K5V?L[J=LY\U',/ZMJJ)M-UJ7 M!V7#I**6MEV/UQO?$8&J)FVM$#Q=80:JZB.JZM7K8)\WA.@RX81_JZW+U4XI M%' KX#=KL::H^)P^,,G!FG2KIDXTD8?:^HC:>M\'ZR4"_OY659E6(R(4:M0W M-[5:06M1.-*J)0=K$@&8IYET$^N_#@#,2/KDB[K8'WL/OUDZ!>9*?K3[+\/S MOZ]<2:#%+W'O!T \9:-0\QU'%SG5I#:KV9@N]$H]A)-CA :%G$Y8*)!+H$/ERIW_1YP MH,B9B(FU98NGAI+2CN9C%B<7 !R2CMZO5IJ[G7B&E^6MW22,&H8T_#%ODEU- M/@-)DNG)WGA(Q&LX]4L.N!)R1;,ASEFSN2[M_3Y?K^PVHAR_'0XH8 9/5Y"" M[IKW62^9EOG'*8YY\W$4?Z3?ZR[5WFQPUI4VJZZ%.Z-P2&N)?H-V7LBK#AZH MW5"[;Z6N]3V$7OR1@@O,XH!7ARYB8K7.HJ95&ZZ!1D#!DWB+>/^ABD,5AP=X M!MB$/]+O68/GK#$ML&:_X(W;E=7&K;02_3X&:6!DNF76O01IG*IQ/=/C]=:? M\[8#9?>![;,>DF"]SG9?.S;C 0C2"^5A/->:JWBN78K?PW#">#6%;U7HBXG" M'L<-@+KRN\!3XF/&@7+H]09DF"N1Z; *M@/4Z[B7JM@9VW6#^0*>;2MS4*.*A1H*- W5A8[ M:[.& GVW6WO3"'V#SMGO_MA V>7^.=,=?6X$_WH. (>N6)A&_]&NV@S/_PY= MN0-E]Q254CSJ]@G29--HS5EN,Q7XT)QIPD!1D?Y0E#$J*9Y'P!0XF +WT"EP M=^+&/04%OR12._@V4L)P,C*I:,GO6J5R*P@C@ E)E;[SUOV"L' C:@$SY^_- MA?L6>P'E9W66&6P,?N1KY;'9G8V038(-[*>OIX(S(#! 8(#VPJTY;]]E+VB3 M[JHC4TQ1*AT(=>RL!%,?)7<(X'@E\@B%W9/?M:,'WWJ-62"0'7I2_SQ+'H^5 M5W/#F:5?3'NO3G.FT^>OL H9,&XNDTJO!S\T4?\9O,;=O;@=]XLU$YL,@OEF MM"_YW=B@H9,"@FRZ=P!T8OQYQMTC:GLZ%2];VG[S#,?/&OY+.Z45#85]9;/U M39LY5*-JM!UU"B)0=0J8*?B)DCXPOQ9J^U_FUF=+V^^,N/C=Z;ZWS,VRO:_X M9K_5;SA*95ZJ*1Q0>190F6>M 7KGL@XU'I[OE\FU?^OYWAB7NF;?;!+2J%(3 MA&C1[O"5Q)0'/ 231U[/';O!$(ZLAH0_)%=[;6&X)IN1M00:V''WZDZ*.Y]W M1C/'H.!#P8J=;>YD,J*O+[PTG/$'Y?7CYO4P&ZM5W$HKK?4SRIN'V#IP3DN/I M\:L>="VW4 SGR:3/N4Y.BY^T50)@[B"'W#S0O9ZN6HKO&_-XI\&KT&0'?Y:]>4;\$"5?NU[@JZGV\WR M^P?,V[NUO+T3"-;1 V%^&I6*Q'S)UQ?5C60,>LA\YEA+WXM "@+,XKN[*/^/ MT>:'CMN_1%[>ZQK\ZRC^04G;#;R=PY>Z?<7'(F5;9A-5AEEZ4)MAWETF\N[> M=SI+1F]%;9N1A @ELB#ZI>6VT!'!B\(L/*C1\'R^#E'PA^=S[T"LJ8K2QGA= M:@B.01,&@W! F9^R[,[19253CFR899 +PJ((/ ML^P>;=Z/*>?W!O WX./D%<^)/\'/_;.5!."N=2_G+Q5/A]EU,+ONTMEU5]_) MA^$([WR2E\GNN/I.0G&]CTG"W+G[F>0#B.LMH>L=>!B*BF^HT$]P[JRW^W"4 MOBF1+5N^T_=%0Y2-K:'IB1,UN:?Z7J)\>] XR%7GH\,5L7?X M4I_OU%W=ZX-73!3XF_,4^=X^J6'MD#[;DJ4J[759=X)BY5"4<0+$*2+Q5L+^ M21?/T+@/%'A3TD6V4. -$11_K?I_%.;X$9K_4_S$=PC0]U)Y)]'15JH*B]FP MUVUP>[ZJRV M&"\ !(!82N0S]:HQD'5?X\^L1MFPPD#7H)<1)E)F8%Y9,4JN04\\:>()1$(Z M[L3AP^# 4]T:A]GSB.76,2*1YRFE>H>7B"E%F:]=N M4AS='XA H\].&4"%ODF%AJ?S56[^;SB=>X1.VGN/'YJ4M(FF9,7>!GYR.I_O M[I^I( >81IFY\(@[GS=,HX1> )AE P7_\03@407_:FF44/"S(0"/*OCWAOA9 M]W7&SQSI8+ZZ5E#B-U,6^C&ITL^Y8>"#0D#@TZ'O$V98P@S+.YPDS &ZCTE" M<;V72<(,R_N9Y .(ZRVAZQTX'V"&Y8VZ$%Z_7_Y__P^ED(_H:I1%5\$?UI!^ M$>>) ]87OM^8? M$RB^5Z(5Z;HA#_2-PI>:+60<0;$*J)X'B<(F$)Q!U3:Q50^>Y39 M157^_"TA_E;CG7JS-EG6N@UI+^-V.53WLQ5H\\* B,98XQ$TW1P":CS4^!OR M#EU0XR_4*^)OE9ZVZDK7/1[S" F5'BH]/.;?IO07 MZ"SQMQKO#[P=HO:UE63S_5* $M.2PR:&/0B-1+$\BZ1[3-R.KQ#F1=Z ;_"B M/,-C0,\U284G'4M!T GTV6_<]0!O=2D):X0*7W+Q8D<399Q]HA4(!K:3S#:5 M?U%+XE%T]VKLP#M4]X"$]-8T>C(B-'FG,-"&NTH[4=T+\ -0=6]'=2_C',Z& MZE[WFO\.[95%$AD/-W4$""]XGW] M':I;&I>&)1L/!%Y9!.@:TQ=VQ4Q4]^TW]G\'RLS2S[![JAZOJ_>\?2CV?/O& MOFU@7]=SBJJZ=JQM^WB&.<<-XD\+W%S)=6*-]'4-?.6[EJ$I\9+D*H:C.*JA M6+EX

_]IKC3[^5N=HR_?4JSQ1/3 LOY/[L778%%2>V8KN\*+=7M"N6.2 M[-.?/?\L0:AO/W1] VC8%T^W8A39ZC]MVM.6!^[Z"X9^IG[<<0+]3*>W_"P< M&/5M=_ZKY)8>P+W_-Q!*/TG\\1G@ZQ@]8D2SCD^-CJ_[]*-/7P= G/N'"AJ M /3QFSHHOU>)GU?ZU (J"=C)"L:J+$TRLL*R,1+K""JSJ$[*FD9J#*.K#(7/ M/AT_]JM5YCJY:D^0NOGC 5SOE#[GN$XYUY>* M_7JYSO7J?/^__YX=5^DXRWZ\#F$_:C>FTCB$* M*2L$BK#V::^010!&5).918V M:"X>F7YHIR1([7V)9B6!E/3ZJ#M /5!)0L9^'CG QD;W<)ABIKUUBF6)VBEK M(C;3TA^OFFMBMNI&?:3 ,87UA/10+XKBD>F/WY>W-CX]8'7$F'H-?GI0NUTB M&8K_/+2K;%>1514EJ5K:]X69M1=;W0B02S^/%$?C4953JJBT;U60&LHM9]IR M$8\D?A[9B RF@ZR*BE0BETVURE,TIHKQR-2DY+:E&K8,&6B@)_G@G]7:-*5,!#TW/B=ZCF&;9+5D2E.5B7J"%GC9*GDK] M/%3NU&<(8E0KIF*9C4#>[/:E\D(FY=3G-_F.P+5'XPT_FO"=N1O;]!N%BT>F MIE\F&\/*H8B9"%48V6W+X1FE$<4C4]-'%UH=F?3J6ZG4<:M%QBP6:12,3$^? MWOH&AMH(C0A-P13Y<-08;;693U%;,*<3NT^1 MUJI^*/JFKGEKH5NT&TTZ>8'42B&3BFM5%;EI]ON5O>2RS>F:$64JO5)K+O*I MF;TK\X: [X9Z6RAKBT4\,OVJ0\0I.8A&CZ72:&(4BNWY)N(X,#2UJJO!R*N4 MY77 ZU5J+;0E?-Z9M!0;!C5N+>"3Y\\A9EU6W MD=3LFU5\%U1I9&;38_#,])LN5+S:']8*BH1Q?$U'HFZY+(&'IM^TKU:$:+&: M8DA?JM ##VVCDL7)3/I-)U+ JXJR:TFV7UKUJ\2HX6!B/#+]^:UZW1+Y^M#G MFT746)>&A;'B@8>F/W\I]VKUSF:C()MQOXY/.HK26D9@:$H '<1L;(HBIR!* M_#ADO*W4Y@=19M.O:DY]RY96T4'"V%AJ5BYF=9$H'IG"B;UA'C:']G(K8=Y^ M3>(.KNRG7#PRM?SCTF&[1*8!SH^:LV$+QY:3P@)\>GKZ?:*X8#:[(6DVHP;> MM;6!J[#@X]/3;Q7L$=YI8@2B:'TJ:#/L?J]%L4JE)]7RRCNY*BX\:=^->G6Q MP-J+^0(,3-NO]1; MDJPK@J%,2JBIBC'Q7-23J#%_T 9TG]H&R0NDEV#M]X+5?,^UD&:_-JAY:K<] MMN)YH>EYV28FB:-1H\KO$;F+UP[;&MY8@*&IU>)''775"7H.TF\TY$E/"D1: M3X:FP;H^7'G-ED@AU='D,!XYAM:FDA=(P]6D.EWW5&[$2J4MS9<6VE10=2X9 MFYH8U=A,L;9?VTI5:U9=;[V#.G*35T@#EKL0$W77+I7WA*1[8BGL]6O[ !7!T-3N MUJ<'UO'PR),V^JP[D0BZ@L='>SPT/;.FOEQTP\(\0HQZH#>-/6LTV>0-TF++ M'*B!ZUE"'QDM@MJ T3JBOX_'XNFW1<,RUNC@YM+4V\N>-M&XN18?,/'0U-NV M^X'07A*<@5"Q@=-K+-7N8L6!H>FW;5N%Z;SJ%DV^H$>-LK]S77(J)F-3;RNV M^?*T&[D;A,(,H4ZKFV('+!B1?MME7U M?\_5I2:R&K/"CG#F*@>&IMY6Z'#. MP0A(U53D;7P57RE-NIX,36E.Y# U]B"K=4F)P1W3Z(EM39,72$\,K34"JQ$O MD=EDJ="@O49KL#N.34V,,'RQ)O-\D2\-W"D?6S!Z;;9(QJ848J!LM;79&E1Y M>S6;R1-[@S6;\=@3U@-/;=&NC2@KQ&:< RYO^Y5R-1F:0AHYT!QN1O=WR'Z\ M+"\8%_&)I0B&IM:+:3JB.>>E':(,!6=5&,ZX@E%*'9JK>U0$FED'\SQ M)IO!S:BV"H:F)*7)_63L@JR:OH&8Q%*QZ M@1XE0U."4-VI@V"-42(2NDK0:$Z&JV8Y D-/K$'+5(A)74*1PD98CXS0J/3 M+IPP(CJ=?L,W'=/B"XM!<>WNV![!UB 4KOD!=(06B@.8T.(VJ\E#._.\)7=6;#-X]BT MR6>T.,X1T TOS'U+PL>'+2(G;YN&T/IF>5@+ L5)^]W0.Z#C=N1$Q['/$)I0 MA]\8N&.E0M6U+&7MZU^>OWAY0037O">R"O VZI'O^9$>>^$5>.+&D!2G%7C/ MG_KT-/1XN?RE7\*.[X^6_O04 OV,T:]Y(5XP32^>[\;/G%MN]'P9??Z^ /P; M7XYD8A0OPF])O&^_5V:^"XCZ_P ^CXRG%GB*XP/R_TOR5?S7^C^1?"'^U;_. MS.K]^FH.IOXNZOKIW[]T>EUS@YX8]>2#4WOU4/M ?:9(N!$9V BH$%G9!P1N M1!8V@OQ-'!#<"(A,#[8/R*L9!' C+K01]&?ZU2P'N!$0F1YL']!7PS3A1EQJ M(Y#/&#PC,K$3$)HRL@_0:,K$1I"?209N1 8V B)35O8!(E,F-@)>YSYV(WY? MX^%]SKK+S1K4?/C3(-6S@O)EE^ B,_Z=X^GB+0^NL :/M^N_\Z[ M@GZ/N_X[Z^X.I_P[.PH*>K9W774M\,.DN^H?SA[]C)\7ZYCUWZ5%<:H:VB$( MN]*^I47=P([_6^#AWCG M 0[YJ*LM09:HBNNLP<6Y"Z@B%8 MZMX][O7?PMO?;SZTCC(O)/#B>R<7WS,R>_#F>]7'C M9@.O>$[\/M!P>/038^"FSHL_2T*\>DOYUV995"S%4?6<$N3*NJJ#1F Y',GG M0-NQCU2!:R_"A_6B>P*XC+63_TS]T/SJX_O3<;XLS)/6DLBQ)=U3+SGY6S\T M?A/&UV] IKH.:,?$[0S_VZBC(R5QH;03(9/-OK922HNH@RBNNE]WK MQB>9[OG'-XG->RL$>]!U/; "7!!XQBQ,:HX/W([K@.EYKF7%0^K (M#]X 1( MC"J&ZU,3IBQA%$;B%:G2&R( )$@ $CA$B(_V&UQ[WA^!$$=W $2(=R#$][!: MX'.O.T\TS1-:2!:[0$O+?A,9M?E-6<27/E++(%HL[&W4G',=7NJW):XCKGO# M^/0(RGTHH9AXQEPJW<" O-7(\++@A:*1-D+ M([8)AT+-RZ"6+^C!<+VN&R2_YTO+.8/4Z\8AZ=5*QS8L@^9)!'M-S[,>/O2\ MY: '_;?@$- ]7DTXBOC3XH7-&0EIF#,6^Y>UY\&KD-/ M72J^GEM;BG,#;J*S$^)9TNG55<[BCW_),O)H.Z3)'=C0?9/'?]V MKUYT&R.!;SHX3U9+AW79CN2D R.;AH2;U(5KT>)W/LFK%RG\8V1XZW%_)[ P M5*Q0_R4JG "%U7CMT*$9KLS]S!3W$VSNA#O0KAW0XQ 3;C. _CY#YF\=$UYG MR#?*S)"7.\K@FUAA,=KY#1)%Q:OCP[Z]*8WZNMWG==5M3E8[+Q([P&@ A'@> M9R%&_!7U?>^3_%W#H=NGP.]]!Q_A*+MZM4XHI5!*H<'U>X-K7;*E\@1Q?-/ M0V9%D#Y>LA97-Y+*I,%/[?E!-XVIX0UY16Q.&HO82$HHU]A*>HU=^3.^]:I^ MA=,4;.CK6BYPUZE&EP4:NX MWD#9C8Q@";PU\5;$/TA^6XP!00/OISM^,K=3UZ>5S%2,:829QK*&<=NZAA-- M3J8!YTJG0.%?]Z(ACQJ=?"UF-EL0 L..[C28X%HV;[;$^STGY"-0C9RV"OT MO)/?TY/>*0/WST],=LRR1F'BFKS0;PD=?-$CY-HB/C$!X8@1\,R\M^C;J[&2 MV4(5>&C"0_-#Z4PHWG>^S8\JWM F/ \;^K%V7,@+'C&8KJ>F4MF5:TI+X\]\$/QG& ;&O>JY_*A*U% 2KL>>4QHBMU@_#FD%WK$$D,TGA M!B2=80F5!H:BPE#4&X.%Q(OZ'E3@.YU00VN[&E*=<4A=J'DL4N9B5("AJ# R M(MN1$9 2_AA(B-N,;^!!2>G5+ZPU2>@!E-#C!8/\8) ?%&_HT+U%A^ZML;S7BO@;N+_XY,0K-/O94=S3 MXTGXL1ST=6]KJ/J1%^KIJKMPDJY#V M!.?U]EYYB>P7L>EWS*Y^W?:[L5#"CA[DC*>^=M:QK]T-DN\?S>M=K_78U8^O M.\?L)T;ORAM\=;L,N6Z#/2CE%['('EO*G\PS*.7WNL%/M-%C2_DSAP3%_&YW M&(+Y-RKIEJ0\V_Z;7[26">KU2H>C"RVSJG(#%9O1A\K\SQTW\?7RV#6]=3H$ M?U2 @:#V4!WCA;]SM]#P.QW%#: MB(14RZ4F(:W\&&O$1-_IW^G[?;=0;RN>NLSA:-(_'8?]T]\3=/>CAN.QAFMN M.+/T3*KXN1JL?URZWHA>+SH=^V#P!8(A1B33EBCOSS'A[?W5^_SH@.H>0?.; MA6F.)6_?'=NQ-8 ^-5@G&!8VC+M =./5]>F'A3EK!_:K3_7J'> M9%H5M]AV<-!529^QLY7LC:KE;@8;9$X&:A^9,!B%*"6!V_/#@3@Z)&8-B"5E MD#R)IDLS0\SY^'#2JROBAV/.KR-(KSY7&(,'S]DSV?*_B"J]^E1O]IS]A3,@ M-,>'4C2JLKQ2;;#+PU*SNB*7O0-6V'2J[092JR#8Q)D@C8Z^;S22 Q9X$8@\ MR:0C]N#Y"K$&VO0?@C43S)S6!-?0I<*2&" 6;W2L1@;M\*(S&.O7_YO++;WW9WJ#4>-CP9C^ZU5_:UVJ(?U0\];/Y20 MGU1_X,J4C",?PQ^&]BAB;*RQ,ZG 0I1NM)U'Z(H#5"SNC75K7# E3 MM#TWF.,3>L>! XPYU1$00@,L9 D+6=[-#C[""08+6=[X!CZ$E#Z\G450D\!L M,-6*%&X4I!P<5J"B]E5M(Y*>&LV X%U$*3L,B\BSI=@0@6T$",'7C*,[*/D) M>ZA_8:I8@M'IWR)P-GDP&0^ M?:7@B0D+I<)"J5"^X9$)"Z5"\7Y,\886X3D8T(^UX@QO4R"7YK1EVEU^8+$> MMYL,(V#% 2[T=3/NQN(B8?MT&/[X '3H1S5/Q\K5K6_KS S9"_M*M-#,\F2W MD%$BJ2BEV=] &(X'Q?06=O 1P!2&X]WX!CZ$E-[" MD7\'06:PK_3M!Y=!1P",?(*13U"\H9_K%OUF/IXXP6BK3. 2/67C,PF@I*-Y0O*$5>;W0 MJ4M9?IT0QRF3:B$2M2VV&^Z>8J5 !);?L:OTZZ;?C458P:[2L*OT@[E,8%=I MV%7ZSC<8]A2\S9Z"4,IA5VG851J*.01SV%7ZK-Z;7[21F+?*[5!J-WS$[H;K MV=@M*CORSR_OO^LQ.Z8*B%(GNK84FHY05*MMS6$Y&:62;A X"S,6(&0\E/UW MTU3=[[0=&11=TG+E!E_RA;5%AF%=WHN)MM._T_;[[BC="!T]AR.PH31L*/U' M#:4_+K.Q3$7D1N 1!S'L-F*@&\D+F4LTE%9;8Z&#^-@>&1'S"7+PRK-%+8J1 MX:FA-(FD\YIA8RC84!HVE/Z+QE"9Q8VS-9:2ZPU$"M;,FM>+W6FGMZTU$-ND M6@7)=XI]U< 2O$D:2J-YFH -I6%#Z8^-';WZ7&'T'3QGSV3+PX;2'WS._L(3 M8"\BU[%)7N=#?#(S(PK!RV0&.\5B2Y_$S8/0,/<"OIS5MQ.\9"4'[+&A-,L@ M\'R%6 -M^O-@37'5K?/SG39""J+JN;K7L5IV%NUPS:(7_'X52>%F(8ZQT/=* MJR-,) VEJ3Q#I7O$_MQ0^M_)QYYA&T$S9]U[1;F__RD>_S+E37BC[C_V>Y_[ M+95$V&+5 /^C5%G364TF]!DESV8L*>,L@']6W'/U8*&;_2*#U15#*H^Z8CPR_?%!T"CL M1I2A\861W$;8:K>IF!$8BO\\M$F/6I6!S A\H4=4<%3H5OHS42;2;SI9%INA M2+5]1"G7%J--N5>>E+EX)/'S2"T,2'I>W7<1H20?"D-N5SP+MM@9&KZW5&UA"E#FS;[ M56E=I@<'IC\%(]/39RJ\-JPP6T2 M]'IFQJJ8#$U/'^]KJMU71&3/=_1V%9\SPSH7GT>ISV\(9='NKY@Y7W KV\- M;5>:Y44\$D53VW^8C.T1H>O27NFT VXWKT]KHGP,0OEQJ./N#(QHM'9\R6_4 MVXPF^ULEDNGTYZ_=,.II%9DW2WNC7^\0*U:6PX86O.IP MQ,E,^DUG5<)7&+U60'2VC%;'&Y6T,#$>F7K3-1Y516N)'21LXT<*C@Y&>'T1 MCTR_Z8$(<;2^0@S3CI$/<3;#;MM,AJ;>M#MQ-BA39UDD-/ -WRFJ]:JRD-GT MF];*WFAHZ*6Y%#8JHT)]*1;&+3 R_?F,=N"V=&-+FQC)V\B:7N*KJ0B&ICY_ M'\F&Y2R,HF1@^JRF(PTJTB(P-"7_7M@JAPS54DQ]3S4#9C&*"E(42W_Z745= M92:]D-SQ=C@JK]LS#UW ML$*:51F=KH-PZE;B5T#3$]OWN?%4YRS6-/:+HC5$++Q?Y<#0U,28R5K#QIMJ MAZ?* KW!0G.PCV$]'IJ:5L::P["D\AHQH5Q2)R&DG0YF?A])#OS:SA+$G ME49[&B%G;'QH)>^:7@.>=O:K7I$<($9-J9H;F1#9:=(V,#4O&Q\:==3V):14 M&;;4WN30&723H:EY4>(XWE.V)B,C2U7V>*VFSJ)D:&I>FSK91<;&>,KW'6DT MJLT,;%D0GWHZ_SBT7B@)?-VJ%!',FZR,.5D2=_*QQ6%JOPKCOL*A.TPT]6U] MU.Y.W'ZGGC1R25D:.JIJVY$T2L,1Y ]VY%W M\GJ#4ZUD:$H3VN%VARC+]HC?LR-I2^[P#2;JQ=NPH>6I*$+Q@.-KM)^T60C4[\X;48K1H MGCPU)0C#%CLDI[&AP1>&Y&+6P6,#LBF"H>GUDKP#HQ7:-5I2T.*"6]J^=Z@? MQZ:WEQM(K>INAO+&K(:W)YO_G[TO[4T<61O]?J7['ZQ^WR/U2*''[-!S[D@L MAA 2]B7D"S)V 09C&R\L^?6WGBH;3" )29.PU9%.3T),N:J>?9>5BDZ?W8)O M;M&>+/*U685O#TI]*_@85R29U$!NW5>S/])C)7V8$=J3DGHKS,N1-O"DZ/9] MS2.=1!9%]%)S&LD7'4.1;I^ =T2W[POK(SDG.\]W>+$X;*)9+IIKY@9N^XT7 M>#":IV,CV^&;TT)W8F&Y\Y =T7K-K?L:&F&)5]NYII"?-PS,S>?1N$IVL'U? MR46B*=0>6L8XGPV5E7X)&[V9N5<'^D*(EOF .:D^3\9.5 G&;S&OF0*SW:&9 M:,_%B!YO-\O"9'";B:#;23F'12-^=.L2G/M.3(N8O#'.Y##[*'3U\GA"\V.W M3M8=H7G1+"S%<2S5FS>-V>U0G%2]7-H7JGDVD"K$,RC"B[/I,I6/I]7[8@JL MX:W=/H\%LV>),W-<#D938G(Z[\X?4F[ _,7!"J7BU%&EY[&H5M1I9Y&)C=IS M-]:U^6A_7L]/3#DF"?7DTR(5[T8"CR#R=BD]>EQ&G4"UD&JBEATWDJBOE88I MS\/WZ@1[LY"O$ >W4+Q<:TX;MC= L^7E62D5JS$'Y02>73K MOB8YR5Z,LUV+S\SN4JV'V^=8Y#$%CVY?@H5&2HI_%M)\;/K0>!I$LA$^0Y_= MN@2QM6A.A*@R&]=KX70K.&[TGV'='1K5M#L>HV(ND.)##\+L^>$VUYL]S>'1 MK8,]I*)-]2%73XS;MU(_'PAI;4$BJVX=+!>(9&\7L/ADKF8?'Y3F\H&NNH4( MD:=*.9[IZ(EQOIB5Y6JVN^AEJO#H]AU4E'*Q'PUF#:&^% 6G-3'5:;#:#>W0 MOE#P64TW&[HL%%O(ZLT6$5DLDT>WSA7 W"U55N>S<5&[G50K73/1Y\FCV_IO M2^@$HK?C1A-)5E2X'Y=R,XWJM\CNT&>W8%NR[>=9];D>$6*.5(KEC'"Y,"9;V$;P M0#=8"2Y5X8%7VG51K&FCQ22)G]VAU.6"M[%F-HJI/):\?^Z8'LB>T6>WE7LI7Y-Z4 M!-[1GV(5?IYOBHO;8A0]S@/M6[JNIR00IY[G"G*=NY*NJJ)AH=_>#WYG$E3. M#ZE_:"(N L0_JJU\O0$5]6V_\S= G+3D$R]RR_\'7%"VZ;W572U(75-[YCCS MOT)OMM*6E=F.]76\9E_5YYXKR_L] *[OWST3B>/ '%_"/X9ND02,WR:,K%%F MZ,6:J[^+/4M7'1O]8^O&[R@^FFV*F@4^W]_D)QAX\Y._"> __?7B!K[/L0=' MWS="@@^Y^O M65P6']V;>,$ P@K@R.+P]T88!XIL $?F5 MC#! G @&&*; /'>V 4&",:9K@P.02:J3P(0_*\0,^=. A*, M-9T(')C2=!* B/V*,XHX!4 PSG0J<&"$!\>Z@K?C+==P!^^%.AAQ'!TQ/GAB25?A MP__W(_3CDZ=/_(HG&4XPG-@X??!7^&N1(K$'3KS5N3$E2<[$@;0FF3MDM\:K M!7G\5X*)AHO"B:_Q%ES@D;]]NOT'4?\CE\!L8D;3S"8^/SQ@-C&SB4_I5DZ* M."[/)OYC\V?5F9,9/U=A[^KV$)D,ULS09?R>&;K,T&6&[H73](K/1SXMTR-$ MIA]Q]M2?RGPZXH'.[R%=&9G\OP;='GKM!Q2- ?LJ%'MH"6VB(=(L9888S,]! MP?]3D'OMOEG@DNGN3'=GNOLQ:#JQ=>"W.!;50;?_/1 #=">&"%,.%^%#PD"1P[$OP\/Q05M#W'^<+9EE9Q"#JEI9I9QDQIG="9OZ8 M'0^#3X-XL;IKG%4PU T'89Y5\(_G8#]%S/M1C(_)PJ2'[YRO2G8MFOKT/"S? M"ZB95[ L!\D[!ER-^7(R7'L(?. M73SVN0\QY8YF(%X&X7]LB-WI4OV73<&[GR?RST_/ N8F*>UN6FC>#^XEF-\4 M!2:18!SB&P9EGAV'>'4.)N,0GYM=/Q*U6]E*/SA\??F03XQS?%FHG>!HW?)( M;H7DR,:@[CN78Q26S]/"LR&D!+&4?A"J9J;:?CH!_0+?,W[U M#M:1#-Y6Q_=%>S&>*E6M7F_Q0^&6#(H,_O@WO*UH_,78!E,T:/.\T^(:)ZYH M>-D\GGO7Y1=3.8[NC,@BTE3F>G>XZ-[-DL;@^/SB)9NHVTKYL3-H]\>QG'R7 M<8Q M-J&:;8P^"@8NN&32:9A7!RK. 0$F5&">45@,%?X8N]IQ)=56Q$[>JG0 MXD^0S)?/MBKEHME!,_2<"%2B#]7D\)$,>(YC,H\G;T+@E7^=SD\]9"H$ES/' M%.I\;6[8ZGB8>_A#VX%&(?"^@37@*]5EBO."B\CDH8J+QA6,Q=8.KF!*L8#0 MX1_SX[;57NC!VN V_01CUT,__HUN>Q;.DA".%9FX\$-^>]N$@[&%?67])?"$ MEJ@ZZ%66L(,C"!&GQS_51]/F)!(+),SZ?;,HI[ID,/*V@L 8PEF4*UQF@<)9 M,X2WPQ/%Y[P]2G9[O69,>30SH^B],:K_87CB ,PA$.5OP['&HLJ+P_"#7K50 M6]: .4 TXB8:XQF#^).XPZ4?\KV904?@$'#(8.@09M)UH.D5R+'WYL!>?5.-.\^T5 =? V?KG"$N M.5M<@&O5\ZD.3!$KY6<9Z;FP/Z19Y& [2/LI65S$3?DQ((2&B^SSB%\V9J5Y-P$>S5#\ZXK0 M+ERNL133BU!$+QR 5Y$ODU<4[%5/RR+%LV)-50Z2NNZ%_7GJ5 H&8 M6DBT2\UZZ/8A_5P8-&?A 99>B1__)L),?+%\1Y;O>,D0O ;YQ?(=SQR +-_Q MK)2G _O?#JOP-)2'>RL5Z74$\;'7FZ7-4#2B@[D.GKAW-)[SSW,$-R;I6:OW M.:BC-Q4)WZ?KF1/G& 8K!S6'%O S.LM T.6D0[( '4O68\EZEP[ JTAV M.'J\^:PJ6=3%!P.L:7,]B "R_[)+SRQAZLQ#7-86X&'JS!!R6@,/P M^]K9]RDFX)QZSNHK(YMK;;V6:M^:9B63>!YE&C<]YGBWLCE8,JYOX#@/TX=]!8\%9NJK(W/_PY'\7K:I> M.(!=K]F1 7P:+C2&Y9<*8%>GNFXL=S4QAN67"F#7AW;=6.XYU,X)S4_8%Y&2 M)&?BD,8]97N(3'C,1$.D65B=IC:(ZY[H%FZ[L7GPN,,! ML/[[=^]B^N=\?9[;)LV',$;VZ6L;KE_N.93X2?KH9O-ZX*0 M2=:QNMF04XO"Y\-POA?0[G6T?\P.UI!56D*UE\P(XU@LY#P)M<>DU4UU@V'H M51<,WX3XV!9WX"Z%2DXHG_#HY+1Q,?_[E2F$1S_J%W".?;6%TV8;9&GHH(M, MB^X$JQ>J Q"HZ":#H1SU7%O-V]7,E M5JUGFF5G(*!V5C6**=WLH!-D-P-D29G2*!/BE]/:Z"D6'Y;J^2JPFP1F-_'@ M#9_@&PKR;CE?D\* MV8X:'Q>+S_FZ9^44 M#6"J(8H1<\4> M1)@R]66<]UEF/X3=CWV?;68^A M-T/OZ]9.SC,/PH'1EK;.&>*2L\4%N%0\7\K %+4S;9=V.2D._WR@8>$'*B-7 M!=&1;FA5$!T_5,63(#CWV5YEV>:=)SUSU\SUDY%4ZO.Y3^1<4.N0T\V&N&@K M]A!2H3 <\ ?DK^F74T5V9#H%[A>#N!5IQ\?%;MANU\>1VV(CU0W&H(IR>U3( MP1J97CB[9DDD)R* &):>5D3I"I-(/B*M/MR[XP"BZNW*N5*OC8JC1Z$RCDWX M>:7@."@3.,A(K!HB?;0:^N>EEUI6X_ITW-+&CE!\NB])HU [- ?I!>5RP>U< M?B:_6.(.2]RY' A>@P!CB3MG#D"6N'-6VE,M-;B?Q1)($\2GX:@OE^5N.I&E8X:?\,YR@&Q1I@:;W.:C= M,A4)7ZCKFQ/G& DXC L$/P[FI+L^9_-Y)#)=NP,0EJ;=T?"^H>21S BF?L': MBC;(8RF@C+Q)IZ.\9"E"4[0JXVFX.5:LE)(/)P:]5FF ^0EII!;YLA;!UT=7 M+'/LE/D)B\VRV.PUQ689>K/,,98YQO#[VMDWRQR["C!?*WJ?J79R;IEC8&8' M>N#!@^*[E0N/0POX&9VEJ_QR,L98"(/E,[%\IDL'X%6$@X\>D?N^P41GG-S4 MT%]Y,_'/]UY&^FH('\+"$*\C TRCZ5 G3D 60K4 M^2I<7YZ@\S8Y:)/@:#GZ\QP(9C@=B-][1T M -\47F&7A2W=I51QIB>%?#=9D0L""G;%5#>8)'/5(COGJEV,%7JMG.+ 'K9K M9P ']K/M3;NV?)L>)W*+_MBYC^4[(:LR3(PI[<;WH-TS2]0"7YBCF0AO[1G) MW !S4>CN)>-59B)IA4Y&Q.%SGF>7KZ-5"VY,.0P:"\[2544^R2&'+'CS&:_9 MD0%\&BXTAN67"F!7I[IN+'QMKSA$<',-+E?$?TZ)*^B^)-G?G MJ$LN>,.!\^J_?_QZ==T-!TC@I?!,*;C=0YRZ%2DXH>>OHY+1Q,?_[E?E:1S_J%W".?:,GI\TV MR-+0T!&9%MU)09-4!R!0T4TX?\JV3:7GV"*&5T,OZ1H)-.BJBA\IX&-"/\,= M7*8^?WA^&J$@WXPUBJ6266W/^P'"9:+ 94*,Q7Q#7/7H='=P%O-JS/7H1SU7 M%O-VJ6F@YDPKI7(G+Q2C3S8:AI:HDOC#[H]?P6XZC:"DM[3;>G.9GG4> AVM M?1^K KN!@M)XZ"863S"6\PU)C4>GPX.SG-?S&(]^5I;HR,3LE^#\J[F-1S_J MN8K95S(?HZ)32L?*64$HIZ+"K%/,R3VK>GKR-6K.LU*Q7,TU8[?1X%/ZKIYZ M2A-UGF9*8M S\7I]K.80(&8J_?N\IAHU4L-F4#?X92=2[1245$O,?;[CRY>Q M"1[U*L7YT"HW)Y+S',@;=TZI0MD$E"S'8S>)X)N,@L0>_B:O_0(H2@BV_@9Q MK[\:QG_<"B3L2?MLWV_LNXX0)TK0;%#4EAB;.$VW\?JVSF5T38:F@S+\1 )F M,':$RRF:J$F*J'(K26O].OH])_ ?]Q4%LC+[][_X'V\5246B"7QQ^(^L6(8J M+G\3C'=?O.)XA-_BWX<4E/RO$:_T/Y_L9+F4+9A-Q$?#=FRMO BKJ MV[_=KWF?$5FQ^E"WB'OEMPE3=)09>@$T%^2V;OP.!4&F^"$>P>K/-LB_)-4\ MMI9D(CM<%BD3@=*/Q. J'4*2+$I+4C21BJ)L,Q_ENM!^.2KU@)!&-23_H6P]S M:5C\(0\X>S&/MX+2[<+]?395XO*UOB]D4PTA6V_@?Q^$4J->SF52]=O)2?BL;90]VQL((''4I.>*=-3<0J'A:I MA][F5^LE+K6'@R(?YN5(-QH,)KH1/A[L)D/):)=/H'"43\0CH4C0Q7G14T@? M[N[U^US-2//38'_-)O1\ MO:9DI#+%A!$V>21-HJ5TKO28XE/XR:TUP\WRQ!@-K+Y0+C?#T6&]4L[4!MU( MEW_Y)*HMC5PP6;T7 DYP\FQ(1F@QGW>CVT^&6X5B8-#1U&8@-H\-'IN)IY8% M3V[M3 ?XR:U]WF7'B5E^VFL)$W[4R6;$^G@F M#[JQ[;>+(ZLUFW=$D2\7QH^C)R&=-/#;X]M/]L9Y9_)0$:M\H!\O+8?-8:C5 MGG<3VT^&2@]V30[<381BO&@]=$R9;S=3W>3VDT_/H5!9&E35<:;86/;BO>KD M3I]W@_SVHX%R-3(+HV"$1^E\K=_ &\B.\*/!'6<:/N2G[;DQYHO]X;#6KS?M M01OC76C[T?ZS'7A(ZIGLN+R4^KU(VDZGTBEX-/SRT7@TW57BR=!TC%#JL>(T M9A,=]AK>7K4\,8,Y%$IGQ].T*5BU[&T-.?C1'7CB("'2+,:>BGPLWNQ*^<#] M**GB1W<@2NEQ'NT\&>-&,Y0PQ*ZN)5/93 KF^&T]:J6+%3TZ"E7&TV6K.DMG M^N(B-8?Y7%N/=FIZ,% =YQMC)Y)IR,/*:#9)DVZ@6X]6(^JX7;VM=9H9I[#0 M*K%XXFXT@*J_K4>7,2V>;766J6;YGA\:U2#B3C0NM/B-FZ]6CK+JSF,1\I-LO2JW= .:*5JDU%*M/O/0EV>#Y$^K:D/P50WM -:$QOUQ[:Y1,W0TX2? M5$:1F%3#J^Z 5C30E N!NM!N+FNB_72GM5J2@E?= :U&?Q1M1N.VQ"L-N9Q4 MZM-F$*-+: >TEK/&73]4ZW2:@9;:J<6"?+AFX$=W0,ML/R EB;&@DFM(?!C1W^\K5C)@-%L85:Y UK=Z4,[9L_X&5].Q6NY M3JB4FK53\&CLY:,UIQ4=X,WV>#%:[)35Z5,FHE>Q)-EQ [5Z)W&[G#R/B[EH M:Z"*>DW.X4=W #;PG%A(EEB,-)?Z0UK*M=+W:@D_N@.P_;EU9[=R*;D9$_5) M/^KH?+>%']T!V.1SQ7F.\V9"R*#4LO1\&[1G3_-N> =@^=&CXZ0*SANXZ^+)V '8N#*N96.!)%MI/ R3%(FHEO\"K[@#LLRIJM_-0I\2'"I78 M<&F4)X4E7G4'8)6(76Y-XP(OA$;E2/]^.,X&^_A8.P";F&8?)JU;HR$LVYG> MX#%:D?O-*A;?.S:0E)9)N]L6QDI1"&6'K7XC.,.B;0>TNKW:?7]AYH/C4%;( MZ)5,]-F6YO#HELBJQ^**^7PG1<9*J-'28]'Z]%E/P:-;,JO[W$OPK;H\P/SU MJ3%LU>Y4C^KJ^9=WPL MG;,BMT6S'1OA1W?@0".N!OJ#J*B-)]%HLB'6^.IS: "/;ATKHM1&YDB-#850 M^?XQ5\JG1UF=/+IU+.5V>-?3![V[<3G>&W:CXO"N$,:/[L L:1(R,O/'3H$O MQV:5N#!82M,\WNL.S K$N^'V54T+/3;^\&O3(+YZZJ[8 5*U'K<-+9]WE[7TN:W+&3;]-[J*<]4-=VOUCO. M_TJ\6>OMLUM]Z^MXS;ZJSSU5UOL] +[NW]0U,<>7\*Y+P'7_D!=[CXH]2U<= M&WVQ*^!U_3WX47^7^^\?AD&200:(DP!$-,D <0J X-_I*6IR@R4C>+-QD='+5=!+Z M+)T$0[_"7UMN?V@ZN',TQ(7YFP,5+K^GPUXI3GSM:*G#XP0I:&,(?XA?OOCWXQH M#3FPNRVN;^H33C<0M/W5!AQD:<^P.8VLWX?FO2=5V7$D&03>*W8/KF.;7025 M+>P>&&%L>%4OYB).SC+9%)2K4H5@:!^IN6-&X=E8)R>)[>\$<[Y=+?K?@XNX M[]-\MXH60[\BFT6+;Y_]RP:V0FYK<#5*(@:I>V"==4-/LW;QX;9@"XZ3O2O% MPQT^EOY\-73%U/N*[0Z2>%FJ^)0VLJ7N*#OCE>)BG@_.];D]AISG,,Q6#8>2 M.V:K'E;&,]*^*-+^5J_ACKDO[Q'SEXV%"7:#VV-A(O5Q>#3H92O-?+R<[BJ/ MEJAF/M\X:(.47Y\)D^T-Q/ERN1!B=C"<>DJ%-#X,U0FQ'_\F;OCD-DUOR^OS ML^T_J++X)EE#U:V),% E146<]E*7@3_#AQ*X!@Q3GRDRDKG>DOOI0)6NHOW% MO 3,&&)> N8E8(1Q['M@7H+C> D2^XC<+#*PF%6(NL1A-8L3)]!FY9E\P#P& MIV]6_)'F[87:F!_A3/T(?O+%/ZN(=$C2Y)2/BG=8(V:IEALF$K/^V)E4VP,[ M(M87^0$VD<)@C81#VPU)F8>!L8+S\CN<#BOX!B?$)_E J]0=#1*CAR!?[J+J M9#0*\/.G%-XE\4HDPMOC%B[**;&GAM1'IDF<"L0!88L+9-V ]X$Y$R[!9CI) MSOGMGH2S8:;?I5=1HJ<#OQOB0E@8T PC3345W;UEQS*D]OX;:2T:"YYXVF( MIKWE( <-8$"EB@:_7*%BS(,QCV-Y6ZX\ O0^LW@U+!0WK/%C*]HMC$4^ZZ:@*QY6GZ+;?;D/F,S&_%$G20H7YX^Z="WH MTZ2O6[&B4N_$;WFG71S)CW+)7* J)GVL \4N/2]F+YVH @DN%B $A@89-6'W M'97TJG?\+:R9'XJ9DLP/=0E^J+DJ:[]79)_3S:Q+]"F7YJ$F+J?J\\($ VX7 M5WV,5]#<7%8&S64W5I_, H% (CZ YL&011R),8<4XR+7ZI Z'2[RA7K9G[,0 MOGX7?9Y5(PLA\- +Q\.WNM&:D/[C6#,+\O&O"@Z>JAI&9E,%>B)D&,.4(*19 M+$V*V:)GZ(DZ'0;X/6ZI^E T41H(-^.CVQTL;VP4$_FE44N.8]VG8C59:TW4 MT #F*(2)0SZT[8IBGBA&_>?EB3H=ZO\&M]3>I#]85.-S,[MHCT5+3$Z=7.G. M?"2DC[6=Z T?W*/L\N(]45AW--$J5[PO*B8W$U4'<:*O=$OO$W#C3>-?X4=+ MD9'Y):H2,S*/5F;R!SSU<@NR#LUYX5:"(5:=Q4)N>P M=&V!"8F7 MY;S)#$5\;Q:G:/[*<,M"6&$!74951$);BIO<37*-^GTDV6[7N9YC*1JR\-/2 MU%%H$_?#%Y1?)1N^MD-_N?OG+"0-@>?1?6Y'_6R4,]TJ5 M#^:#N?@8#6O=3J$R4TNU%(QSAM3=FT@BPE)-&#=AJ2;'YB;?$&OY4U8BIFN* MC*QYIKD<+Y*1D)6Z+4F$E4 J\$V"#U^.UV(_50S\/7!4UU/!O VG;7R=)$MD MF29'U:8\$FXK]C#C6!A]GQ2*IV@Z0' MWXV)[?#]J1@H+AT\!"X MSDTB<>&E4?LI2&5[B$R?HXH50S';DGFJKD6W(M2_MBW?[,">&AF"U6@N,\WR M.&7KS=%=2RAC?AJC8Q62(=:CA_$2YJ^DQO5FF6I&50JT;P\R5>!1T 3 MQ-!E]Z#^B)?K:]0H9I0RH_1$'5Q'#1 LVZ'1,E4/*_QT M41!'F>>,(DZQ9D4:3D=NDHEMS>K@31,9ZV"LXT3]6=<76]R3;S1*6DC,.$*G MF>_'[GC=D@K3\1SX!M:V(MN#?\ZWW_0'D]T-Y7R1!/F>Z9E^KB5":/ MABN4A'=P/65N6R@2SHZ%8K%2YX-5AY\EL(U)^DO';L*A[4;[S _%&,%Y^:&N M3^?9)OS7)VU4,HUDJ=->",HDMHPM)Z6'T2 %'(#..HNR="JJ#9D.VJB&9_XF M9C0R?]/E^IM MTH">L&;2)SY MG1@+87ZGJ]+!/L _AG:YT2L*J8I0GLO343>C=ISI'/@'E/A=H?]I5>'WA2K7 M53+'4^8!S =U<6K4KM(>CRGD*7TFG%B69%S(I9Q1;Y.*J.B+\@(R"Y5FY M'_RY!@@6T/L!QT(L'^J[C;LK(#-#O_PX:"\[2547F_H"5O0I?:M6NWC#6#U+ M)+Z^_0)C0XP-_9$/[)QOZ3RUPOW9SDMNTXL^EA;-1= KN:#JN+>0JX M#?1ZB&TG)YRO5RP^CQES MFAV,VYXQT_@J#>]DK^1:U#G/VL9, 6965EQ&D%YBEBH7M'7.ZXH7[&"Q_>5H MJ?9'M4'IZ0]QPI=F 0N$S=)?H_Y3LSAQEC*(;2U,[Z2\U3-/L5" M7O?517IUK=EZ: KY6O^N/(LG$K/P''@)=("XB<8NTU>W1S 35+:^JL_=F2F* M-D/6"SWMX"-3F*5\M&%6IW8/Q\@I.\6+8"XD1AA'SY3ZPHLX%V=',+2/U*PX MIC04+41&CDT=Q8!1;S=8)^S;<]%$-W0^&3B3AKHJ<\H$7"&(S(-C3@^6$G!> MF4)7D&-=$9>$.!MZ"D8%F@B;&]C L)<55=3LE"8+'I'OL"W2Y5#0",NWK::C MW ]:@ARI-8:I;BA*QZG$]W(&,S\%XP(L,>B(?H8_8@%)16E5:@W%%);M0K"\ MJ*9K3FT.+ !*]&_"D>V)2I?@7OBHUF3J>(.RZVG X-K4GYB7X1KB\6'( MN5MBYAIW?77\-_1"8.SDS&B'Y11=F*_O,+PDV47WJ6A[VA&*C6 W.XK+R+BM M B\A3K]0?'L\U24X_3Z>4]17-%&36$X12YU@.44LIX@1QNDYCL[S(L[%T;%G M=,P-0')8F0+-"&\,)K'A'RVLI%#MB'DV6-H 2QXZ$<\$*1Y-.Y:B(5AC:&R_T24/#K<\PJT^B=-9GK63[0ZCQH=P%1+M8' ML$NL-R3WBA$SMP[C LS5,FS%]S MSDFZNTWF,ED25*]0>)PEUS6K]_CG2"@C#,S(&5 MP*@/?C]>TQU[2JY*6.=S,/UG1ZN][@CWVYWIZ;4>.)%O,-<-Q[L M/_93W3!IU)QDN4N,$3 GUWGJ2!_A H^U^&-H7,U-^&FU^UC,#D9E.3P +@!S M8F^B>W&!B_=R54Q%DQ1#5#G#%P6D%5*(MHQD\]$NP@H]R>S/4_-?78$F1=.+ MT#V0]HKZO12 '7S4&,J-9CN2;S:7[59Q'K$U%B-LJR;*,&+_XUFSQ M,[N%\U:X/LHLPDHOL90[[6FSG;%[H^K=.)XM58%90 WZ%[:=/%W]:J/'I*U+ M8TXW"!Z@!3(EQ6)95B=N>IXD(SRJO^ET_/)':.T()%PF%&P)+@7+.SAA-!T+ M1>RZ.FL&]$$^5;HU2KJ%S4_2A7N[JP_S/S$F<%Z^IM-A M_=0G%/#F!G4[7: M8S;7&2^#4>7!2>F=X* *' ""=%_6./&LG$\O&W!;)#2G3R:ZYBI+-)B')H:J M+Q%R/S2\>2>&*AZ\"0$S-YFY>:+NJ=/AN4=2O*!A[2Z[TYH%GN18JC\3RK62 M%.QU4XK8G7?#I'UV\":R0K+ MII!;WO6-@?@\ )Y!TN"CL>TT^ MW5I%&B:2MM:U#/)"SQ04B 4&J=@U,D4V, M.Q"7//)0@5.[%-;1^OC*UKJ/00UY%E:Y7[:'R(0! ?9R!Q-UREUA7 Z6YD([ M5!Q'X]4V*LA8\2(-K(.)!,NT8NSC^Y+7&?LX\K2Z#_&.V)-E=Z6N4FHJ4^$V M;$S;H2>G"KP#*V#)Z+:'[*+RLPXR;F17*VOF#[N&T5 G:?B>VXRZ*]#J7IDM ML+O)U*NS!6Z%<'S>C4KZN)Q[MIN-[E*W JEN.$'4O.0-'_X&38\Q(L:(V#RZ M\_?0?8@EO>1$NEH8!\M)J]?,/ YL?M*J+D8/A!-!5/4F$C[_RL?]M$)%DTQ( MR^-^XFLF/_V%/R/*X@U5&6&2\0Q?'R3U0^GC%[?&V,E=4Y?JVZ!HP1 M_B^L:7>S.VA*DS<_\#U9P?>I8TY*V4'690OX=]4!, D+;)9K U03;23T^TBR MWU+YGI^K5JXI^LS\^TQEG+266R7[I@[ M'7XRZ(<2\_R=HH[+Q7RF6)0#9EZJ C^) 3^)!"^S'G._J.M^&ALGVEP/X84U M\/CI?]@VHO!0'5NT\F6D$\/'YN]E/T0"*:Z$=[U^T424998Q]C1J; CYO;[ M+#LBVF>P&QC,%;[8>QKQ9=56Q(Y>*K3XP!-*'3^.7N'5A@1_OC+5,7K9,0;_"2,^8FL.ST5?1=#^0BN_.\7 MY^A]_^E/GIVN?8/I4:4@]!=RFP]4)5-'9DF]GQS)-[B#FTXF#[%:9U"8\OE2 M4=!*=_?Z,'Q7#%;B<^ ?Q*.7"'Z9,G;:#KVZ M8Q@J@GQ(4>5DQ9)4W7),M[85M+*^JL\Y1:. P]?RFWGP+J$6[23OX1A5K*=X M$]A"YW@Q0?0XN M.\\3_*>;(\=+V/6(N8*5U1+:-8B@W.'KSGB0FPO3R@QU4N->=M@<=".D M@7;D)A+;[HK+S%[&&<[/NCT;SO ->;?OLX5&<"3?R:6*W S5HAF]61>T $3? M(F[[H<0>;.%LC/X]]2))GR#:=(A9]:=M]9QD^A9KKR;\ MH[8>L%*!1%Q8.FDC:MNI@#/ >D^4]F2,)5D!$2/[T_=T,*WF'0;PDN[EV"@Y M">6:]T(^H.=GB7XX)J7F0/

0&*-L,J(^GFH\D[ M>_NP3(&+L Q/\AZ.EBEPZF,]F0^%4U&2#_B4'R[2QWS.# ^P)P.I^QT^#@3:*4S MS7$M((<%-,F:][%@N5]*$"9 0BN1\+Z%"7_;8D]%!X!G8A.>$H+PD ?0L$_' M>1.<"<^7@!!6;B1]@I]:@H- TVV\$UOG,CI6=33H%(Q_(E7.(M2"NJWU1)7# MH+:)%\+ZY3_R]Y$IG(#\-D> U)C65'E?JEWM4E8L0Q67 $'TCZIH*#"DJ^VQ MBT\7V 17U[=_NU[S/"*M>?:A;"BGP,9&*N=8, MO0":"W);-WZ'@K]BFQ"/!+&4V0+YH2F5]B+WL1Z1&YK X_^G4<[LI&+X&5,> MYM[J!E6X'_WXMP$H"'[-#(@,_\08\9#3-<+V4*J5A#J__V[=RK;+94;0IUKE+E,N9052G4A M"S_5R_>%;*J!?\D52JE2II"ZY^H-_,&I\Y_97UCFWQUE^-C71D;%F)?^U MVN);3/(E[>TB*9%(_G(MGRH5GE*-0AE?1[9<$6KDYWHYU[@5,N6'2JK4Z0:# M/R@F4@V@Y$SP>:7#F#F;BDO9'(B:\DR66HMC_$M*DRLFLB 6 +^6^ROYO!;/ MV56(H(&WE59U:>SJ-[WN_/:IDD\VDW6AK&C]NX? I.!MVN;#OHJQK(O4@1_<7[H$5I%)T8^_!W1YD15Y50T M0RH)3 UTK$-H@(^8/5K0741W3 F1+V.,,D6\EB/9&$DYC0QR)9ZV@>YAHNY8 M'.T1>$,.ZYZ2&R+5P"_PT0=M7X*?44PR_Q4,%-@2FNGJ#+E_Q(= ,/6"W@N) MC'&8-2#.A%? AM?WLKH(;&=P2,.[6D+;'X>\[(8;F AI0[P_Q U$.)GL$$. M7LSZW"^.^8MK##%H!T.\)$8!A* B":Y7'YCBA,/8A"\3OH<_P^0N+3E1QHJB M[MVXI??MN6C2 V%F(&Y\Q7]%,H+,"GHM,E+QR4T,5!-##\DW<$6&B898U<=_ MN,&;U/09X88N8/$%(6U]7L &94(^Y5"_KV!H:Q+>$@8H1A'Z,]D>7E[$O(CJ MM=!.VKVY'0"'>\78P$FP #$GOH/@0+U8WQ*02S#^C\7U3%W$Q]9-NX^O70=4 M6"& ;B#,SO$/<\4>XB/M:0M;: !0Z?)B-=&/Y)92T\DL4.XA]%R]O9T?W"]6 M*.4V;.* A22PB^=8;<628JN'NC/I(;/VDI92F.?AKE*O X,\,$LDA"P)&Q+WG" 8K^P]D.>U0U%@_/A??N%'6@:HCS"Q$6I6\,+ M6)9H$CKNBXJI8H$-VX=%5H>DWJT/G7DH@M8 ;&8BREB"I_"++4<:;KP=H(PW M*'+4B@71".Y%XEP3J>3/(!.$H[]Q!\W3T74;'' ;63UT&15DZ,:-?VCGF%T9 MHDF_"RAKRB2 "7)L X7Q-B7%4/%K!R"OR7OQWY%AKR$-P@W_1EYAK732YJ_Z M+RZ?2E56BN?ZMJ25+Q$D_42QX?N&8UH.<&4,)%C6=%3DM9X;..HF[M;A#JD> M!T]X_:(!ZR8*T657&ZD+&6\+1&98?P1RNA^5/.7Z1H?(1'C/%M;Y5$SC>.=( M))>#CSER-*H*D)O]*)1%4$>840;TH%>CRN M@R_8 KY_'%/6IV:O56A*6("R%M&-1(K%?HV18DY/)(QCI6U_ !OP;Z$D10?+ MM+LU8!FIA6*1WQZP+)DXDP=" =U!^6W%:J+TJ*<6,II5MN:'.FA&>Z@7[\IF>YRIW4]'I;O^5'N5P.1.SRB4'(A!91$"L.560\JAW\6GJ8.4*@>A_ Z56#'J? M*X_0J&1XD\]$8AU[?)?(YYK.5.2S]O-H5%FF#G6?.3YPBP2Q$&_FIQ6U':XE M(]/9_,=>G#'NVV]RA1^I:;GQ/$\-E.8DT PKW9PX;%&;/_297=[J)T0%CN91U@W\<%X/Q:/7N<69IBX-A;&+<3T50.A08 M!RIF9%%*CYKA0!6Z5FY)HW=^]V/TNPA]YVB(B-TZZ%8K(0Q8[,-USY6U/Y)N M\H6P^\O[_&]2B\G/=X_5=G,I)!*31"3!)Z6#H86L1D)%<1GH"H&&%GFZLY*1 MV#BUZY)=P\3\DA-O,,)\9*(6NH/94"BVIOFR\9@8W X/1KB5D3YK:]7@W7@Y M*,241[DT-Q\'^,21/T*;!]'$YD8XB#$%LSS#P&(>/#:_N)Q/N?LZM4E&RN^L M+CF@L](W@FJ1PY]8OK-'!]/GV:TDHF8@5AT6!YF.;<4P$X 7O#S]#3-$AOMBU+PS.E8$<$/^Q!$W.XJ=]!Y/N6G/^0:A, MQNUA;Q1NSTT>Z?A@*XH-);?/!UO#IU2PHHLU8.(Z4HCXZ?^9H.^G0[-%SJSV MF\6BW4LVTG$]4AX<"G_YD5J?12M.<-Q^2B<6_*!=:_7FNS062JGP"NO&-2CQ M45WQ:Y&(@D)+4?3^GU.UD9DTLQU>L\9*V$F,(E$KG%$/=NHAREEH.)"K_'(Y M>0R,TN&9W=Q3?!U#/8C&"[6Q<=]NC)?=4JG@])^MA^G@=-6#J99_N$W'GF^% MHI'K#Z;ZL%YJ5T]9/2CEI\I [I=%09P/^((9G3V-Q9V2ZZ._^^B&0Z(TW.3A M@/D^WDC5U2U['3\A6I_@*=T-CN)-D%&4XO*IO[R+C)=*QG)*PBB5G!SL)LKC31L[0B>@":FOY_B3DW,W4 M@W&_B=9J5'JHF!'*RTS0& WS3XWNGMPOR.^F@=E==5IJRF:3CZ6,^M)Z7A14 M\6 [K@V?*M*C8BA\*%FPYF(^E"X5YU_#3< Y;:(^PDJ-&\4'QF)Y7L15HJ?D M]TVN;65KY9L$LYKFF/A=B-:1/'9-"Y7[ B;_"9C]*Y_=[5R+HW#M@1<"Y6H@ M%)WI?#E9_2*?G3]/-!C\I!./W]>)AT\,C'UUYN,Z\F@D@<8LH OYN]A#'>- M/Y (0-CY*E: 48L45EF^> [@Y$0<(PYY!R96L&A9SL1PN:-L5(6F(7C1@W5TQ3T!R!)2YO7*=^A;X(Q>/.+=8_]: MPPM++TM_;[LFFB'-H=D&FD?QUJ/U^1\XLYH)ME2,7:F[FQ7L[K!S)D0WNJI'^D M%V51SWXM@::5[V5;*%Z<"R@9OVO]:7;Y+JZ8X-CN8QPK>I6..-]^]*0)"HYY3;@L5/ M$>X!PP-RH9"JS__"FIU->]5H- 02BA%/1N075WF1#X(9Y&2=N_1BZ=T;:>"O M<"GN7L[L;J%%8QGY \.DBP$N +Z@05XL[(6$ M+>:JK'7A6"D5'\J-7'C/W^O: &X)OM=8&C30X?V1)'55Q"7(MH:>%K6QY7X] M6QK7QW?3J2ID9N(H7'BD&4 M=60M% W"B75RY(5G M""Z#4>-9!B\PNJ!QP/IH,C@8Y1S6Z4Q]#JO31A*[D#B+)=,2DG-,<4XQ^H/X MC!^FA@7,],3;Q_2T)T8;F#2[A6%%0,LZ'^#+T>?L,C_GJ]%J]< H[1X2S@A' MA!/F1(FDIAX&R:7>>"2:\SN>=\+Y7B]1D/I:?0/)]RD@9 /OX.1SM*91#(CWND^A4=6H9HOC.>[\?L_'JL3!YC) M#0A&.;8%H %\66&.Y4.=W:ARLYM$3(R\)-UJ-[40.X0\JD#!!'Y@C:R W]], M.\>1VX7M[,A4/<,U= ,K;2$^"AYY?%#J X&#[O1XD#H1(/>71OMF70::B:I# MRPF&")+]:,8?2:J#C$G%S8#$B\W(NN#V<'= ?. 8#=99@2NTN>%,48$<>*<' MV$- "6,1;4XDDGT7S_'*-.Q5O0TB 69NH,/N\6<2,C6O[$''D")!BC7.R#2[ MUO64[+P5DHIO65ACWLS@\1\%/_92TJ_V^ I.>8CHXM8&&GF.(V19[NJ>JK+> MX>JF7;?/U%%DN I:GV3=N.F7Y!J\+SL0K!9GHJ("X[D!@"-)M(@OR"$E+:OA M?-:-5U=%W^)NW]'\G^AK98^>8^9>JX91E[/G" J72-3:^L6EU\E+X 7#WU]: M"GZ-KD&N+@"-NH1>*W)8O\POA%ZJ;IX3[@^H_24T;C :$@\,$("F-,1% M4-;:@;.$!O%R!G&>Z9LG"B9CM493UY+=MQ=';6Y9Y"Q/OG>&RBE_H,^3HR7JFJ5RQ%C,1:P?+>' M^*8#@&9;Z9WK5IQ]]Z2>7+66-'&:2,,U?P+K1+'=0B(,,Q6BP:9%Z>8&-#V( M@[KB _0#-]<$1-3R]!2_[X?U6N,+[:OQK?6[#N3DW@-?:#P\-*?/TT(ZNIP\38U7 MHK>;]$[@OKEA@=PMDA_NV\8J$52X MZ"\UH'4<47,UGS]0L-9,XE4/G$(4RMVA^F]75KC/%*-^=3^I?9LOO0@2L$#I M5J TP0*E+%#* J4L4/HB]+G-.K\\&(IQS==AI^"%112W#:@C+8*"9K925VN-BOAT!WOW@ M, KC6ED-Y9SQM!A/VIW:?)PJ?U5VX=L-/5+6REON9H&';US'\1R1/Z&.$O"G$QK$N.H"\!_8M7 MTXVU75+RCW%(P=K]#G\=]4"^*,??J[_H063+RZOT)@A]B6[\)C'ZWGQ"^BU+ M WQ#NTTR[99IMTR[O3[M]DVU[BC:;8WFBN=,?0(W"X[D-A;/&;>[V+;Z8FF# M:OS)$B0AE.K?5TM&6,[*.S38W<^]HL$>^YBOZ6KW8B 9#UO]N.#,*^E[.Q.0 M^4)J^["[G_O.EJ:)_>@\_(NK"2VAU/R:1L(?#S02KF519[/D0H;V1*0Q=MK& MD>J.\'=H=343305Z>-I+@TZJ,S#6N!HJJ"BDE>8ZU-Y7%M B"C\#_3[Q(0(B MEJE0QV!BW= -JD,P*T![>:Q7V72C8X57'V@D1\JML+!VM_6/1>TM-J6[S'XMH%,$ON D_KC M2V[2B+?.#2Z_5JV MH4/26WZ";6']M7$!%E[':1MJKM;T=?)TJ6K%0-:;HRWV-#9=T+HV$S%PP%Y2 M1<-"O[T?_)L" G0W!)J<1!5TS_0D]HSHV+KW 35FR"<;-H^_WYJYFO*Q::C8 MIKHV"/-:=&+LV]8MW\TU^AJ#_WF_+X3/O3^DQO? ;E+SNY>@L:"(\X] MSO.$N'^G/HC7_NIZ(U[[,S@>MO_XA4.TWARZM(<*[_+VM:EZ".)B-[WCICU] MG0/Y>L#[#K+[WAW<<76J&E7EB3[[@.RA+F]>_N'XR_:LW#^Z^&\<2;WSSNT_G"6%T2'67R6 M""\8W*+H>)2R8NCZX;[@.0NC>&2E4D2.C\ 35E5!/;P1ZC8N[,KENH7([9/V%H[:=E\ MPO=V. (^XPMZ?48C$YG,\OUZ3?>/9>1%WB63H:>I\%[7A>VI _]-,D#.KJ9C MWU28Y/ZI,-^>K>8%[-P^7#/1@CX$(YWT(7BE9= ZU4JQUDE[LMNG".]L546_ M;H_M#6TGB8)].GF>K*.K7EV0E[7XB_-MRI?Y^?I[-2^Y<2>R<1,2@'3'O*T' MF;I?(WEH.T$]%7O;*AMLJ&+@?\+)+G5>^5F MUJECK=,OW]PAF8II0Q<#_!J)=FI3\5VHL+VY;HZ]3$=(([4AT=.='&OH"IDH M3V]?T6BR*:SLWBWM#4%3X[S90VZS=9GV62![@?8^AJF/\+%>]"O<9_L*S46% M=#OO(U\K<],7$GYE="E&68P#YO([,C>#.XCA@8P0W(WTKR"B-M.A&Y?(#3$' MYF0$K1;(D'BGYSU%NDZLO^R"@O0B,]VT8)H ; WA#_AN9#>YT*WDZRTY&""] M;OZN6&.2\PBS5C&X#-+JT<5.[R$76"O(;E#5=@KURPSJUVA-I)A,D!'_98V/ M.]*H27,1 TE*7Y&X]5C&C4ZNWGO>S],F,V*W][W>*-VX8[AT+=*&^$/=,=?D M[/4]$;>:\7%N=KI)OP?-TP"6[H)T]_A)LAX%'K3Q=X?Q6I3FW)[]I-V2,NGA M%Y/,QDV.\OH6UI.@7\'!-X]/QHD[O9';&6U"I]NM,ZRAO2"%P(T+*;>MRYQV M%Z&;QS#U5W"BA01W0!L([5J0H*B%7NQCS61]J+/N3_(.([GQ9OJLNJKL)+Y? M,-EX)\YNILK[D&DCY9PNAZ\:EJ!#(@"',*YBFI(=+YF=_ AX[UT1N2]RC.W' MH,$*4C$Y;P#: ^^JE #RV=UA#X0EKV=C8QU!A38TCDVH&XDF='@ERV*I:4*1 M+B ?&3/N?>0'GNE]!IU_UNBQ,<#":Q$I2?2&W*8Z;OWM1KNK:&"-DO MBBD( 6"0*K,UF=(J">M%%(C2/;ZC/B+#N:'[#C)GBN3^!1K;8&"3-_41S*9X MI?-FC(]MPM;E/Z2-(.WLZ/7-(0G@J^/#W&Q:"K%\JQ#"5_A >W#-"!KO*&_P M)E:O2R:\@HC7ZR'>?/%& 81;,/(2WUZIWB"4[Y9#O.BFZ=B*NL)\$UF*##Q1 M-# L2 /BI=MV"-H=K0:4$+Y-R@Y4:*YD(55UVP[A%_>6ZS%"J][<1!W:/K.* MX4%7PWQCU=8,0.]F?.]^!QTU3@K,!SJ, \9WO<(7O/,)&6[VHH*$GMO#/*KW MN^A'?_$1B;TTP$[;9$]$H=I4I+S>JD1+5=;*JTM?Y/6DNLD;S::LFS*[@G+' M@NNO<1)&6]"3 ?@]S#/[T#3*;0NV<81W3[?!>'H(6I"N*H[6M&8B6AH% ^1( M[R@+NI=*;M]1(#/HR.4]?X-EGUOX#]B.I*$&UX:A:8#@ GY&7[";LEW9"+=& M^U91QD6^ZW_*O;LWL8X3VP&7H+: ;>\@2)W@"?%P(?X$30U<^S^GE6/W]]]?-O%Y5_H 0] M]/H[WJ[E_D#E=^@[NOAL%9#J+[10:N+O=*2X;A;01E^Q?G:TE9_K(,])\]>U MV68-R<0X.I.Z1U48L')I\R!$WR%:I-VF!9;CB^)=7]/Z]0JK)]:K[USPE0)> MKOU6N^^7WL@;T&)!HHNFV_US G%(0WWGF&Z75/=0KVVE,033F%XFW/QJ5*&% M60]X.&!6SYH*P3T'F.7SI3 O,5:HML:_CXGL'T]:Y#71>[$XE"]&-J';C+ M;]6O6SY]'&Q+=;GR2&\8CU05MLAIUD!T-P+7!F;IP*L-=EUI"_P [:8O@AN. MMO.?&!B-Z7C+#62BOE0XGB0:;E_;(]6E;\AP?[34,!&I+7S1UF$B+OUMA%_4 M5WO*_0IIC:$(D(#Q%*HW\[+@FN'D;[X_$1"C@6XKKGVR@G1O/; OQU,,L33> _GG6^PJD>6C67D-&K@S>43=W>SRWNT[USXAY9/T%]E:2G!A"ZUTUYXVH]04V=>"M_B0E3UG= L MFX(+XMW-Y,?+AU*W$;;OQA,Q6I^.1D^M5II,R=K53/X+ICWM<;W45>QU80_> MMNJS!R?4#*03W=(R5!DXH_FI7F^I&VS?H_8LRHO/A5@FF](>K4P5VNZ\T:M_ MATZR]J%N$)$0P0OFA*] M]X9-Z?"'?6X'E<629C'O UP]ZDA\&6^[/G+X*KBB@ M4KE#VCUIMV+T5"YZ4ON52Z:QF@]>'/=S'?=Q'7(K97@&Z OS3(@R3#0G]QVN M)$6D6&YCZ=7K__)ZF9(9"23R14($$A5_I-NI'V9DL) ;' 6![XK05VX2<-4/ M"(@!N4B 88$):NF968[E1L4\*+[EKZ33.MQ0&H0 .4-U0->D)+IRPM^X%['V M@GK'\.9([6X;M+$VH58: UBN8DZ[\-$U3$AHGT9-8!MXTW <=V>>]O3:C1VQ ML=*6ZCXE8TN77H($?J4U5 QNCEDYS)I 9'R#EUGBC8J'<0]4-JS""!:6!*N8 M/$4=?%)Z:EW=T%'Q1[*^@5[K];WA/6LB]5(H:$ .TP2%2)]:$\HZOD7#S0$2 M;O:BYEZ AXQYH+D1+LZ9\HMHW KG/9[J!F97#9(VKZ3W/A,X$I@Q75OX,BEQ M;_+BH4CIQP*K9$6^)M=310W&TXHO9W%X@-D@,<)7@05QQ!<,NC 2O10=[U7X MBMQK6:O&\C +7E#A'7<%DI#G[CU;<0 M9D/8(E:LH;MWI.$U)$0[CH%[CV+.5IC1FRY"$C&.!.4F <@JI@O] -U<"8J] ME%OYO34K38'(?L]#YDG7;<%,QN"L8IKKE2:BO [?OO+>E4'O@7I7 SQ,[9CG M$YB1R#,9L.EZP6!ZFD_4O_(:Q7)5)A$<4:ZR\G8*B,_%\=K>@:D3DXMX2B:D M,:''25Q[CF(LB S/0*:6*.FU"-]R-"(79FCE3R(H1Q3$%5%)JJA@!.):KY[N M)9=]-2Q.!E?9K@,/O[A'UJ/<>L,Y SJT:8DD(TYRL$9"S=@7OE&(YI$T-V"( MNB0YYCKT"NW/R17;,!_1TB7JA%AE++T.*_!"J+.7(?8UCKT.:.J:H!A+/P&& M['E,5VE$/CO;2P]Y]>) 3E&37L5$AF@^XSH%@NQ&10,(?'IL@?@!=H_*]HF M&S>["6;-4:L,7OISB)4!W02N=;.:+^2Z6MQAEW^YGB&X*-'2-7P/R_58S!?N MVW7<],48'398Y]W8:9#%3EGLE,5.6>QT(QKZD=AI^%.QTQWO>./I\#%BIUEG M)6@TT78S@E8)R_Z,]Q[R)2]#)/6-W.\W'45>WC45ZM0_[@^W$=-_HSJ ZGTD MEG2SF;*+M^!I$):;$?A&E)&TAMY4CUQES1V+Z$5YZ;$LY--5:/Q!) ->/#>? M+UCPOO:YF6$[4]#Z5AW0;U89P:HR46@@YH:, MU=0=FW@$0'4?H^7::,1+0+_CF_6Q;7T.?@/_;E\V)R?/BMCF=5L3;SU $8S< M]8;BNXI?>2B/[8*']>$F#JDK&B/B YD8ZZO<0 &1)*5CC;:GFZOTZAD@)-%) MJ2[I4V-=*O)A+*'S%^3M/6O96\O UWQMY+>R;#<*.733-:!);-V_"OD0 P9F M+_?)0/B5)67[*ILVYS.O*/T$_&F^''E1'N'M3MQHML\D#56PLO\%P%7?:-_7)XDW#@%=86-4MRXO:KI/-WZAO@%FUOLR/-?S( M2ILWIKR\I6.'ID0BK;#*Z_HMW$(&ZB2C:4YK!K3.+MIVE[J"TTU$\*.Z9YG[ MBB.V?"1DRO;:9>#_NS?Z3,*V$H +QOVZSC:\.[^@\&V6NCC.1OAV'G_E>=@^XL;5 MK[ZLO^I6<=G[RUOW)9BOY&E_'7';%6K!M[@JKJ#BG8GM;WPA/KOX47 MF5(+W0JI\WJ-XG<&"TY F5@515(',8 2XZ=,U*=-=8K&)P#/W>/ 1$J%5@<1 M[N'#CLZ0 MWRPG/1*\TXI' < ^O>*B 6Q3VW'1JYI?FBOAVF^^BMW-0T&%ZE#!7,VKYL/G MP<#0-9JB AF+;G6N9ZA@H>ENR?*BLQH"&PLKV2H(?9.R8.KGWQ$N6.MT[Y6Y M[ZYI/Q(!'[UTMNB6TKKIC+ 71"4P_S3#6>2WU>9EH#H&LCS5;&7B,UR MQ37LYN( K4I6+5JQNJJTHAJ9ABBY;MPS->7<%$P /0;7NSOW%UC[:VV!,#02 M&]Y@)ILEI=3$\A[=B/M_9K)*+PGIM#" M+7/^(YGJ^5=)&, <(^HI(*UB2*J'Y(4.F7:W%Q3HI MVUJ-D_=R\4R$C0D+5L$O@P0TK!!BXV[/[/EF/=L=S0).;3B,\<)$E0K]3-*< MUA>I#TYF= 3;JI'[\J^V8]N@F7*\C,]:J@XY% MD[? -? .5?ZZ9KBE5C=8[N=$R6W[ B^U&CKE9^27=;V$ZQO?.:HS'.BEM9;F MY(60T54+$4&ZC14'6+*]"[O^ZMV? 6"9NED)_<(2I)I(A<*H/B1NO;L"S2)= MN7@LK_#![VMQUR.LV'J+L;@1K8V\+X_7O+L1XJ4XLKU>\#'0E]%IRO%?:5L% M?'D[-7WH^L2@%1GQ7ON[>/0QES8IJFQK?[\1]S\8?<^)V#M" MZS J]#YO1Z#B/"M.7P@$1!1!&9Q^_9L).&)9U=5.5<6)>WM762EDKN')E2O7 MX)/_H6V^[E2'0#A88,_8:\9B= 8(DWT6 M"S>=> ;C38;@IO6B6$12O+Z<,.?U:M8&OH?GI10V;L18?ZB MH;GYL[Z?7I@!C?1<9-#OK&QC^" W=<.O*W<:$VGM#(,'B2ZS=8@>.@=A6C*@ MINH)V.[> -;C<]WXGN=6\V[[]Q=PN^!?R7 &]M#1]N[6 V>4L(TL@(0":G%X MQ[[UU+G#YHY@VF[U/<_!?GCE?=!"&\+B$EX/6*^\>QOSL LUWU[)[<%T^][C ME*F!&\_J=Q'?.2H-> I3844?F)X:,X9#& ;@99\ ^8KM7K.;F#LOSYKMFW27<'H8+CJ#!48A= +6@?<>0>KNLF4?:PJO MV8!=Z;Y3M@[JI$%TGOHUBWRW(Z2Z&^YJ>WL.?)T;&QN9.0,-K-8MA@7_Y$53 M0!>*8_L[BQX;'HDS' O6'SIXYI%;V2_:![]SMSW%+1<+(Z>!B$>/3/*]0QVP M"1Y83-E//[-V\@0Y-9(UR;NJ&6R=M:]5=7 +9%F =:;E"-[5F'OO:*EG&M9O MR\BMW6,0%$)!E4X>#?@ ^+]7,3]]W]Q&D=A>MH]]D/*XB].RO81SN&A/&U0= M H);(POJB9N3J!FZ HL2>*$$;M /8'#!T>4(CD0C<.=QIYD&7(-&W_93+'I* MOSUMS2V]75DY2I[^UY5WS=.TWN2XEF>'*ZF#Q.JB:)9%BB?*FJ=)]O5G+E\$)W(RF@IQ.B1,YEO MQ$2QC2RH7'7YXQ=U@4S1;845MPKMM;#DC4KWF^$]QOA_<87OM\0W/V5IV6*DFA"XA$66GBI(50R327%1/S MW'BXL.P^/!9^8+ M3G(0,\<$-^T-^@ZYR&24V9(G>.1T9"W1C1%EH:4BF)[,]/-EI3^A%# R\,S) M>+1PQJTVPCJK>-50R 0=K]?!R, \D[$9M8[;F14[C?6R*KE(M-/\DB=Y_'3D M>FST:WQU4^9BL[G2(>I=>\G5@7T;F">>5SL+LSY,6(@8SR!RD,@*0F9E\AA7!#B MA"3A 4DI,?/N+%FLSB=.1F[.9K+H'%%,I9.&M6(3A65>9LY)2H-&2^HPPXU909RC IY9*3S%G),4A^AV)VA;GTRFZ1'5 M'R[C9 8'UGGP[?-1W&"*@A3G9+&^T5HC/(FTSTI*7\:3B69GE6.Q_*29*9OM M'LXK?"(XLKC6.TYKKLW86#Q/%V.=:E;J+WDJ.+*"5U)4,3=;<)VBD989=":L M>G6>#H[,#0=5.JL7%FQ6TXJD6AT3A@$D!#DCT@AJ5M/F9CGI*,.BME![2UT M0]'@T.&F:(UD),]S0K^"JFA%J90:[M \<5<>S4>I9=Q=EW;%')I)>;?HF+$V?5BU1,V"$KM4"KTQJACCYL;U2 M+M0!I/9SH_;E@V5P7%K!J8"#F?RU>R6K97E6\E4 MP&:_M-<1+V!+K]5*[JX*=M@S>VT$[,),9+<3WFS2AUXC%'YPV.AJZ/[O9&'J M&2-,!5Q51=?-!,[ JEO=)B58(W ^NFE[I(N3=4TOZBC0=6A OZD;+^@[[':% M)*H?77CO'K0@6X%VUP!]@6L("'-MU>U?S?[=4=X#7%,1WON_=7&\W9S@N MQ@^?%7WG*ZV1L=0/7&JOWI+#P4.P+7#3A+*)"U1E!FR &ZGRT>'V'8=O]YO(^ST0MM\SP3M/>FW? MH&-9F%GRS^T/AY."DNU/"%JYHG=X.3[L':JS=])# B%1G0'=OG!\Z&+'(K:EB3;W]U*I3^]HS&\C7OS2.J#E/OB[5!A M $34;'T6OXG@ZB'C(B"=@!!I_H4)&/ $C M #2%&O$,C BAZ4D8 : I$6+3%3GQ=B/QWS-;[[=J>)S^\'7=32W&^WK1#,'UZ,'T6^Y)\35.FX"F:_#J%".P%OZV8O$<3+M[5 M_:7J'E# YL&6H$O6W[O[NC_0C,,[.5&4Y>,+Q-LK2^JU:[NKR?VC5W@D^'?1 M=\^[].AU_^L**_$\QP]8R8&JNO=UAQ?5.(RX/ A-O79>W0&<68X MC,Z-Q@DZ$/I^/7LOU.'/K,.)[ZK$OY>_<@\M5M@UY9B2:G4'-',X6[$R" M6AS_\8N*4DC\@A)_-ML;IA/'U%7,T]*?.?<_?&.-R=56-EZ;R$0&3. X1VX/&Y[/[G ,K'G7'?@IJ3%*1KV$//N]@@KKI)"-@U M%O]HGW@HSC<0Y\1GD^=/9B?L]QAH*IPQ"-C$H"VO!FB<4Q4B.\];=7R54W@2 M&@0H$HTG+IGUG]/G\)X6[1'PO]8M0GR/(WROO=D_%6D?>U Z1A4L8TQU*[<=?G P\@S>-F,SA9-+K2DG2\FFLK&$ M<26OP/F';I00'6[B9WGX6A\/#[=UQ%P3'Z:\7JIFG=Z8ZV38?'70+"4IE@'X M .TQ.DI0P0HC)_;8?]P4ECL4%]EG)=WS'I6>/:R:R$F.VM$$MY4T5!TV3XL- M8(;440H<_(X/QG'OZ_Y,#Y]R)D5NV\1YV['8*Z^U[T!VTB3.JXODM[WV*U=9 MGL4IR6Z,Z;8QN5LE"MJJ)NP:MNNRXG>MADT$=-E4W#X3L-B7V_YWX#6=\QN; M'U;!]=/B_-GM"DS)L!3'MI,QT.:!/!*TX;9>I#_ZN.+C84D]O_[AZ5.]FGIN M?4NH60/'EOU*8K IV"Y'[^CE;F$I6 ?,;7ZF'7?H/2Q1N:V%ZI'7\0FY,_2] M-PC6J?'_$DGN^X?O9@(+7P4)/1.L?36Z5RBW[W;OU0Y^MER7K M MFUN#5YC!BV.W9.1L6YQX?^J(;M?H94("&9GYU2G]/,1 8@Q57=#% MW6M4W7^1WZ:OX;W$:^IP1#:_>U]TWQG:<@86.&G!U_C":.W9(YUYF>'8QV^K M[67XE$G^ZZZ/$H'4W M512Y>],/M83;=%O(KP58Z(P,(4'[J=@J?>I?C_LW_ MS7-#:R84('M=TP3=!EO9;G;!--#<5,--S=9ZG"!1<;FF=V1N$Z:!WC<-%'O! M\#"?X0DR2_"71,B(9V $. *&?'@"/H#S*8Z&G'@"3H30]"2,"*'I.?B TB]H MF(][14[\[KW@6U;K]XC2OXS*GXL&5\A>H5X2V,-C\N^:\QD*P-'NB+Z0SYWT M>[VA[4?>Y$O>ME>";PA]/B*<7$!\3/+29_F,\9 N67 M-10^GKU)O""/MQ3OF[WIZ<&C WHRCJFKMF-Z#;&&Z@K^?)W4S<03+.\A\4J/ M7_:5HI&@M_=;9GT%NY6^>HN:7+?6,_FH:^E.I\"XC*]1?OO2@<,46T0FQ[#- MN2(6QYU-G$HK'PY=>G566=.PSL4F99OT-%/%.G5N:C5'X\RTPUJJGP)*1%&* MNDWH8@@%GQL*/._JMX2"@[C#*V,!%8]5>_6>A4WD?BMCE-.F4. OM3*^,A8T MZ)$SK_;K%!M;)W,#,9W .)'Q$DF)*!+'KI@V\@"C'T96.<#(BXP TY>";^%8 MQM"&OWP!(_Y^&';7-5XS-^WR=?57@:B/62NP)S._59*2LY*F#J](TK%!-S*SO/O"X[Q3H,L_=Q+KF4C$:[I9$(-K(8K)TK-V/8'=TN:I_6N)Y66'%S0<[. M$SB1::08+V44CU+XI:-6" C?&Q!"W\M'?2^7$&&H(!6"H4D6J:Z=43\GYLN" M<,=CS::++'J%6%KFU$(JT;4$)Y>?++TD43R*T(G/[7S9IT Y;NJCE^\E1S3( MDNM9.]\!R3XI;'T_Y\N5RU9D/)5Q0:P!UU8=.N***IMN#ZJ26K(S8=9QVLC*1$30*=LR.NRJ*X%_.$<(X8$H&T% 9 M9K.;CCCQ2W(-59AM+V\MB/ D=/63T*/+]=W;=?+H]3X> __@BNA 3UNNEKHW MV4!%=]_PCU3%6M(8)Q$FC3CSV6+6H]/EO'1'9S*39DHVUU1P)+[&6N4\3Q0P MD>$IS\F"7O0EA] 20LN'G#"/7N_CH>5/;JC>C2U_/C5= 8V MK)L:G@&__ADP]-+\H9?F521QD>S]Q\.T/#/!&]SC(?CJ&Z=%H]MVQ@F[4N!B M$Z+!:K6T<(SVM=U_T"(_.M; M6#P?!L=UK2=LLNUI>M+!$7,R8(RN-J[S*.+Z==!HG KZQO\.42-$C:_KV;D= M:CR=9?5QV.!5*9F.UW@D*\SEN9K*E F.@; !C"J,BE)TT&?S]^=UVAS7'-;. M!AE'([I\O>NT;P&#C^Z[<+.L[DRCO?#\>9G4ZS>:<#O)G$YYWV@B MKXN:(WG-/(3WNLPBJA7YUY45Y# M$K>FJ\,*Z/UP7B,E:35E. MA1TS]'3Y$)HU*$'(K,A/2LFRIKVSZ5CXW5K0K]:WPPC#@Z,'K"@1+#N,_SW?__G MJ*SUSBT"6Z<8YL^M37! /I\RF&L>*'+,JYHMP!WLIZ MA;7E+S9!O^S*0O[< MF16X!]* KO^.'/P,J1)@&FS+.F[-L/WRC>K?/<]N8P0J-\6.6 M$^A+(LCSF^Q5^,%>)41&)L20_VM54V>W+OCSQ>;T+;HDPE72DR26;^72>:>39IEMZ M\M)#_CLP(__Y]>:P2K7%-B.M:B15K:392I--PY^:U5(^S;3 +YE\A:FD\DPI MTFR!#\ILI=7T&J&C_T3^@@15=4>6_K[6?/[B=,&1@*'N/W*OF^FU;+= [8F3YZ.S*EXL57J M@!<6)\8TR:GX.-9F>"SX3&2D&\5EC"%8(396=#R-UU43C@P\,T;%C7*=&_=9 M@9V.%FN$4*FRPN/!9W8R>5;.S$2:C>% =.DTU[&U/KQEDVIL1M>]K*9\9T'=A9@9%VNXJLI_R8FDQY MC2JH-;1%U&'&0& DLJ&99C?+M3B'D^CNH*4LXRP,7@N,)!?M&9G-E3:<8%9K M_76OW]37=9X.CAS7'+%-%2R;6XL;=+%L2*.4[;I7 T-GSJ+2*"!5=)(MM9*D M79]45LP2#@U0M"3:8B]/.6-65I.TT"!M'5NX3STF*0]%ER!)@A<1@N0)64#X MP6!(\'%\0!&20,E#),"$=34W3J4CZI M8LV%Q%4J2RM7/R?49:Z81MCZ.E04XW) WJI.(@CL&D4V)WHF%N>TY3)F%P+Q1420[!8M6/7 MNTN2J]?/:4JIU1A3TX:L3=9KO3(=\JE-#U' R,!$\41WWD3RJ2DK%"A.SG:- MJMJ (X,3'8VK*P45ER4.JTZT%E];"?9T>4[]G)XE.\9"B$^$96VSE(Q)!9LI MY]0O06CU,EZA+2[.L$MVP5=&4WMY3E5XJ3_&&Y:IL4V1KO*;63-1+\/B(4%^ M)A2BC';&%C)%"W29VG3&(@G.]D$RF:T6P3"SQ1SI6)DFYR"C7MI6O((D)X"2 MM\?K=*K5G\0:T]2XA[>SG3A\YAF"SO,R&=OHR)JKC!E#-#.HNR+Z=.0BER+L M\G H(],>6I#T>)8;$/"90=*SB16K&^7JBEM;2(W/C))H::Z3\#ZH1,C6IAP:";.M>41[4!P?)I%8%24<[)A#'HT/XSPQE, : M*5'D::"R%!9'2'0@GSY\$$8;+\4:M3:K92;-< M218;-%O.=)1S>-)I&8A<&Z(XNR[6^)K*T]E4MGX.)$HX7^?+!SL[E M*HRD+L^!1&NV3C3RR06""&7,$-1"%^YIYT!B(\L5M))L-!&'6V:,.;=:4NX6 M'9346&_8*;-\/(/$9D-ZTC.I7#_IX@D1,":2#L?,B&F+!>A?,1V%1.9#YAR> MU$OQ5)L?ZQ823Y:2TVR9[.A*'8P,:K3#V(LL@>8G:I])K;$!R6A3.#*P)FJS MRG?L%J*3XI$6AV+FCLTL*8*EF+[ MM90RXHIE,]L;S%I-J"IGS EQP"?4=*[41++9XJ@[&F3D=AQB9/"AN8&32/75 M\8J3NW.;Y3B5*BS/@F2L7$J:JWXBSSF=>I'*UPXE\W:XBF5FFP,IM ML3,HI\KV(@&U/S#1&EV/"_6^VF+E?B5#LR(QTQ7XS #Q\ZDJ4A@CHL)5A])& M:\<'LRH"1P:(O\@A>#$%<(0K:C.;C!O#6-Z *!4D_C09KVF%U*3+JMEE%^FV M%+TWT?I<1Z?JRZ9M5U=M!8P,OI[,3>>S95M((D52J*.2QHD*>]:< M8BN3TF;6$E=(T6SJA30VET@532\0UV_N&&'ESA?A3=M^YX6\@*ORS=7*]8L-?ZE/3XLXM@#\U MK:[1 3C$TF]C7(0]@7];,QZ=<[Z]^;*< ;Q'@6'?A@DX:EVK3PWU^#4^3U[] MY\L;\SS)S]:1XC.FC,(BB#]]=6L>:EL**MNYMA%)%N\54UJ9K<:*DD-KUVF6?2 ME*EX;78Q*HHGKEL[].ZF]=9:&!BZ<[7>+G>PC9\!6[[X&M^\<_X:('.S2A*^ M:B4]S4HYI@F.*&<@9CPHQ7N]42W.ICC1&,UT8BUU&*]';CR:(&_5WR74TJ^P MQK>N7[^&DMZNQL-[M72^0J8L/2!&;*=5+A2'5J^-9NM>;@D5)1+(U>V 1YNN M['2F&6M9CBQ5>P3+48'7A2Z$3WX>N6K!SM"/<#T_PE;;.@?*=JX97+&05AUM M4T.F0A5(;->D\JU M#8&O#B*WV?4/M8?1I9JG.RVH.J\?1::4**+MH<-PV3%*LQHSY'E4\1K"8M$X M?>DH$JKA5U7#T _P\:W\0VJ(KF=ZCIZP0\Y!.+'@C!$BTV*\D@=8%">^GD>@ M(0\$6W9W><,>R69XM/C<1XN'W2E\PT/(3:,//,6$_1>K4"]?QZS5JCG,XKRJ M<--QI9.0)DA]3=;]+JL7VU2'&AYJ>.AE>%BPPKLU/)G-FWIY.F&YCL:O-G2# M,ZB9W^L4):)QXKJ]Z!\6L""((A O&[S,M4=";\.?E<3_,AV!? /C>=O_?'YK M@]FI'H"C-PY)R545+U03HSJ");J4F3"RUK)>]WJ=8E&"NN3]#)7XNRJQ9T-\ MN>QU.L6@"Q;ZC*!Z*'M["Y8X[%P]?Z:%"[=;3E0:6]U_%LF"3,,4H+F4G3J7;D M95?IE[R:UM -$H_2Y*W:;86*_TS*<+],C8W')04X ]?^9](0)A M*1C>TX"R&VC"XR1EIU-X?#J9*ZO---,FNPV;^7!:]C8C]DP6-F]6%),;D0FV M2<\L4G1*L1Y>]QI>H1@=Q1,WZ6+QZ)OQ.VZ?H9[^N9Y"UJ#85*'@O3\J_*O8)?N*&A\U2\:]B7<6\I#1)HDL:+537!0+,$Q=YCE_QFH;OGN(]A=?"S#,;Y9713AFXY&KR#"6]>KG[S M\NB"EL_JR7LT71X/DQ\]ONV4=Z^W3=EQMI\C&W&&'E81.B\ M02FW@$\-C976%3(K3;($%G>((=*B;;\S88*@;W>B^XX \XJ/]-&:%"+,$]K_ MH7X\C1R$^A'JQQ/(0:@?OW4']VBJ/-X^_> Q_FWS-$^UY@5A7"U-YBQCZ,M5 MK%.NWL0\S=NV,ZTMS#X23\U;3;E7RI(#:)["T_UE^_13WFX^)&+AFUR#/KR: M\XWMEUY#7Q1'HBAVDWKT MW^AZX.&2'6IL>+,5BFXHNJ'H?FK1=4^(CU[5XZVDFW7QN6 D"22@6(?.#B=. M>=XG-U,UGR>@D>1>S[YI)87-.V[0O../4>;:TPAT##F^S3ON^[CX66\,3QX MO@5_M<%7-?@625AO?Q^J)OA@"J@Q@A_!YPP-QP2_#56H0)&Y(YBV;$9D01Q% MUK)@1FP#Z";X: I($%F.9-A-&#[+!!,%LP#3AATZ5/#=PWGG]8C@URJ"3[#W MRW WQL0_1PN(@IE$3%EQ-,$$U) 7@N; [L6[]\D+Z"IR(PY$U12=J05P2 0# M1L)"CABB"#OX2. U@+13L%S 'P#2MOS*_ ZI]1)).VXX YSC;OF OU)D6WDG M I$K&A$TF&VKC Y7$Y%7,R!B,IB,!#$,"@K@C^Z. 6(VD>W(#&BUO"6W90,A MBD8L!] 7C#>!'( O2*H4T0U( ^CVVG[_E&+^\T1AYB8";]R6--NGP"4,9,U8 M1@:&,8E $LK'\K,EJ^0^7/2:'D5D@-;&5!7!FA>J:>@N?2"AP7RV) 7=*?F0=Y6@+^@9%C!]<.6QO4*Z;[5;3YDQ)48 M\59%#?2%2#R0$4'JV\;L)PE(;YN";L'#QD_W)_!M^2\D&@-_^ON;<0AY"3GT MW!QZ25PL2A-RZ/$<(JB00\_,H0,Z@*\9)X9(N]4%7>L=T\ MU%,=6#]UQ?_;W U? M/?+R;)'_JQ%AU_: _&@_$ QH9_Q3]P,YBBJZ7C. VW8$_'1B@KV0GUM,#CNE M1J[:9>SR3B:>G@B7#TS?@@@W;QO]&8CPEMG_F8@0 M6M;?UK+^>*<]0)&+%[(/-XFRIF%=KZ'BY;O-[\=^] 6Y?9/A/^JJ*8K.U(%> M#RD\-MVLM3QUVXT@Q( G9C_]0M_6#GQ&"/A2Q^$_]YR@^ MY6U#\8R&8PG:: M7EKA1QOKAF;OLW+W];[2@QM9O)_820A4P=&OUW ^\;E=IO<4'<]:_L3$>AU% M_]"<_L0TN:< >9;V)R96B#T/$AW/2O_$M+H)],0_-TU^7W[^U,+_Q,2J@0<: M4FC[/YOM_X=GW0"G/WKX1='7=./-V"_ZA;BM3^@]LG^QYLM?JNY! RSS8PFZ M9/V]J_KRM7TA5Y./5Z'SS?#:IW".O"4>;D6L4ZGX&#X^NHF 5UOHY]7 [P'K M>9R\?U#&W2HHGX]01WIP'TJYU4A"2KTWDS2DU'LS.D-*O;=*1DBI]U:K""D5 M:M\UM0\/][YP[PNU[R&4\JH*A)1ZMV/XTU'J[L<^+R7B\Q'J$3#U.3T)#S$\ M0YCZC:SPD%+OS<[^1I1Z]HNM;5>6B-=;HF4*8#W"5/XT%U:OL_%.%LKEJM-/ MVS+HF),;,7^F\9 TJK4WS&0@G_\ M0LDHC:*W:X:FQL]ENI$M1RMR\H$J5IY#9J?H\8 MP",-..PQ^KFJ^KRI!A?:\)V:HI9I\PT@*[(KJO"W,A"CJ3/U9?2J C^;-RKK M_%+/LMF6Q,0FY6IC$5>.1#QFR>)/R3%A+.'[!9RSY*&CE=2AO!-DIUJIIGY86L&3/80E<61[JA&9LQ&KV>*R0S)3JJJ6K26:%T82W4 M+71HQH30W#\J"N)J27:UVPQ-&#K_?!_L(L_\6+E=[QE0(K2"+K# >=93)LJID'6C. MPSLAZOH>UX>Y5U..!28CFQ&OV9>A6R-U9H6AT;_E37U4.V&MHX5% ?$NG1;*:G%A6W?5P0D_9T5"F:BG$&5EY@>N6 MY_UZG:>@CY6DHBA!A[%>?W82>5XU>J1W]7FI$H++#8\G(QWIH:E- @WUW>P/B]5/I=+Y!+>S+*3P11+3VN3V+I% M-*OZFM ZZL$+=?J'#8LDGF1Z(Q+LR7 &^ALQ<@H"?LO?XD0^D?$JH:Q]K^M)&AS M/*FONO@ J3;QJ2*W,(R$-Q*W<+&F>PLG-HL-M$FGI2X$92[D\QKT'+AA]^0E M'VL8=A^&W8=A]]\@[/X25NF;I!#/;OHB,D\1M4210>Q:_T81^+%1)SU)-,MC M-EO)E2E#YOENU=VH803^#>Z#'GT3VC)L08NH.\)$!)=18>#]]0/OCZU_'%C_ MDN% DM_+_+]1Y9UG7.KC3SI[W$R.:WEVN)(Z2*PNFH9L5K32]*YW-WQ?6NM& M(]]AJRUN,"**8'H-A:?AW0U%1ZE$&%AVC\"RAVO%C>KT/.-2OR< O-\C48OW M'0?IY0EVOC)9)3&JH6@60D+\QR\2C\;Q&SDDPC#VY]*3&U7U><:E/AX2#KR? M*9Z4:-$>"EQ\JJAUGFQ7<^9=D^:(M))"4VVISCFS58ER"+RP&BP! M"A41 B MP"WBR1^^U&^* .^W"H@ZTT0[8G&&K-?E6=D:$N,9SP!,@/<4!!7%*2(,"K_V MU<7W6_?#ZM8_?-T/JD+_X'4_K*;\P_7[017BK[-NUZ/]'UL &\DU)G8ZK\-J M:R=.]9N^[.8K@=N^JCN"OSU*ZN+7?\$_V]>*FBR84'9&_TBJ-=.$]4^7QOXS M=_:1RTCP^\AKP(*\X"3X9.MY1?X-67OPV*-GQ419T_ZY=/^P?<*-K](PXB 3 MQ:,6#-V<;>ER\.___L_AN:;G[T+!4* <_O;2;A7S"-9_GMC'[B:'0!#UD.0%.2T&>WR11"#\( M7Q B(Q.:K/_7JJ;.MI. /P-]!9:I=M0CR/_HQZ\6E,&(,8RDH 6LP_LD'UN$ M7U?2P;F"(X$=S'_D7C?/8]:I M)IP3\!,0](X7 [Y0LG#H=B/<]@IN-_D<10C<$*( M\Q0M23Q!$ (OD.B0QU 1$P<4(DL2_L,3+F%[E&EU#2W3BML:DE6S.;LVZW+* ML,ZC/'8ZU%FDSVL3>=Q+-"6[1ZXJ<"1Y.K)"+-A8N4H27*JXJ%3:>$%+ MT J/!9_9GR=%K-*9#R9.IH=1Z49*SRP9,#+PS,Q\GAGT! V9R#D5G77RC:8Q M97@\^,QEL277*KW9@A64."?W&;N@%12>X)'3D9L,F\O2/"6QJ0Q=LPU]5._. MX,C ,VFSVY+:#:4[J6)Z"*58L#(P#P74Q:/"SC58(LF8=0;4YV4RDN> M#+X]K]E6SEH)8TY.Y!IYCM>&,L. D?'3D45T,4@KH[G.8?-)<]%NUB?I#JP) M'W@FK<>PQ)I2>A,Y80Z,DC&@-VU8X2DPFS06Q5JAJ#&D#"4&" M0]5N"7,FZ0G!9BN%6KMG%'N#DL*C:' H2J50>H&"I<=7+6J3*J\*<\!Y% L. MU?C8)$/,&E5$=J1%G^PVGK M$1]IQW05SW53H)Z;HF4X/D.2Z^XU:DZ,-CMGWC\ MXDPA^2/& &R+7BA--"*O1,V!MLGAQQ%@6LEF9*CJ@B[*$0#P%IC17Y8L1RJ& M+7LV;3P:^:]Z9O/WNT?]^%5ROQ8%V/TK,I U8_EW%/+14BVPH4 +P![)D:&A M@;_ 4XY+D9L+8%,2 MJT,[_O();?]-^,=WGM=T'GDWK?G)D^AZ<8/TQ2,!>MJ>$)2#2F]:Y?Q1S7[P=*@PL0W-L^<96^>MB@;Y? M+([.6'_HNJ(N!M2&C+@;(]"+C2%"1MR+$>@+[Y6&_9:K;8W%X:] M8+=-VJ;><&2_Y7LH.+HXV^;5+9GW(R+8MNQE.0FR'\/%AH M;[GDJX'4 \L+_*GH0^?>50'LT:46GE=6/!C\W+*"A?#X_>#QP_5VL?@+N4?Y2=<_HL4>&8PFZ9/T-KU3^2,0?'7=6=6P+1DG#>R< -Z9[ V1% M##W2DLUIA(F4#$&_'N!_UBB[/_2V/'K=5\DC]ERIW[($?;"\([RSS.N6;3I3 M@"-NF82E)ND\U!I& SIS4F^A9.@*@)NI>]>YGLE'A17@5:Y5$];N':B1%/3) MMJQ"CRSS=K\Z22&R,RI45F"./>OC=9*.9YT23',-N,5, 3OM,YD&N7*KK"/) M@L9VRIR9;.8I.\[#P!/\QZ\X$@4FR&T2#4*H^.10X7DVOR54G"F>=B>LF%%: M>Y;&C-AD3HY:>K/?&@RPCVUYNAU/E9;(%FSV!UO M1NU6%U5XTBW$?UO#Z:NKTK? B[>NAA^ %VYV _;/%_5VI&5-6,M2)&T*2\_U M$3H^OL!IYF%;_;<\^[S?3>*K&]0VJ&Q0UZZ[_9LB76[IZTJ6FSIHV7*R+;$6 MN]OV7THG5KEF/U="UE2QTNQ6"ZE5KP[I\^,7G@@=)R'47-%*^)90\QMNEIMC M39>N5Y)HJAR?='JU=&73+V "_O$B,;^)-<4:48^WQED&B8EBT5"M:GHE, !K MXC]^$>AG=[S8(]D$A!S8$4$Q97GJY2F'1Z7?P,6G#;*XJSWV[;MZO-\X4T2%'59Y)K3=5(0#3#1#G,OD,1KTT&K3K5)3HC/$]J\ M-VR@!9B:# PRFJ)";TP(,7]NAWU[B/D-H^PF&(-8295BYM4R&U-(L]N:]6-2 M_&XW8!+2MSJ;LHZQ*M8GQT+"J59&L%D[,,30*$U>0IGWVV&O">'#W6LGK:R] MG@70<@M/MN')-G2B/;XD^6_"F=ZH+MBT-":1:M8N._R<-K 6X_621A$L>E.S MZ1N*_'=5]=")=8-"P[^IZU0_VR>$NI5'4HB!EN="$E!HZ35R1I'$U8R7QSB1 M\I;EN.5S1,.RK0A@E>=1DE1+A 0)'4KA:>\K.90@7OWUV6R3H6R:LI3Q"EVE MH*)6Y'-0I0EQ7.N2*V2"\(2BE[3[Z<.1Z$ONDE=2\>@7TOUS MTQG8T*%R[73#;WC>^*[GK-"EHDFQ^92GR@ M] H9!9:D]7TH<3STH82Z'?I0GM)J>4.YB^W4U*D+ZH3M8*42$FOG$+6_A,KM M.TT((O%IG";T12$.VB,EV;(BH@.,.MV.S&"[*L!/8QC1 ,UB\/[.O_GY*L41 MONL)[$R1IZ_J-?E*MDC*T\PSJ*4V)P-N+&T45BY-C42].4N/ZDM8^GYKDJ!T M& T3*O G](Q\*8/C=0VN.NV"UEIB'62^$6.&62:*YM)M7@'MCGB41BYUA?[2 M7I+2D?6QM4M"G\G-SE4/;Q9[QRHW#U_KXZ'O+K9+Q=#%5\&OHJA:(Y_FR(F# MUT;YVCKF=')U%Y,!^-W0<@F5_GD4X8[U:AZ^UL+ M*AZ7S5%E:U=2\3H3W38^VIY8L-G%/ETPYTR/N.6ZL7@T@B$H'77;8Z6,*2#A MVHT>$@&\"*KK\%)M*V(Y TN55,$$LX^X525E*:+JM@$&1YBI#%XDN=]KR)8- M&[QO:P4QVY2VR%^"%1'\D8.U^\*,:EJV]W4X)!J1W*^"@>"UC*,XX*\H>3C% MI@RT5WKM*Q5CX16N/EI6:Z2:KWZE+*R]T1CBC&K'M4$A!;YD+,.K,%W8K1 ^?#E4 0_XY M);G[,?K/WY&E"IXE1*RU+H$MPW8[HGK]UE1! VRT;-5VO&9L@"H:Y)'I!9$E MR]5(3C!-U8K =-!HI/+"O$3A*$&:JKIJV:;;=R$B*"Z/#V;#' ]@E(,9O0"F MR$$1F9G&0I6 A %\C?RE_NWACA#YUXU,/0S\'Q"3>U@I%%'@, *FF0ZI8,]B\@A.[Q$Y+CB-\'Q52W;(X")FZYZ,PB "T>S4F]UF9$$^$V^S6Z _I)?,D:")6,"[+>.^'^^O,Q> M%""< '%X"JV^2WDN8])=K_-RMHO$.'PR3[%,8S!\H"@,)QUAMG',%KM&JNOE M(I%7![GWB<*6]>:N%*#H8??0G\B1)+Q:,- 7!B@*L#NGILDBW!NTM;=#N9OU M'D5VN^%YR3JW]>U-K+WPAJ$#7BZ#8Q4PXL"9[5+[=LVGIX#!RZ_SNV#VN.">/);0C9<-%0^JUM%]6 <;(= M%33Y#C@4^-8!,DP-R!FW#H(]@N6JP,;!_ UL"O D!=HK!X6L]IQX5 M ED%*J^*D*I@?KH1F1K@4WL$!.LVR(.B//IF9NA=D(?4\$6F&B=GR%JOZH6$ M,=")U>\;&'#'_"W8:8V 3"FC-&!99Z2*H\S6QFS",X%;V(+1):AGF@JC)-.& MZ%+&:LBB#(! 2JZ/K4;7:,P89D:%>%8'6@:HP;K%S7#4-;.AJ^XLVHT(=#6; ME.(R@L5FRZ$REO4LYAHZ;Z*= -46G%" 3D4D#S:@O,V ;AE FTUC&K##P0!W MZ>Y R36Q]<@2TN# T+9V5/".6#LZ &CP";$578\4.4E/!CX M( 6^[-$"3'KFQ):#T)C@:1!H01]TCH"0#@KB'Q[,O^MM[DSO' MD> W(WBGNL[ OC\J,;*ZR820ZKD)KW.+I$Z6:]_=GU%WZNN)UE10$R!]-F6 MRXXM-UQF,*X@M.!_/1'(>!*04Y41T+#JL"'HBKQ3+>1 M18==KY4=-/F5 E= ME\!G^6&.^?$+/Z-9U]K&SOHTWMK&7FO MWNK$ +_8,IS1X4#?P^G?@]]3'GHVGK@3T-'TPX? MN;/\MOLUG)ZXE=L+AM?66^)8$7DXW%F24/W 2NPM:KN@Y5MQ #IVED1$]#\;&; ARL3F>&!>BRGX%G!5FRO<7E@$WS$@G%_2;BSFXY')#ZLZ9A8/L: MR(()_94R9#'B*E R'5Y:1'Q;!PB6]["M MV5O-- XL7?OL9FFX)K\GT.#-[HE%!/.*1F:: Y4P(LR OHAPYXAX=(GZUD7@ M#Q$3XK;EFBFWV3W3CNGJ$T_P&.7=E;:,@U\LT^;=S!O90 ]P%X\V2Q? M\]%X1-_1')[EK[/-;D>TP#! M!_T=YN\@'XYL&D-S]Y<\V(E6S:4P.Q HHBVU$KVXTN/4L=9FK+BM*13S&($2 M+;T@Q(NS-#OO5 ;&;%4CQAD&"E2()L\@*VJ=&6::\V1O,E7FM%&@L&&A]R#P MR:J+&F,2<01)B952UUK/INFJ\N,7]C[P@0;0 >Y$P1IF_BG!\(RL-\3=B;CA C79A,TJA0./PY$0-@O2.M_"F1375))2'FTCO!-GH/ES MIO;OOZ/[4R640W6HBD">5-:V4?N^I>/2C[#CGK'2?F"X>05\[, M-O2AN7$11_<0D;/Q-O^1U,6O_X)_MNH18< M31[:/_VO;3]S0^)V'QJ6"D7\IREKKGR><.W@3(^A+_%CEA/H2R+(\YO42,3W M_/FO$!F9$%C_KU5-G?51N,%2.D02S7NLWV;9_^C'KY9[O#6&0#. ,+C%C'R' MA'!UI\0KC7,# 5^7&D-W\J52FJE$LHTJ5XM&\I742X2II"--+MG,I_-,(\\V MW<;1EQ[RWX$9^<^O-X=5JBVV&6E5(ZEJ)0K3"65 M9TJ19@M\4&8KK:;7YP;])_(7)*BJ.[+T][7F\Q>G"XX$KPG^WO?&OH!9IYIP M3L !!(K>1%UCT0N9'/!CO9Q.B[%V&EFC\9B.HDR_OF!X.!3U]G1W:8S]UFCL M:FKPEAMK"J.]P.9I1&;".B) /^A4M;W-099W&X2C.]#S>)!T>OF^\_)%^44? MJK?QA3ZCUZRLQJRCF$@N761CC<'9FMK)0$:6W[*#1AJC MMGL8.67GXXY0DDFTV]<5UPT4GMO>P(#_(B>7#,=PRVLHS !V_"NXOT S&W2QYZ?NXMX*#&BYDB> M"P4^RKM@/[[1C$S!U]U'"#!^_WP4$-QX;" I@F7?,KQG#R8/LS;82IW5-7/! M3*:DT70XKU8S&IDB, M+E'U>*Q9,L1ER%G!8#NV=EV-SM$D4XE7G,&<=1JMA7W;O&U.,F=%!QN M(A&P;!@J,P6&C+#_LV4,[27\KG <52A$'-MSK7F( ^WF/8+! > [ MZA0@-5@RL'"V"1 G^X37/N&U3WCM:\4+ CBYX:TC(.:0%A_ MT2F6T@\63_.EP('&5FNSF33C4%G]&U)^!(X\,I6"[PKJ1GB MY,=V/70EM1PW!E64E0U*2147Z>5R6 ]>8)T?M[WNDH%I/P-S $<"^5;J_5Y% MB+]$2BS3]*7]+I;$Z?P.XR@TE_ '%2V&JBAO,U=A/0O/R;VKZQH%!U(])D*> M:9J'05MN;I_E^CWDU4R%IH,=60BF:CB6&TUB':6"K6'<.1 =ZB62UR,0V[U( M[T/;6=VEFNZR#7P#9?LZ>"^X\\TX)C@'PU0M-V_!6PQTR,R\5,S?G5GBIEZX M=QO8/WYE8%Z=FW,'K2GPWV,JN=!L>35']OQQV7- )0O8:MN:)"-8(I'S,!=I@"QN$4S'VD^9(5@15]@"UW M=(%K>34V]C)V/ <@35ZR*Z#'S#'%D6#Y^2K3\[G(6[E;SZ I!EX]$A;PS=#? MYG[334V!5S!NC@TDY7:W/"1ZS)+%F+J*>4>4GSGW/WRF7,JEY_UT EG/EW:N MJZ?R#;9^EF$?5=UW;OF&+N\V^>#L R(#N;0=^#JJGQ9V>^MN(8/FVLU%V<&X M6)+B*VNLICCCY9%K!M+QI^282V ,6K(><.P?[P$N\C>VO')_@Y?S!TZ8QF1$ M9V=MI8VHR6JOE:[*I#RIOZ4Q+O%<1=Z;1B?A8A>_']VIBW>#-Q76OI=7]E-2 MK/=1^,/[YJ&W:V 80,IU=P-[!SU9P#Q@%8IR=5AUY]HRV!7X0#H@:X^>%.,. M1FXX+(LBLIVTN'IL^299W<=\B*)>QMD>CKRB)Y]'1'5Y*6@GLIF9D+ERSJC7 MN>FH@]3HD9Q7->4M(@ZA8^Y/1!,"YM<2SY:?F2@?$#?5QWL6F\ME)UG--H58 MO;86[#>)N\UQE/]82*&7#A@55Z#A6R+;$[5^JFMWI$FVM\*E<1ZO]5OU]XCL M.;-Z!Z(N&4XD-JTDEW2MTN&X:7=9*4PS76*:?5/MP=[C"NR':/H2\:L9:^NH MZ_7&] MSY^T=9(?NUVX.PB@7JS%>13KEA; M&WN_;_CQ4'N+W)5BS;7OH=[LFWQX+P]JI;R235$%C]QN4K9[H B\:5_/288KBG"C]0XN0!;MZ"[$9=V+9+M@50JXJA'X1@Q+:>[^W-V<&M M/>"_9<6V?W"3:BPXKRBL0C3V[W MD2R[D_Z9=*6C6D@>S%WWA@=[Q[GY\!HGX('Y-)=5;]Y/[9/J/0Y>\6KJS]P5 MSTOBX#HN^,).\"\@_A[LP9JKQM0O7&9[05_#0RO2C0G;?Q?@E&[Y6YNK9")X MC>?@A5_V>![[F2[ M'PB:.V=K),/O'"W[]1E$ 6![0;*BZ$R=+<#.3+")"IX3SR^K"N8)\QT-#R7\ MZ%HP#%X4N9,XTT3JA-!'M>; FO1=J>AW?LDKR3H#TP?[!9BJQ[C3+_A4&X7X*$1@XIS+* TB^@#F MFOIE+?9,.:0B]%7"*U)OPOL*'<"D@R/ %UPJ7Z*7:AT]??>,[9/O!A@'9;*? M[)Z_$=2=N][R5T\=Z*=Z>D:Y/1O^7 .V8\/<'79>84Y&!I7D#%WVD+#[HBIO M PQ$0]%=I1FX@N];!-M:CYY)ZNN&7_1QZH5DG1Z:]DHG>[%3P-(4;#GX2=.P8HP*(W%$U?4U^X='371A['B^IW6C?&,, M7A:HEO=E<.R"A2NG^Z)*I[, K#3=20/[;U]AR?VR'R#JFV_!];7.0KMG)_H2 M8D5V6]>>@E-!DGUD 1P"[Y54$]J)(NR\#+\)Q4':1IJ>O-KUQJ_\AWM_!]\ M?X%)OA<\\+[Q]XHGRG,<'A_/]VMW#P)> +4)/@!GX@$X!OQUJ8(S M\NYLX7[JO<$W8K>HYFY]KPB7^X:=J+X*RV=D\#GN@I[+N/KS'B5A"O<;L3Q4 M&,L3QO*$L3Q?.);'B\'A:5DF!A2%\8D!)O*$@.$\+5 B3\5EBL9H 1?CE!^E M(VP[XY@]I#>84\@0:<8&'3->BJ-31.%1'CT=:1>I5KK5V4S8U'"E3/2J;9>7 M2S R<3JRHS1('DVE=;8IS^991N;)PHSAL> SQ\E%>3W+I@5.)1*U4BI-](7J M$HPD3D?6I[*=[JW6*%Q&2TU]7A M2!0Y'KRQ:<&1@HJO5<+U>==<84BVL[67,7C0+VA*^ M/3#1%):LV,V)7D:*\E1')TALLF"6/!&<:'^:FN#BLM7G.K,>/\!K2W:6J(.1 M@==/"O&J6"6$WF1J-K@U"7E)5\8MKFY.DC1TR)/5%#W[8&)(DIKN!A-L#2YHX M]JI:G21%;MJJ+(K3A3$0S"6?"([,94H$I99Q=!)?$S55PO*+;G?)4\&1U=I$ MF127@L#%^ADT2\3HX4NT@9DQ$,)05S#@YC5.5[I"L@Y$!@C*ZL4C9 MD^2<;:(6W\PG9\;&5,#( $%[_6R369"3U60M2&C1HE@8#$47&0H%%Y( 66 MYJ2<]1(?Q[G)>DIJ.)YOQ:I5B"?8ZJ:3ZF\!,Q&>\KYT2ZP6SRLTUAQ")Q MR5&ZII[-=%,,&!EX.V_7!ID6P96KK4&+#H"3R6"$Y@LDW6D:QOM22=#8"@S[O!+Q1T: MF( PFR=[M5$"YU++&#L04Y(AX( "9P UMFPUUK**YKCFU-#K2#GK#%$&#@U, MH#26UKJ*CP;K4M/:\,.>,@:R"H8&YFJR MY&30H'%Y4C4[.-.?3<95M@Z'!N9:Z=OKBKYP5JRLUPOT)FE7$W& /4AP K)( M9\OMA5YAX^V8W45F*V")UGGLC! 6J=E"Z]G(!NGT*SD-52H#.@^P[XP0-HG: MHEPKM:>3F)Q@TJU1<;6")M(9I-K,"VDGDTP-$$R5=1I!J#H.-@OL#%15$2-9 M9JO+#M>LKBO(@HLACN0.#6Q!W8E02BM9L\5FB2:MKPZ&!/8B?#(9\ MJ3II39IHK4DF>IMQML7 YD*!"63+E82\1O,"UYDC99YH-!=H2H%# Q.8Q*@6>&?*L&SW@!H,SJ^MXIJJBWD*<0HXI==I MO5R$G1EN$F[_&QZS=[J>7-?/SH'B-7J%?9>$&:#P]H?#:<"W^KX&>*P3O=/Z ML7?CL.6DY]I BX)V]R^U7\:ZJWA?2W9\<0+1OS[0N/9@X/HP?.A0W,(!&Y+ MDNWO,=@']Z?G"X(A+F_Z8'R'F_OB[5!A8!F:8\LW]KU<<(V^W_%YY$G[H[;! MV N&AXQX D9 [V&H$L_ B5 EGH01^ M.AXQX D:@:,B)Y^ $_H)0(2-"1H2, MV#*"?B$2(2.>@!'8"X*&C'@"1H30]"2,0+&7\$1W14;\QS:AX^E/5.,MO].S M1)3YN'\WR;KGLE4'C+^7?[,,8[P<3'18)X25QT!CV!2&CK"'HMB?BB MV\0?00+YY/R_,B10FD! :!!\V"#ZQD0B#1ZYJ+'QB6G@) MK<%_ _2YFMGPB8D%0Y ^BTWQF03#LR<^MV!<#U&0S^VMN:?@>%;')R96$%&^ ML4GRIR[.!_/Y8GF&O]P$<,.Q!%VR_MY59GCR3>0:YY(C0CS*I?E91>/]:'"H M^H=M4$11EH_;H-P>#4YJ@;@%&ZYG;#]X=(1$=PTA]^'\1+QG3PI4-L,Y#S8,//+R/&?;-E_ M$LWYZ'5?17_11RWE2?07VZ7C)'@_-:?!**5%G))U5NB/QD.INBS7>LIMU7=8 M6;6':'(N3P0%:ZKH;#XO].I>8BH:)?&;J*]G=3U:C!^AOL^P[FNHKQM; 3&_*,+.<^O$+CZ)DXC;[K^MB"17XTRJP M%U?W;1681X/;+]&J=)ZT!YM$),5BI;$I9A\ M5M*A]8RBKOJBV 7U_=C1]JZBFCGLT>2>8G]^F@"3!V/-F\F,7V*5WX*5;R7A M?8E%OIG@]B56^>A(IG"1UUKD6TE/7V*1]XF["L7U#O#Z1B+,,RWR$]ZY[*KM MNF69?_QBO-+_PK9*^K8>?.BZ_M(7-I_ZON:PA[);M+\ZY"S9[4%U*,YGCJ'C MP2*^S-1257:J=&A\PB$T1]2]4H(XK#P=7N%\K2NJVO)0-FGL%,?Y"!!(R- M#1XP#(B\LD(1U-RN9R5!8FV#49!@E"& MX_ 9T*.%D*_E;CVK^E_HQ.CW$<"N&T,EQ\XC';#YZ) MXD,DC #XR.G6CYQ^7_VY6;A0ZC5R2RV5M]9";-'N-!T$[J^\?:O/ M/Z?IO!5P*DD0?T'9O.(I&7%>:X MH]5Z85+7JC6= F+7KX- G]'/?W"AWYCTSZWY&P\?*_Y5W/V?Z_Z(+;3GF5RQ M*=7,92)FK KQN#2"N@]=_#!_/@__P<4>Z_Z;;X]U__*._L\5OZ]4N/34S>0U M>%)<5]O#L1N1:H-5LS1<"?FAY 4U]9@019UI.\=' M]K>E#!>\EGGUL=Z(XI_?HS^F]Y[$RVNZ4QS(Y& ]3/#RJA$W-Q4RZ9! X>N: MESBHN[HN7.X^Y]6'>A-J?R%__ICF5Y.=+!F6,CJ56M?KK5*='-DVTGS_GJ? M'KLHAH_HL>;_\JG\U8=Z&YI_ 6_^Z(:?+3%C5:C5I%H]-V$+L\9:6_A5WOT+ MHL>I.;[[_E^_ONDI%N6C^&VSTJ'7O2M">\F$SM'9EXMA7+^B;Q"/4(U -)"< MSBQ@HWQ7 T1'.%3P%TJE'T134)N>HOO7:>TQ ,Z9J_]Z^L" HFG; ,2"U];0 M6T5C4(+]M#)O@R@-?0FV/RD/;,:<:K/'SZ(4DU&U]KH8S_=C(BX/?-[RP)SP MT,^>Q[YVQOR^6LGW-Z8F1?VJ@=I5QAR^(5CGFS( MT!1GSYMI\_;&##VM.P6P/T\S?.TM^BDVY+>XR]WB]XMH\+=0\/$J]56NZMZ?,6M5H*C7/AO_4"C$/D5Z MU4 [KSVR:R3+\XNH/=VXMV4%GV[@&[/UZ<8=Q-:?;]R; /OS#3S8AN]VW+^U M,U\OPX2?>H,TAZ1K@],ECKPSF_F/MN!K4\].S[([5+GWR3AUHMTM#7?H1[%) M.2,-EX,F15;ZE@FLHIZ?GJI:RH?T-P>8=35E/>DNZ%I?Y)_2?OBVL)^#JZL;S]<>V#7UV)$*:0"2F&\RPVB?6>H MR/QTI%:Z7*.4MKR+J;$V',[[U7F-UY16->.1'7YI3U'](QZJ,1-BH]29KL1< M-HCY<9V?+M!QK2#E\XW[-L(@N^3R.XUNG$E]<;CC+L,=IQ/HJT4Q;DV@KQ;6 MN*6-^7IQCOR[[)DK'..X6<[^"4,8C^_;7"A"D=_J3=RU+& <\FW<91@L38H? MRCFUPHV70$D##R7E9K_]"(>$R)EJNSY-A.+^=/ R-P2NKX.7BB]\00FY3#EC M#7/DD"IUA')G+'&&,T:IL7FDA#QSKJR9.+YP,Y9-B-"!;1/]0$:(&4JE;AHX MQ'#Z$,--44@O$(*X]GBOC_27MK:*IM'_%.L;Q7:N)@ET69I'UFPM;C

E43L5E MH:945^E(!"5,A2:?$.*B9RF'A(-9UPEF,6'_!4'2V',4A'FBH-;53\8Q<>=A M#+4#N"QD%W1MEAPEY.8H7$GK7"\YS: <>,@\XT(\=:9*M4\3$+NZF&/*SN.8 M6 <4N+NHI40R2G$2LS:YOMSOBJJ?Q)+W.7?,>8I/X6#:=8)I_/[(@U9O.= P MD0<3>3"1!P>,,)'GJ04:QSXN?>=_4T%H5#RC7I_O:.*$B@VD8;DZRF9<+1<=3J*R,BJG2B+J.^\K M-L5B5LC=1T8^VF8[X@%%<&9!*5-.ROU]<'P^1 MY&#[?(6K(39'W$&#_]3"6 MV->AFO8,.YF<%03*Y>O-2,%SU40;0C6+;# VQ/#[Y9'_QH&@WR>*/(Q&'R*+ M/(E&7\4&^[I*FVO.K=?7W9S,6$:_E5P)F:GEJS2/*IX+['Z:EU.H- Z-72?Y+7"9["#;C%R^2/27!\1HVZ8&=*K6N M-M,\*&>H.,6_BOEZ M0/N==J)AC6)%H*FT(8)8N]6-1WWM]^U4/H*CA/%YXH5W&CW ]*>' ME4M,?WI< <8QGJO2G]XQD0FS!SOM!P%/=_7Z^;PB3'=Z!)_F(@&-+V1 2_(, M*W05>THIG>IDT$Q7IS0'?1K>OW<=HL-G\6EP1./N=1=3FLX5E\8!B?L/2'S9ICIS)L,'A^8;9#-=KUKD[9(D M'M(\.YJP+.\4Y/F0YBF9"2LITM#X87@,03X26&@,=\:\A0\N[C?(=[I>X"XF44K"P\IO6_9\=19E!Y'RZ[*B I(1D,< M,\,T(DPC>@"S[E"2M,FHVJ:T14V:R_.!UUP-&78A=FEA0R Z9V'2YU-[3""Z MA;%>7^TO;-D=T/MZ+\=ZNL=I6GPI-$;E43E<3U>0WOO4H0A]QN2(.%+WR!CW M1,&Y!Q\DYA@][MIBCM'C"C".FES:DVCZM[/ @%!@7Y41("PP550#OG03-7& M-45Y#XD54"S[A*D,KSWR&PJ=//BX;Y*<=,4-^ODDX#;(.M<[$,*2C_WGJS)= M7FM/$'Y\!==KPM[R+7G+>\'+3>RRZ$[AH_J_=?RP$WA$*1&^#UP+F;#'J[)L MS6$QL(:K6V/8_V,=FL+T:QRRE7:*GIH)9^15++',\=V8V!/%+D.C\P_BWY.'_NM)](?A_;JU;\WVF/;?$&.6.T@MGMBC-U>D(:1WO:QW+ MG4'K<%CB)JX^G=AT>3YW! <@;LC[N*+-LWO4^@O8V[!H2?'L88WBG7&K54B2 ML?S0ZS)^SF:">0DS9[-XGD]F<P% =@3@0.23Q$2 )S(K"#_YP./N9$/+ZWC#D1V#>^(]_XLYCC MS^YSS5P+=#/CL@16-8JD2MPZL4IY5(6K5/[T'F?X%ZYS'3WA36S,YRJTGLO MZN_>W">9UQBF8":[M<2:MR@^&V/=X;@1:5BC+L/Y12)?(F>\X7E1\?X/=OCO MQ>&_D%;^TC7+2ZME<5!)1+7EM$.YU2AM,;U$9JZ+2"WY;S_"+PQWOPDU/E/+ M^XM:8!(%CE@\?L3BSHVD(V>[7\1B(\G0%::EF]*T/2D7C79R"E2(Q7[2V? + MM5_"\6%"-J>SFJX]$AR$>0C;ZL^U65KKJT%CW9Q+J^9:S?;R;+H[&"%MAI85 M^Q*./%1JBZ/&UG\=I:>#4[SJXYMV*YE\8,"<6[??&D;A'[^HZ2?4.]6 ;W&^ ML_S'7E91FENPG '#!H2GV,3_GCA[3,*U_-1KW7"7#G;2NKFSK8;YMJ-EA512 M=N<*E7#6DTEY);[+)<-]01,]?6!\<''0R*1@8/:KRO&!QA45R^JV8BF^OU;E MBEP:)DO9QAS4IYW1MQ_TB["G;02<>QW-!BI:>;8I0@!%!P#U;I*8SJ*9*Z0S MCN2ZB6PQPK8I/E:YR"2M<\DAJYBUJI1*9;AX65F3R?#(QZ3/)PGVA'#& /[? M L"?,EM=$E,XY+%- "B* R+K&H!@J1"!!A@B+&#/ 'S* NBK$ '%L&].9XH% M&SKF.462>9WM2'# C7J(LIR*E6%=MV8H>OXS..A5^R:;' M14W.Y7-MJV.2*XGZ;]U\117Q&T+XW,>VE\N1@4_XXQ^-C]^G-;&8H$ MDFO5<)6-U310%S_^A?]LG]37@6(A4VG\ST"U9[JR^NX;()N7O^9\\_L#?Q\' M58VI%Y:#GVR,:HKZ#^KASF/?/8OL UW_YUC<:/N$DYO:R. $UG8F49+4U_A0 M,*UT-)@I?UYV_OV__V=W.&]&(MDW==/ZODU\MS-]FYEA?*MQ!,B>!12-5(;P M_=\5W5-6]F:PD>@+NTV6_/TU=Q[KQZS0O/Z'V/D9SHDV5);DS<1LCE=3! MT/F^^=KV,]_7>/W0M%4D!]\MH"M(OS^LVF;-'7/VG:%?^/=+'H8PO+_F9PG? ML3NND$) V(*8_#_U4OR@58E^_GZT\#:20<(<$G$$\89COZJ((=)7)YQ-BD4A52W(Y1&2*\1="+":(FARK91(9L9J1:O_^ MMW?\(?_V+.*_/W[:K%BJ2S6B7B+BI6)"*M:D!/JI5LIG$F(=_I+,%,5B/"/F MB5H=?E"0BO4:@9"&IO\A_HH'V (&?Y^J/W_)AN(.H,.V>>2;;A[&K(^:<$C M%7__[(:C/88#7*\K]!FN&Z;Y:#=*,:!+TQ1@PGU%X03P+1 *9>N74DQY71(R MHZ&\JCC]V3)M&7V^@@R!CRVYEI@O3::UA0QD1XC%HH.V$ADA ^MCRW5],;4, M@X,MLR72-;U1IP4\V)+[V-+,AV>S89/1-##*J/GQBK0+*:_+[C^S0'>!,U-Z M%:I)*14SWQOTURO4EZ;VF])#>I#M901::WI+5H$.E&TYXDH_3=#=X;*0;WF4:E:-W%R1A^LDDM7]E:VH[U'S80UC0!M=%"JLUPB5BN/ M)EF-K/?L(E5NE^:=$7+F]YJN>\55C1Q4=$G-K!=DGG9;PAJJU8&USP(Z&JV- M5P6)Y_FD6P@;F4IEA IE[S7M13,RG>TE.[*;;=C:6,JVRA41-=U;_2*5CZCI=OD_6,S!%WO=:#'N3:J]$BT!4QC%2QTZ?$-3UTT/$;U4FU (VYW")BMD"<&M$UB$:@1. MZM:-MMW93 =3^$!%)_J*/2:&\/OOFOG[:A"6V!890-\T7REE?O(\^SOA[]R? M7Q;\[9C/CN^Q72S MKWW;+K6W,HU)>;9J:>XX5F0F"]&-#N&; ?3'9_#=CN6"TQF^NR[55V.HU-=C MJ+[_]>K%!&F\H0>C*S,;?-_^L-LI)$B;#B';JA^8S.]=C)W ^,:_H/;\ L?: MOG7S-#H8T==Y!%>]J_0^C'Z1HRGAA7ZV(=/7O39ZC1&'KTPBO<*8F1?AJ@P] M+-B7.5BGKDH!__TQ?YWC]MG@K[Y=/<4&]8N#A-8-^O#_^\9]^UV" /M"7;>L MG?"3N.+/0HDU=4D4@H,>"1WTO,74L. _ON SOROX-']NNOF?"O;V_/R]0-^X MB?*S 1_>SH1?W\)/( 'LBW#>[?S/)< _LL:(AA'MZXAVQULYBHJ=%.WN>"X" M)N/^OWOS0]VO/QS4R^UW[TN*U+K8]YXV^C?WS=.-^5CD/ M0M-W._#?V]9N(;_,&X=@:)G3/9; \YEH]W*:=))RXIXEF(]9 C#3VVP\V1%'[MT7N)HB* M=?%V3V=O0Q=_\\[6611Q+0-03EO3-M44ARM0DJ)M;X@(S^A>EJ5*@-3(13BEZ*VTN$A4(QR@YRYE2LV"?_IF&?36?_C;T_P(VSF\K_[A; M]59D,L/)4Y=>K*Q)-CRKC6 _HL*1&R1DJU=)G+RK7F6H"VB>#GUHT>PR<<&7EZ]<5QE+/9 M&%_1W4*+7H)E8N7*C!"7C0:OIN2I"'47)> -'TN+_0#!E'?BODG5\7H?[X*$ MF"?T-I[4R;K%( MF#&#!?\KHPB-3". SJVBXI#DD71L0BFT#QR;,GJ.H1D"" M \O^6#%&P&?)G9'^]NBB_0Q6^M6=["MN4H^^ML\@OU?W,B^_U]R4IU4Z%U'M M"4VI6[ @3TAGNRV;\.&"N;X56!K*-A"1"5C:&( 90]J8?TG3>D^^.782U9*5 M83K:FZRH&KEH]>RJVAS&_"QZZ!PZQ/!G*J2&G<7[5O5;=/\>*_![6CU/B--H ML<2E92HU)UMQH6T6DR@#((WBPG2(HIB?189QU8U+IE0_GIS0O^ZF.*[E>_8' M;[NA$@GP\W=5%+Z?-^7@H2.+5YDL!-U=?9)2D)MU1H6T49A+S,SMRTEC*,>* M^RD%S][W3<;$PWKUDS%89<64&WWX$=-@&M(C,3\7GL[Q/;]JP MO:C-O7V"DIIS7U>#.TV<&*%_$KG;2:.]\WP3/A/15[93LOV=1+OB]R"3O0-?*&Z[.[[^>$14?N'$;+&ZPV#[LTOW@\ M]%.'YIKS@+(9^;_M9MRZ5*SUO.>@PA@NMJ(KS\K/TRI.X5-T M<.1 F'NAPS>H+S]+M!CHS&?9%F\7/7Z2;/O"(O1[*'/%<_1/YB>IHG-78H5J M;Y[.(KFY85Z#-X'TX<9GXKU"7&9>@L@OGIB[5)VKS M6I",!1SPQ=RDPY[[@SLU M[5*TNZ7A#I,K-BEGI.%RT*3(2M\R@574\]/?)U0?I7QM;]J_*F!I&%CY;6CD M'^!9+LU80F^-*PN)[[CQ I5*3R7!ZX81G9H)1:)G22N*-?GN-?GX<2?6Y%_. ME?';&CQ9%[ED@Q1XN52,EF;T+,WGUA6HP?RW'[Q GT=_;T"0+VQ1W9))N3&R MH$B&G\7W?&KG8??"P9W&7QX>R[]DE25<4(3]J7M 7X"@BNL!1,_RT[545V.& M7$OG*'4F,;'.M-+E@BMN45XXGTUV>[*/4> <*'"EX-'#H\!1B^YKVK]J%I/> MLN-VI)*CC6@[$?%$R8/:'UQ\BYS1HKL]F7^RL!D420[[UW?MEIS:5L.0?"'# M#+G7=<\\@,C=2*Q?&DVF?2W5D-,MP6JOA^'*MO1.5#BC/89U^$F&C2-J%[&_ M/E?R>;ZTBI9+[E)J+J21V8F7^"&[*>L3CAS+-O"DLOY(830>.]!/X$!?!=9Q MO.T&S+JQ!< !S*=S:[9^1(G$! ,4;Y0BV@#!U@ M88?[$@[W%1,CW C_[=HS\+#[@:["3W_F;%V0+_7$[OD MVA4Y0\7;*5V$G1DFD[Y^HW/6$,=@]MT#QOR"MZ!MX3N1F_:4_7H8'/0\OP%D&E)K4F/ M'5&TW*PTLZEZAFF)Z]>2D\S^+:_30 P.%=Y8J-#LP6[ZM1EQM/"^O2M\%_?& M(/KK]7]9FI>-[*RM:&IES43!O,L74A6_6"H$8R[$4_C6[8-I*X[YW:M:'[2\ M#BCU*%-(=6BZ/:;B<:/;,BO928KSD%+[@3XV&L:!OL<.],5=RP*&HW*I/I4H,OV:3L+M@ T2W0F1,Y%S M,%C<-UC@H-X3HEKHEB='78JU#=N@$74&8XJ?/H\-GHHK@ M*-X-1/&*IM'?&)@XE'?J;>(=T+$0Z :FV]/!K6P*)ZQ06BK^VV^LN]?>*8,__7+T[B"94956\Q MG.\L_W$8]3$@U ^41Z1'Q#!0D7WKE;# #+9"'%IT.?KM6WUS.C,-/Z0Z?/]U MU%!Q"$_5=:('X /ZYLB '1P0BOWV?;"< <-&#R2&KN-:@(!;LVH.[!<"]3)X M(A3^G1>ACIK;#?SG785N$.C[W=LR,=#7T%\^/F1[1X=P3/1WU2(V#R(6BNZ" MEQ.NS]MR^*J').U/% ]*/@)2U7"5#0H-U,6/?^$_VR?U=51D%TKG^!\X#3-= M67WW=?2#W+)^Y^#OXZ T,?7"(MG=[E34?U /=Q[[[EED'^CZ/\?\M.T3SER/ MF0EO(>UU6ADJF"E_7G;^_;__9W$'!:E8KQ$(:6CZ'^*O>( M8/#WJ?KSEVPH[@ :0)M'ONGF8J$UQ(@5N2 M;MIPWZO#E\1TLZ]]VW8\6W9K/$6GXA*_ZA9EK6X7^^%18#+[JR$Z1]KY Z2_ M$0!:M3/X'*K2^9I:)>FB/%0N9/G#[ M-HB9:]FN @T=:/G$S0$@:L!W9P)K.TS1?RE_^XEQWN$R:8,^J2[)P#3YGO;_ MTZV(A1([8-6B-"W,^BE)ZI:U>>6@\?R[,_'%#>%US*\;@?\?HJ_88P(:D0,P M!-#U@P:I92G&"""-_,)4:']#%816#IH]!1JW8+/XT&3=RH%-3)45 71D>,+G M(%6TU!ZTMPEWAC[XHN,,^P*ZF7%9 JL:15(E;IU8I3RJPE4JWWX-F#;0TZT" M1[7\@2()+4)8$I>JW45I#KJ5[73%X?R4K,1F=L2WR2F :0]872H+(9EG5G6J M&1F'>]F2&U,$<=TFLH.5PNAV@N*GX:IARU&[G!M]^\'MI_#Z#S(; I,? M^1G0(PFV$%V=HCUJXQ 0BD_=1HMN>O#3WHIPE"6A*QY<^JVZ]7>["B4+0%& M4F2;.M!7!'2(T(.0)V(!_Q7!B[=?][?@T!L&-+63X^X0?=9@J&L*+H"\?H 2@[>QF-X\_ M7>;3CNFVT$\55)BHI!:TR,J19)C3IW, M9,X4YFJ/&( N9X47;*Z#1 M %%#L50_/)W9'GQ)AJ-"P_$L0:(@.CUQ;4<=KCZ%G2W<[.).R2 *B@5!)XQ0 MA.;?H\@F-?*>.PA]#5U?D::'W RX4=KJ0(7P&B*:4@WNGOVYJUJ;OT"I=U3H M0*_\T,D&VA3;!HX/1"DH*_;*]M\$/X6^#70R@84\&,*>03'S0UCZYO0>3M_N ME_[JPVZ@:,T"NMI!S[>>J O'I-C@U1O=C?) KU5$'2"VK?RW%X U@MN).((N M%]*E$#%0G.#P$KXR"7J6BW80A@\FZIWC^_JE[?M"*%;@CPDB^(AH0N$F M+-.=A:!,]%\V6_F^;EJ@AG"YS!%#>:\)3G7'PW'=SN'U_;:Q8 M "XXW&SM[:M>B%?!X;:"LSO%Z#%0[J?V=L5WIC48\G86% *J,:D,AW!]_?GN MF];,#)#OM?/!5]XF=XK6:O!N"8+E.S) WT[8+/B[<8I(7(/CA=>9]+^QF8#0 MN]\(B+10./U88'#>;+O0"5\$V^QKUU]>VWLH'+O5"#@UMF,!8P2_:!Q4K9GI M(2/'@ H+@I!C7YEMN"OHT!Q]QX!&W1@H-IQA@Y!?:B^!Q0H!VT1O4 UH\2"Q M[NLJBG""Y]DP;1&2D G<%_M/A2)VTH8W%\=_S00];%M6EKH/4Q!A32A_61: MT*B"@^+ A-TU3(> ST6+@S ?3IG9UW:P MZ;W#CT+R_M%AP+_P(4C9:L2;>.YHVB[,[2J6-U;[^XVWG LX>6.UYT_F&@KOR/11Y]UK0EM2BS\VI."F#WD(5-\-VW9G M4)6S"XX.4^V\@_ M#P:;%^^,=C,0-&H=60UH9N K;-,P@!X\X"4XX1'1:1F4;E=W7LV3GZWD!RNI M9YM6;T,^@O#:1_JGF[;]WEIQQG#W'XT)U;$W)U&*?E"^WQ8!*6&P:\#9O=1Y MP&]RDB[*D]K2D%0#XAL@>^@<_=V8J%="BS^Z;]NSP%TEAOU11K!WNX;6>+.I M!]LPG/C@."80"V1I!D:H+WM3*$702Q\9T$CM0TV&-JX*GPQ;?UQ2*'F^$P5W MW1 "470T[6]J_J[GHU# 9PL6.Q"H/5GR(?UU?Q'[<'=$@+DU?;?#4C?@UPSO [ )IDODFU@)WTX1G!B6K#K>4O%;[& M1\3+:/9'/PM)80A*%C+2_%UF,Y_F5]%IK RVQ]#0NC)=6U\%'7O?!42L?#5R M41_@P#<3O.T)=$94L-@1#W^#VIIMZ"7!F1-<$;B[#/T=PM@2*]$REZ M _POL 'PG>2 "1I"M$S?D(;2]#K=L%40MK4 ;&2\/6!'!J V^ OR+D(6^C"E M7SX0 \A37W4;*8OT1JMR0R:K*C<&4D<;+$:_&*/YC"#T^9F6?^1HN--#1XY% MWV@K#;?1A6UPP8\MK Y&6.U(OT#7T\**4E8Y,SM8KXP6*W[[ 6WA_2 *5/N M!,;\\PHTAZG7F&[Z@6Y*8[HIIIMBNNFCTDUW!)BF7[A-!/@P ?4H/_,0 57Q MO]D-"U2/Z_6X+C]@^&XX'.6Z L4(W6@DVJ.$*!>FE.&W0-R4[8VEL9R M0!VL^M2J/G:GPII6]05J2=,?FTKK>EGIQ16;FL:F^>9PF*#ZG(B:[HVI;=9I MUW"[EMQLL[5LBHZ)[52ER^Z/J2-V2K/$S(C+H- PJEFG)31@3\-=ZF/+0752 M PF[Z&JN$E]6H].45(Y5NMQ^2S!)>90;;D4U5U/B57W4B^FB"%ONO;U U^J% M5%P'4K.7C \72FYN1T:PY=Z,MMMRV,U7F*D$3,XN%8&5+:P]V')O1IW84.S, MZ 0EKE$;3L17C6):AJ6 ]+)83BFB)(]AR;U!,OS.,T.G& M2");U42.6;;-[+_^DF#C5;;&I^3 M71$LU]VY2G'-2E#4_7W+:2,_6EJ=?%=V\T(CK/%UJ1M!Y=_W7^_U"Y%AI&PF MI;@&%+*9B32NHKI5>P_5\N$"E:TT1AI#+[.T/C/K+"O"EOL/;7 4-6#RIB6E M(DJ:;3>8;'XLHF(+>T\MV1$;;M)I4N-K4%)'[?6L,?%0T_W'IO,TN4PV1Y(T MST5++;DJRJ[A9^C>>^RJNF13D>@P*S&QC,[(U5'<1#U@]IO6R_VB0 Y'59F, MKC4N%FX76A"Z:7:_J51JQ\Q6T^IJS7R^G[?[R^E$]Y,)[2_6I%$;+*NUJ#2M MI"1YI,P&T[J?(V1/5=.:+$>G3KJ@\?/BLD-R3+QO^QW8T]5(=Q8N#(1*E9H. MUN4%:PW*3M9ONB?7U6F[&2/GI1G%=&*ILA(OU-+H*CM[0%NS,DW*PX&]D/A6 M8\Y'FV!M)OUQ[2]"K!;IM8K+55];Y:-S2U:T$0!^%_;U59S0N;3LL4D90MRJ M2U?TO,+XU^GWIE:,JID%7^8T&;3L=I6,=CO>VK^&NS>RP=PQ5$X>=Z34K-!K M=2>957'H/W6_MX7!.E<9CYH964-LQ[R:QM1[I:J9!<#6-T/^,4_:;[/6A/EMF4;J<9"H#4L"24 MPNX:"<(!T/*F;&XHE5=YJ3;-Y,461H>13R:DPH9)& ' M0$9C/(E+%LV8UHQV#-DQ*!8L/=1T_[%"G:-ELYA.4]/I*#&:MH5*NP ?>P!F M$I7$K,-TQ(@TSTQC!9[U1AX--_@#V '41JRMMMFQW)2C^;(WS*UC*MS@#^ ! M6YORC6PQ;6OS/KDT,NZ@P#@5U'2OKY%&9E+W%J!'@4A#8;(%NQ)9^4WWS9;& MO%]J9$RTS)R]5%4@-(%F^[)=RS- M]\I%3G3-:Y=TV1;@8P_ LLN/ZTYF+B0TQ>SDQTRY*+6@FC7EA1T?U=;4 MO$;67+LLC_B*AYKN/]8IC8NU13EE81<.X$PCFZE):GHRD!2I M;&;#AB!WJR/4=/^Q$6.6C:]:M8S,+!:2U%PTM,$0/O8 SN1JN44N+%-5:45F M8NS2R^?;+&QZ #OPH?@?V-!=B43;.+DMIC>2+ZW(X)JM:QD--]^1;RV1G[;:ZG%)@F2\/D^D4 MK=C^4_RMD.*BS'98+12L\4T6V&C1X[\I@?,-'[AS9O4U('6A$[)$[::A_J M8J5[/:!+Q:Z84T6V6Z5XV2A,)B)JNJ>YLYBB+^$B>]^R.HDS;>9/R MG[K?@W&YJ/>6LR8IK:A!K0K=XTF8AFT/H->JX['&+"HF*45*YKA9;9$J\'[3 M_<&%@(*- E]^$"XEE5)5L9S.Q,4\D2DF M2]6"6,^4BB>^!'N$PKC7_:-\QLWJ$1DC.*J \G 3MUU?S]:^>+9C!^/H4DI% M&(:3J[[LQI<@66#6E73:N];ASE9'MN<[@9*@>/-FW@_?1BH6SIHQ1=$)]$\Z *J?:F\E_(8B+YMPY(+%P1CWTCV$& M1^.;N29LN*PV,7!?N5C!I3__"LJOW0!X1U'ZXC(0 *6Z\0D /FG@C:C@GY&C MZPC;CO841)=S9_[D]LVISZ5#A^$!,>&5AX1.\M'A[K:5HRP1W2B^9?5N'N=S M@#\L&6(5^-<@4)*@@8H.A8/S7MU$YU)PZ0=;[C B:J"3_AY Y*$@;<\FU9 3 M$!(0\P"I47#,#A\2",SF'B]B(AR=F0_\!_\H9F:I-D '!:_'[@3BGP2,,T3\ M@*\ Z%Q\TP%URY-X[98ZG?D:V? MG;TSMMK\<=_V*;;F]0AIRI;$E^ALNY)ON-I\="YK9O8EPAQ+R;=SBKCS?$0X'4)1VT[)]G=_?_T>'.2CG?^G!^@; MMH3_XFU3Q$7270><^>#\\V6GO[[L[V@0?Y@;,8K7X2;6 >O#+:R#\,(=K0N' M%P(#TY.M P:F6U@'X87%P'0+"T&_"!B9;F,A:+P0M[ 0@D]:Q@MQ]87 T'0S M"X&AZ286 D/3C2P$AJ:;60@,33>Q$,(+?;3"'EZ(7UN(KU+E0Y["A@7$XZ3C$%?5-''_KI-7]O.J)^24$L)%A(C@H) M=]XB@Y$OR,@QOMP.X>CM N=9+;PG%(&CKL?514 V4-[]/F)W8!$X99W-IY^# MGWG=S[I%/I)VG (@V?.6&/]3@-SEO[U'R%^LIGXAQ^+6Q?^\TA_9FX%C:QOD MIMO_=V\G/)7#\+X<,3U;$KYL7:(:\9_;BHBH?C(;(7KUR;A1,4$NPQV+R?]3 MIK-_=FXNG-2HQ!+SF8=QQQ(3WZ0?!EA4L*@+"UGEQ9DF=^QM-1- M1]&QR7[K)OMU'%8Z_+MZP7$O+']UE_7H/>*_U$UA590]WE:,@?WWZSWB/]"# MM\2:W_^GWP=@.#SG+.S7@CFF[$D57=TEZOZUSH+I7^>4]J]SGM1_N>AT?%E- MA%\X/OUS4OBS3T)P5>399P'K ]:'W1L*SSX+&Z_BZ6>!QK.P.0=[]EG &H$U M FL$U@BL$9_3@!]D%FXNR'8@)1NU2;<3'/"_2ROT2"&SR_H^EPP&_>_)?/GT=F51/9==9NO9M?[Y=+6X:!$./L^T9)M.=WX;IFPC .FME_4>EOS MNK3-VK5-D+>I:+W]^VL2J)AKJP:P[6V[M]+8 6U@\[WH2(I0^BQC:V17:"V- M8G9-I=X7&&=_H1)V-5#8I&5.MTK<5)UQW+7AL@-+6FXRG:$ZQ/!_@[JR?,WP MQWY[S2&V3?V_SN+H0S@[7S?A:)H=,*Q.MI(R$.;HRW4 MJ3@K3\+Y5K?O9!!R\*A468CBF?,@QZTP2"_L)-PA=IR7 /V+V$%BX/+D8_MN$5YMN.EA52 M2=F=*U3"64\FY95X97,GDA\..5J>Q>244L@NE'1L/0[[%>:X;S]H.AJB(I$C M!L_]<4X^1HH28&;!"0X2*J,;Q+UXU-T?(I^QZR2FP;$^P]6[8*' M: S$'>@X@+6>8V?3G>EZ2)4Z1L88FRN^G$-U-]EO/]B0<+=SV[0N)C\FL11^XY MSO'L\H*U!FL-UAJL-?="R;II$_C$,711WQC)+C;\A:>2A)N)Z_EA;WGFQ'^V]M17_,WP6UJLUEN]L81 -): M+F8&E-KE)#K3FZULT;O:WL@VARMAIF4',C]HCZ:M:)E3Z0K<&Z/??C AAN(Q M6Q.#Q$. !-XAL?!?.E)V,\)_WV&Q/]WD*KRCU9OTF)=S43GKM$W+K$T]N,FA M0!G:Y1Z;HK]851S5ZC6**@DI8>U(1F,8\;H""M[Q%(LI?QB],.7OX=#K MXI2_RX*:I,[C:R\:3TO 2T>:;F=N<7\B6K-RG:]*(%>GQRES8?9&(@Q% MCPU%-QTY?G9YP5J#F9B7"#E?TA](+X;+PJIBI&6U4'I M1^)Q?@PW$W_U@ &&JG,:P^+9#IJ>D7F%Z9SW'S^&D+DYR(L%ZG\ %AFUD3?Z MD^A$KO7:A0BW#@O:D-1U$_P8!/(Z"JPF<9L2*84JWI MU(V6K4WZ#00&400&3'2? 7NZ".A3J09&@VM;&K<5R'PJ27A*X<<4V!/'([]B MW"9G0TTF5W%;7BW:?='UVH551X3[F4]V#1]C3-T_U;4(G"VC-:"Y8CH8IH-A M,NN]QQ+.%XR$@/%VU', 3>6=C.*4DQAP M,/_T\0#GXL'+G^$0:*Y7"9FI5+35;#0MZ:JM>[>9NUQ8;G@T?T,_# +$^,'@^.'C<= M''UV><%:@UF>YX^J_LSJUAH]66Q,PD5ME6A)-MFAJF#D>_\HF'K<_;\S8N8V M28!BV\"QB7]M=[8O^#QLJD/7B!P#)!908ZC__..8,[^/'T8'/X:/_8N&E@1\ M%N9F86X6)G=^$^UN:7C= *I!914>(FE!=COKDK/HB+Q)_CZ$BCY>',#.5:5@ M%6+5M2C%J4I,'_5<+9?VNC3M1TY9-D2S9THNAE'BT4?\X S.:Z'$SZ.>A8+& M4,*TMJ+F:!.EF+5_/^KY*7A$BKE)-3/D-:FY,DIIV9ORX_D(@0TW+^ :@?J M+>GJ5#7\AAM-'Y/)]K("+0 J'O&65G6]5-:]$VCZIZ<2V8%BV.MT8ZXQJ];* M5(JM95:M()6G&7^3I]G]BZ^8>XV5'M-/#^A_;%+.2,/EH$F1E;YE JNHYZ>_ MSXOZ=*/NULC9E,V:CC9-Y\=K5N_S ]/?J(.0:#@$U_&A.*;HD;UWC_2"Z&?/ MU ?PCTD531)1'UL $ 7X][%-2,8 #(BLJZ\(.D3 !6+^_6\/<\,P-^R^R:BW M-PM8'[ ^7(\K>7NS@-D#F#UP3<[-[-#2>*PSY>)NC''+4I5E$D!+"(3YRICM=&"+N B(> MFN)T&Q#Q<\+3:NP.LL.UIFE\9+",=944HZVNC1Q+SQ6X93AA42F]02?BPQ3) M%$6$'.@R:"04C1P[@<'GIC=T;GHN[+@I@A.)A0\+'Q8^+'P7$+Z')GT+\>?! M*#@8?ZX0QOHU6.(Z%5HM,=Y4:Y(+><8L]<6"]1 L\3_+2(O/N/$9]UVR/JX6 MI'CVQ<8BCT7^R18;B_S3Y\HZ?S3PUTR^)K,08^7,0** &3.ST^C0)"LB,OE0 MU"\<"C/'?<2WQAW# M1_"W>01_>T.^-?+(K6V'GR=J&M2Z,8W,QF*42G*=1G^:RE:6?U*D^\\VMO9 MZ$Z*4X:D^$:AD./T&$7.*FAC\U/.4TP4,Q0Q2#P&2.#M#4LNIJ==.B#UISN4 ML2SWP*+:SU.U5BUAJDMW6;)%M$/YQ+00=2#[V"/1TK8)WV>6.52=3;E,H@?@ M H!M#4U'66Z#6I@H@HDBCTQ4^^>\M:0>-/JUK9VQ)0FKA@M[N^DV'%O,AY/7 MXL7 EI:.I9@67%G%6OD#AI"-YLPR=1U^=8OJQY#;;&5*H)'*DK+;S$4K6B+A MQ0K0M^!1T(P/L=Q^60Y_(H\54VT&5L M+CBM1B*JJ5%RW2]62B6%\4UY%%SF0M'H_OGGWW\:7;XB ?)CM)CXJP<,,%2= MDP5>G@H)GI&R=%T>Y$VZ&7<1_H68N3E\BP4J?Q07!;W6CRF9J$2VI&237"X\ M.UWITA&?[Q@2HOLA#HP@&$'ND?3XD&!RI0CL(8S9J]7NN,.1T:-&5(H9M3J= M*&][FHB@A?_V(\(RF&^&63OWR3>[2=ODPB'07[(RFO..FB[.G3(%*K7Q6@,V M4YJ.$!1$H?-%AW%508P%=XH%F'N*)?<^N:JRO^1A1P3/GC!VGW3S(M F?+)0T(IIB'A7E8F$9ZCZ[_^>*($"3>CFF. MP>EH3;D=;9:29=5TQAW #9V)6>G20I#?,,QCXB<&'$S\?#SLN7C8\2,D?42B MAC1/@H38C\HY3XV:5K*4HSHCA$2H D]IP*>?&27O=5:1>&W@(._RK\?S9KJ]@\,#@<;/@@RECQ?-L42)0*PL/PM+T@'R1Y(!WF_=,CMS7K%MH%C$__:[FQ? M\'G85(=N#3D&2"R@QE#_^<!PX2H>Z!4GCDR M(=K=TO"J8=!$0A6$C%VEY'G;JPZ+2;O?X'[?@1!]N#B GATN-IRT=8:A4K:8 M"RN%=#]>KW3I* I[L@P;HLY5[Q.#Q*./^,%9DU<"B9_'*PL1D_6JW,*C:LL9 M78MYK*PTQ--CQZ3'55PZ4L[+JK!DW75Y)!:,$<(.=*><#3'1,Y9?>2I->DI* MR6V1H:X.'I\'&RVME6/49(&1F' BRHX'GBNJ9]#W<:8^O=?@ M.%'U;05$?11"/(=+@V-]OU-]/T? Y->5W+__:0?:+>GJ5#7\AAM%[Y2D) !4 MS9!RF5(CXS+T;!8_@5/P:6R%CNM*0UY(31EX^2HGTZLAA;+&1+LTXV_Q](%$ MAICPC'7^/FBCE]WC*]Q,',NT.:-6[7"EG5'%AI+\?1K!I]NTEO>HO%FM-R5F M/>AUPWII:*4#I>6@3R_0(>%HL=;[8X:B1_;>/=(+ I\]4Q_ /R95-$E$35T2 M!?C7L4U(Q@ ,B*QK (*E0@1<'S@CO9,%-I[]0 03NJ[$(+V]6<#Z@/7A>@3' MVYL%S!O O(%K4F5N;Q:P1F"-P!J!-0)KQ*UPR\XV"W=&MD(I_5!\A+# ACN MR>J4W./2W2SO82\4]+^8W_1E)B?-=%GZE@_'4KY?S4:O(=*0< MV57M<5JPN?3OGV)6 Y7=9N9$$]=4G7''" TM:]G47K2@*H\+_#>K*\D L M51D.-5X2QR-)+;'Y<;XU7XQILB[XN"F.$T[XA(4/"Q\6ODL(WT,S/WYJ.#&=13-72&<97*<4*8F',#:_P ?AN/#\+LFA]PX)MY_S&D7/D1C(.Z MQP&XM?FV:*\CN:7FKNKU=GK 40,'>H<,BBU%0@)UII*,&((P!#UYPK%K0]#% MXUF_ADRIE-!"8_1Q"^,P;GWG?.0L$IQ#" M(H]%'HL\%OG+B?S-9P_4;;4_R#"XJ;E2 M- USV^TB.%I[)365"WV3VI:_MG>MI +/4J= M>3.Y1O:=:B67 =..B/:V*$JGRY\K'R3&B<E8 MBFG!=5:LE3]@".!HVBQ3U^%7MQA_J':QQKCD6(G+%!E?VLJLMI2F:Z_+A/WX M68B-A#'U#4,8IKX]((1=G/IV661+B+1AQJK](45F&MI0)>W$J#%"R(:H*!P^!HT813"*W T9\E%1Y$KQ MV*^ "]6L &J8R2:U><;1^[DI:)02%00NJ+YH*!S%3#3,Y[E3)AH.B7X* Y^& M,ZONS(Q/Q.906\7#;H5QEOG^PL>#*,*#*!O%M0@Q(-PI(&!J*I9<3$V]F>#B M5^Q3/DUQ(RZ1S&BDXJ4<3U [;'.$]B,4&(Q&][>C1Z*@%H&S99H&]%/,T,(, M+4PRO?^(P/GBBA RWHYN#@#J.!JKS8&:,#7%JH1C^F"45W6QR_!!-#%ZKLQC M&'0PZ&!:Z'.%(7^&185B:6BMPPE9FK=G9I\B/I M\ -3+['(8^KE/4='?V8VFUPVG?6*M9X$.N%A6YSELNW<".U[*"9*AUCF]%'1 MJ]_"5VP;.#;QK^W.]H6?ATUUZ-V08X!$ VH-]9]_''/F]_'#Z.#'\+%_T= 4 M@,_"5"E,E<*$RV^BW2T-KQL'-:BLPK/=<$%V.^N2L^B(O$G^?AQ4]/'B 'I* MJ6IA/>#&4VV:6X.5F:S04X2>$?]>/,N&:);'A$J,$IA0>3,H\?/ 9:&@,90P MK:VH>5IS(]Y$*6;MT>G!HQ0O91+4(E^22ZP,.UXHMXVH#QZ(+LD>O.Z)22:8 M9'*7]*CKH\?G,4=^V4]H]2RI2J7,BNWI,[O*TV>P%OAE)Y_*DT-3(RE2DMEZ MIE@M59#"H^O=5"C*G_&,XJFD'RO\0QPU_(:6^_="[4"])5V=JH;?<*/I8S+9 M7E:@!4#%(][2JJZ7RKIW DW_]%B!'4W9:'XBT/_8I)R1ALM!DR(K?R9^@#^,:FB22)JZI(H MP+^.;4(R!F! 9%U]1= A L6Q__UO#].[,+WKOCFEMS<+6!^P/ER/[GA[LX#Y M Y@_<$W*S.W- M8(K!%8([!&8(VX%8[9V6;AS@A7*-4?"H\0%E@ PSU979-[ M7+J;I3[L18+^%W.*KG!*:]*HPG5$Y,)'HMC1H)K=\_ MV:@&^KI-UXEFK:DZX[AKPU4'EK3LZRY:3A1"A?\;U)7EH=,/RE'JY4;>D&IU M)FI.&T75T"I=)NK?#^6B(8X_$\4!8\1=8,1#,YQN R-^SG=:MK*][B2[;%.E M8@+D2 M]W!L>B[LN"E^$T[_A(4/"Q\6ODL(WT-S/HY;3>&:QDY&O4193D5*L:[:LA4] M?FTWA^2JA6$I':&S'H*HGY"2&"/67UW1N3:EEO=%AD-$09P,%/C M!ID:MS=B3 6[Z_C<5O6#-(*;(BM%TS"WW2Z"HU7 %$ILQ&J@7Y5S.:L]3<:2 M&0^YQC2*V)W),<:@\N@COC7N&#Z"O\TC^-L;\JV11VYM._P\3U/9K0!ID* U M"=2Y4A_8<2OR1X7#_FQC:Y3RS(0KQLM:;JT5XGJ1*B5:_L8619ES(Y$SI7[$ M(/'X0[XUD,#;&Y9<3$^[=$#J3W( M<.SZS?W3TK;YWF>6.52=3=E+H@?@ H!M+4Q'66Z#6I@H@HDBCTQ4^^>LU: > M-?JU+9ZQ)0FKA@M[N^DV'%O,AY/7*L3 EI:.I9@67%G%6OD#AI"-YLPR=1U^ M=8OJQY![4HWTTQF^/-% AR1[2W$67KA>EV7\FY-4*$*?*VTDQB^,7YCH]D1$ MM_,BW)Y)&@7KO#QM%J5X62L/4V&E5%=\8$-$N1#/"I@JATD43\8;NDG#[()Q MV*N86':[6"G2H_9 SJ5:?6[2ID?A204A$.#0?3;#R9$L?M)IW!I08P&]X$&F(&* M)?<^&:@/$D_\I:W(8+MK.88G-9[*5(NQ"A;2PT6,0#: M0\-->%TVC"*(D1#-'D53##@8<##[\RZQY^*AQX^0M!=PY">9B1-O=*2FW1OE M.X.I5"Y5$!*A.APA2L!\33:2U$W:/A>+5'[9BF'665%,T+/@^;ZM"M(<< B074 M&.H__SCFS._CA]'!C^%C_Z+AE,!GX5QPF!1U#[3*,T"#<)XG1V$:TF*CY*U1M7DM5I1[+*<3YQD MV! 5.5]YEZ=2F6<$B8=F3EX))'X>KRQ$3-:K<@N/JBUG="WFL;+2^'U+[%/L ML".4G$M%G(P<+[;BJJ&54O.HCQW\MQ\0.ICHL1)\F%*"*25W1(:Z.GA\'FRT MM%:.49,%1F+"B2@['GBNJ)Y!W_NY9#K9C5,)N5EJ2VXJG+ 225_?H]]^<$*( MY\YD*F!]?_PA7UO?SQ$P^74E]R^!VH%V2[HZ50V_X4;1.R4I"0!5,Z1=T>@XJPXX?2%0$! $)1!Q%__5J'VA*N'U79KMYRX=^UN.X7* MK,RG,K.RLO38XE$L7N)1_*.:8J4V__U9/G?9Z.>N\1URR>H"ZBR1:$QTQE6# M'4BE\/3+=!T1MC6K3PVXT7.4%ALM"6+Z''J3>_EN[#]]:6JI__RM M&.OWZ]WMO>9E=SKQ\\$GA\0D +N[A"6P!77QU]+Q##BXGZYJ 1Q_\$+S[\&\OI;A3Q-^$(+&GIJ3\//_QU IM]1G+Q&+*6%#F! M_W-F;%3EH:#V[.QMZG&J^W?'1=W2Y/%<\J_Q+9-3N-_@<,"A@8-;NDW"G'/N/$MEUR54S2U?UP$>J J]?RCBSC &7:-E9@)%% M&5>556,-Q>_=WN%BPHC>#]U/D?L__T(IY*^=S>X,N14LP+?DTZ\3N]T'] XE M'\W):Y>))V/J'_I1C>$JCRSUAV3W0??X(3"' :P2>_1(5' MS\K*JF4]5=E'FSN')YQ&A \6'AEJD'L0*D8\V-?9"17#=G)Z "SQO__[/Z\" MN0?BVTL&BXU-4[-35Y7,K#0#[_\I6:$4>7MF:>86OP>'P]CP>+:A7/^=>?#S M/>H]&,Y"VF0?"&YONEE+G<$MI_AKA\_<_3[4[L,$#O]X\MP[=,/06^KQE!/H M#GH^8L:>*#U^/S]_2QG=A6OZO_I\X:CC]"*V]..% @ ([!8#DWIW!B+MC.2# MM>[A1N*!J^FC5^Y'/'4L!?QQ6&TTBFPK4^[R0OLF4VT5;C-LJYCI"?E>M5AE MNU6N]_>?T^.*\*<>WZ@6V3[XI51M ML:U"E6UD>GWP09-K]7L9B#,H^E?FCWW['57Y[ZG&\X=@2X$"%K+](^]M\SAF M/;6$8PHNQ?Z9.%5FSJ@3/S"& M/0[!1-IWO7Q^,9;@,Q.\]]=+;&CCQ:P9U0OMB5%%G/$04B9X)R-40M;VN(K4 MJP(Y+LBSZ7;>$:GD.-MK2T>,AF.;Y;ZV)6>L)H0=#<0)";=#\$E G>MX51?>PT?!F19GJ!77)!FQ T0)G@W>S4Z\4IC;20ED"L^*$@K3TV7[/SR[890M($5UX'=<2QC2!177PU"-:O6IT&;59GVY,3$6S'C=M!/T //6(6F-; MO)WK$1O2C#H=WU_T!Z6>K$'2!%N./=KVW6;3$@J537FE+ 9X+1\_-<&6) Q' M2D,OL<@*09C<9+I1*A46DB;8:I-TGD$$A.)4M&@LG(X[M*!F,!CA]Q K<>5$NK( J([Q* ME.JJ'E;G34W$CNBK79C2@W"XG9E!/FN5EVX17]< Z1%]51EYQ>.;7H%;]8?R M.D+&_8K5@:1);)G9TY&+JJYIU/(\)TQG+77,0M(DN.C84D%)/H>4V7%[N5FM M\$DC'D!" IL@&V*ZVA*X@H,Q@XWJAUL*//6(P9CY;AEI!/Y:*&]'YJ#A]X<% M#PCKR&JARLWE=AQ8?7.!M%MHN]D82E7 UA'5QA>H9^#531_A5_5I;B$0PT; M0M*$!(BMWEC3TBHT#;K16$\G1)7/A9 T(0%#-OB246,%H8R8;:+J;C9Y(R9- M2"!G%1MC;+DDA5Y#5M"U,M"$$A#6D85 7DF]'EX756[5;'B+"54D&0*0,DG2 MEI[;-DFIV.*R(VRSI7(UU:)CT@1;EB1I=;H>E@5#]/HDVC5+"-F!I FVE$H+ M&^>C$@6"CDV;9@1L2O1"2)IT%SJ3PK(H#&0N*BV]IA."T"S/PNN=H=U! ML/$X1#"])9%4"+-Z"=(U/6SGAM:"-E>.8F*S9B!PPY@TP5;!WM0)<\H'IKKA MJ/EJL>&8W99>@JUPGNO1=;G":(4&-&+;M,?:\FI.TYWF&C5DZ4E&(/O M!NK'3^0M0B:2++^3N7I#>G M^B"#_>/59.8,Z/U!)(??LS"/^W.72@J!$%Y,X3S( M5=^12E//L0+_:1+_\_:UT#?L:SU,Q+UJCVNW?W"+I%+_=*FCM]BSI0.IU#]$ MZL3MLYNWJ=0_1M>I5-=3A+D.J1,OU(>D8D\AYOM(/868LT!,ZK&?4NQO/4[[ M4ISZN56/B:W@DY9!OBI$//'YX9=V^7>%1,E_[[>]]ZS)C@7Y_;\?N1^_6>U) M,+L.5[LDRE[ST>4F$Q=$9PZU+)]7#IJHCWA)6'W=5=7, OQ!]S*JK:A*IA;8 M:@9';C(P^_98:*DI?'=3P%XRA1V D[#& M89]@O+N4SP7+X -8CC>-KHOEG7]R72Q?I6*GFGT%+%^C9E_X4OT6GE_OBOTR MC?GA04;"%8.46>!79A<2\$H-R?).V^EG[O^=8M0O%-I\ M$CVHJ2^SZ)."/ZUGONQ_M HZAX>N%P ,"4]V\Y!D>/VN[A@S$\:B/"N25 MM97FP5X.7W]G5\9\*>3Q@C=P$'[8*RZH_E9!-K_?PF%?=EMRG<4Q_KB-; 5P MIF&K!_!_2E_:'.GWH&OD0LQ6)5S(UI70&M2L*C^%9]1PV/Z6(>B/:< MU.T5UAV>I*AV*,:]'5'JAB ^J+=C"BM?!58^(?-\7;""N>VV7)I44+,WF8^0 M>6TQ>H,$.K2(E4A$(^&'(K=^Y%#"O&/1\Q\@9GGNOY>+)HZ\RY<*A$ MV:D$A'2RP.N;Q-/OA+VKE\(9\N'?"%AC%PL.) ]M\T1!GA#:+:*H**&Y*!#9 MD5MJ1O:8,;PI5 MKP@D4ZPZ.U:]'%$.Y_W5U*HW\D+D<"./XI9;6C^W)[DJ:#-].:(67+#NCA2% M$7C8>8?:76N:0S_H6M,4P5($.^-.UK4@&-$41-5=567$6,S+(9HK.+AZ;J]) MF2[#TM8N+KF>K;:]Z0"?ZBL-2 #>AHK?T,]BSI?<*BS![K^9)9@U-=TC? =4 MGJ^,]@)%L@M2+Z:R^"MCZ($\ME/X!_5$42N[=F>*WF]J@M%EVQVG72KJTN]? M G,:_)UUIV-2ZQMEH2RHF"\98F#D0I&&42O!W*#4!_I\UV6B*6K]*EY-8>OB M8.OE +8HZZT KT^;'*9M.*+54"MR]MQ;HN.@0.&;6]"=XGK@L@#- M0 ";0] 4RE(H^]C -86RSX RK]G%9[XJ%KB>619YW9"7/'KN2':"=RE\'&XM MCJK.F)8VS/O]$FP:SL2>%$,E+SG_?MNPNQ.")[KR/'/*.\_3/=UGTXR/D0L' MR*4X 6RL>8[CN:>KR;U 3B\=I-\:ULYJFT(IJF MH2#[Q'*:Y36^>6Y'T*DX M6+AH\#DAH!TCG'&K@E&%-R. L);)W2 HF6YEI!CS<1NNYV;U6X#,RT$H5D'H M95-KS#F#\0=:P:QYX]JY=U$'I7"Y(K/*"JD7AFZUV9FT#OL(&Z.6!Q-7NF5X7RQ]]*/,"6;[67/1UL?SA MYP4OD.=4LZ^!Y0\_LG8!72LN*%O_? .QW658:?NPM!=-VCXL;;*4*G;:/NPJ M6+Y&S;[PI?K;MP\K.(N%ZLH&[*ZTB8/]CZ MNS>'=Y;C#PM$(Z^) M* J+$^@;@OC @^(I*GP)5$AAX?2P\'(U04\KV7Z3:K)(;TVOY;*\&&MG/Y.= M$QT6G=NE$3)$2I07J,0"CT*(%K#-UPU.4RE:7#=:7'&7KS>A17&QQDM$-^H( MU(JU\>PXDG+BN??_>TJ-9.3R(&<.NYU2LQZQIH9UH'DSL#=H#GW.O+]+U7@9 MWLYH0\1."[W3?A)I\ZZSX.6]$7KOC+IPK&W!=+DI9\J(:]-HU5(CL7&DXMF66XLX-*P9CN\XF<.="-E@'#$=W!Z'$ M0E@!42:%W*#D<\[/E]Q2$WQH*(;JG>XT,G;JT\C7A2MIUXBT;=>)8+<=3"U# MWIEX],YH5:U2_+)?%>=(D!\(DYE56J_/WDQZS2ZM\[G4>#;NC+(TMD#XX6#3"G@6;==B;&%B5PA%/J5%=-I8*]UO31M/ MI(VUKKRQ5J-IM'LCFHNXH.%(?EW@%\$@%%$B[:R5@LS)BV OD-5O@3)?M+-6 MI;"JVG76$;A%Q:!4(1R%F,!"\$E;:Z7@T%2W ]$B[:V5]M;Z0@<'+I#EM+?65;!\E8J=:O85L'R-FOU55^;OUUNK MK#H:F!H]RL2MM4Z4UO\#?WM6_VND\!,B3!N_I+VZTHY&J6*GO;I2S;XJEJ^L M5]<"/,)2SW>*H.@ 2C"@5\S3HZ%>;1KLW!GR-V\&/)JV8P7YEYSESWQ^/=G= M_N(AAH&RC/<698!'OAN!E_UVR<.D8KJX-LJ;2'U"SC<%, >A=>Z2ASPO.(MY MMLR8_*:E=>;%A1YN0A&EWU?R\%CQKC4'S]>I(#QV8#QBDY>%N=5W5&8 M%[#!T@\L,8_YQ7-7+PAASFV6-:/.E4O& %^/.:$?QCCRKNJ%%$>^!8XDR]A3 M''D[CFQ8C..('LX@@8,P6&1JZR![;L-G.*><V4#ES*WG[#E_>&.U-N*(O[S+Y1"_DK^F[A]3'8LR.___L8FLP ?ZUY&M155R=0"6\W@R$T&!DR/198:PGN(]QOCY^7]#S-\.>? M!M!90X95P(:=\74G\ P>O_]^T_C6U=2']+RZ3W%:2%=6ON<5HBFBIW6/E\' MR]>HV1>^5'_[>XHA91;XE=F%!+Q20[*\M&7 16XCI?<5_WX)$KP2*BY"PHYW M6#I6"927/,/C9VW7D&$Y$*Q*.I!#;EE;:1XLYO#U=[8M%PJK\6@Z',RX7M$N MXUF_41G,S]URI=2H3YR9W7>$J%KU.MT"BTGKCHC%;+I[FNUE&LZC5A M6D5U;>\5\73YW#66D;BVN/7V&34;;#84T)]_4V9=/5>(FQSV@4[9U=MIBE;7?:?RQ<'5RZ%EFYZWFN+(1Y%Z MNQE1B_%HN^J=.[1T%'T:=!B=%Z@6692':-W3NAI$,7AYU0V!$RF(I2"67KG\ M94&L4^EE%X(1<(BA*H&YS+DMOGYVWVDKK7,\MAV8O@97H!8'J%\L>F!6-+A7]03Q2^!DQ' M)!O-G"($J"])FT;>=OOG=OQZ'#ZMTGV?0R*;LJCIJ,Z7^\#Q(V'X2C,W.33= M4TB!*[UD^?J0Z^5(UBP2=*M RRO.\'V*ZRS6;9<[]\Z(/B!E2B"-C;GPNL)T M:M.U!14#&HADT1N&8%(\2_$LO8GY.^#93#2ZCI_%1LAJ6"4K-EDH2\&Y 4@F M1,TUZ,$ P;:XPQ>9'&+2(00@$-3FT!N:>J[^Z[MLS:9W-5\X5%W338;I+:J_ MA]-OC7#+FY%9G\R%"1?H4ZEC:I6P89X[R=C*Z@15$*H+SJAN&*ZP*AC-(2MB M5%R/"P 91Y!T)'#$-OJ& M3ESM1NIUL9Q>V7P5+%^E8J>:?04L7Z-F?]65^1LV&K,,$)2G;<;2GC5IF[&T M&5.JV&F;L>M@^1HU^\*7ZF_?9JS@+!:J*QNP"W.:WKK 6"EM+W;ZA#R\X[ I MS1WWD#-_L %X;Q#OK,//#ILA2>H-7N!'PSHY0ALT29Z[#E^MUWI4$RUEN6!& M4;-V,1#'\!@Y$U*IGA8$_GG-#R]DRDW%D MH[US;Q.V)VM%:>NS)1<008BW1A77)3H0,.!-RC? 6\N.I>8&_" M"RHL+AQEPA>Y.J8.-S.[E2V6SUTWY%CTW"VH=07A:T9]-*D%#+9FH8$SNSZB MS',>P7>I(R\[8-@V!.VT]#OM-Y&V^#H39-Z;H??.Z*OL; C#I= :IS:D8:&7 M;[:0P;FQ=NE@7;'=:'"<-"F-0J'-4(JA0 M<;BY4,][U9%&"=0X;W)TLSNJ,N?&J>FL1OC+5=!%5+?@B%.$E0=FC%.P S1] M0R-DBE,I3J5]NBX8IT99=\12*,4@JJ)ES='*-;)G/Z32(-9DO] M.J)KM3D+.83!)D+*VPI[[BW##4?I3O M3J>5D*-#*"BX98@@-^2SF)WN :3(E/;N^IK0]'+XJK>GSE;3%B7.<,8S8;MH M+L;3<^]9BK3>6VMD4S E4T2)[:@8H)T8L6!O+OP#8]?K,LT4K=+.7!^,5KEB M(<+(:"H8ZY8X+(642&O6JAM)H.\"7-0H:9G4-$D<^E M\;_+EFG:>NO"L>B:>E*D'7&NN/76HM\<-/-2J8Y(4F 4\F3+FC*:B&-IZZT4 M9TY?''N!K'X3H/FBK;>0J<2%'#M2S'I0+Z],IY;+MEF(/VGKK11^3@D_:>NM M[]!ZBU9JH]4@ZBXX2:\+Y%HM%?&=OY*VWDI;;WVA(P47R'+:>NLJ6+Y*Q4XU M^PI8OD;-_JHK\_=KO556'0U,C1YEXLY;)\KN_X&_/;G_-3+Y"1&F?6'25EYI MPZ-4L=-67JEF7Q7+5];*:P$>8:GG.U50= E&- KYNG14*\V#7;N'/F;MP,> M3=NQ OU+SO-GSE%9=K?'>(ABH#3C_449()+O1N!UOUWYX YELF5VV*Y)X>Z< ML .+Y;/GWGFL;BD$:^79LFE(6)#O;TQDC80B3KZS\N&Q[EUK&N;*O!&:,."A"E7VV7SGW,AU3JK=$(,2.AWLLZ:E<1%M4: M"Z'D744,*9)\"R1)5K6G2/([2)+?S)FVG2\73:->;&PIRV:KXKD+VI%.B]Q, M?+O K00J\/%VCYY7-&CZKZ]'^-.7@"J=Z/[_> M(@-9J^Y!T!B1$#,\Y;D\R.7!O__[/P_9N4\ 9&7''4C#4H8QT"2C+QS'6OT&BI5LO$QGY#6M,^XL,NM6+N M*24[FH!IDK.(L"JRJU8CMXHF*Q Q)]_>[C0Z?,B;',)K6%VB^L4!BFHB(2)/ M*3'&*&M1E1D+1BTO*\5-PS=Z'9%,4G8UE<=:V9%AKNB ]UL;8^@7-$"9>/NZ M9NO=NE<,S?IZ6PN4L:,."BR@3/!>:R_U+2&[ ;)"1N8:[2Y8@H)O3_!NRP)? MLOB:+ZC$&LSM>BLQ?@>X,8EQ4L4M9WL]7!6&[-A6^O.%N:IJ(IVD[+E"434L MQT1X8]-NDOW>2#=",9>DU'33=/Q.X @K1&Z"V1EQA-S6Q;%:*X/">)>@?ZJ8FQ2B-LQ#?;3$-8581*M3LO MMU<-0(HG2:?,@JHU1[,2PC=P1_(;ZIH9 -(CNC]L.MRD9+0<+LM[(X/;.K- MTB!I0@+SF;((LS3;X"@CMUS(JU%!JL1/34A@;I=M@69[!:1 .%34')968S%^ M:D("@NU:PFJ$3,PR6)%J@L_6@S)XZA&M=DI6SL.S$\XG/A MU2347.4&1:)G\J5P" #UB!*.ALJP/Y*+)!?@T^:F1BC=3123)L9*X(5I71]V M2\AJ:#O84-?%,J=!TL18&R.;JHPT9B!D1R%6&#?707\&Z&ACBDBMO MQY5V9V#GW2D+29.S5=PZ6B=:ZT(VG.$=O2KBHV4(21,2Z+?J@=>PF(J)#:?" MUFNNID,C)DU(@%EL> KO4*396WN^#3 QWX-KVI$EH# @IM/ZK$R;"ZK?#I 9 MRO>4^-[E!"E17+;L;2LOF1(Q'@ALP=JT=2"!(_I*-VQ;F&1+,B?5Q!D @C": MNAHD34B@A&:Q42\84DAOOLW5*29L#[,L)$U(H%<9N[K:J0V$GMF=TO**R:&[ M 20D4.TW!HM:F!\B03#.CFG")89ZW$8Z,=;VJ!..QKFPA!A-M](N%CMLL]F! ML72"%&4G%;Z>HU=(T"(;)HEQ[J 8QF%WP@70+-7L3)9@ +I'-AQYOD;5N&=A MT@Q]K;@"NDT+$8\14ZE3Z(S[\0 2;#F$5L[I0D*J_@1I*\A*_LP&KU M)W: M$;"PEO)ZV!-+1:Y$)(F)+ %4;_MKZTAE^TA&VG8,6LD6&8!:4("K?RJ M5RKT*[@P;&]:8U=MMHFN!DD3$I";M0#S%Y0O]/I#E^>X4M#8Q,F!)+Y66=7N MT)VZH!;K_7&A;'@K8%OX$=4NZXM!UIKB*&?4B$G#]NJT->M T@1;S5*I4%FO ME[II] <#W"BVE7ZH0=($6XO\<(2BH\%(6(D;R^;\=1]MQJ0'MIZ$^;LO3D4* MYP91KJ^P2% CQBW.QRDZ'XJ0%-NE@F+GG?5?HL9__/(=K1HUZS=TO<1E;:4] MTGJY31\X ) 4!=^*X_^[*'J7:@,1M"4M/?7GX8>'D10,.OW2"(N]=W#6P_U?+O Z]4UC33V7$[W033RX/FP7>',Q:F M3G_N$@(A$,*+@?@^ZQ*_^$ J33W'"GSU@P/P7V>7T3=DEQ^F4]Y4&/EL-7@J M]8^0.GJ+,JG4/UWJ+QU]2,7^,/1^G?KMS8R^%B)]\LO __T(IY*_DO_>;EWO69,>"_/[?C]R/ MWZRY(IAS=R9]4JZ4V.5^25A]W575S +\0?SPF[S%+ZI5]IO5?E=PGY##JSW),[-^&2J GUT.[U.!N_KIG4@D M6SE5RSL?__^TWBW&E]R/Y)#57NF'RW5WT'MG>)>\+'D3S#>W;;5 M!:?1TL7Z5F?QN63]*D]X.#C.25+H R"_S*[$(" M7JDA6=YI&N]>7^/*Y^N$+K:_^ >W&'WI%"]V2WQ*MW "GC;:'^*EQ?V!WL,A M_V,':?.29WC\K.T:,CQ-"P_U'L@ALZRM- \6<_CZ.Z\"[9O9P":Q!B&4J^WL MS)B('K\Y=[L1:3X?B>9((K@RUIZPVU%%ZS/P4!+^XQ_ZALS1'W3-P;-% M\2 M/Y[?H4_Q(\6/WVL]HOD#-2_;QE((IL2 L?&U:P[.W7I$$#>UR6C5X[GAU)DL MS"'O2 0\P1A?UWF#$Q]U?4J**U\%5U)8.2VLN(. *6W&38'+KOM85N@5RN/\ MN=V+E873?GG!AXC1G;9CH9M2) ;!GO.OSA9P'7F=#C4H>Q4 D(Z M6>SU34+J=X9C5R^%6N>)XCRY2A2M4L6L"&JM,9'$IM0K MGOU"N[G5](M":8PB0[W:I[THW!*Z!OM=_?B'P&Y(@O@XA^SJS?2J$K\I6%T\ M6+T<5"*!N\#:2*MLUK&%PN"3:2.Y5K%J5XB"/+17^03U1X(HSAH?T:3?+U1LMKQDYDJ!NSGVS\J:W MU$,"$VUS18^X%EUT<,J!?0M!X(H3('#]0*_ONHQTY^*EN)7BUE? K9=CV&R8 M%_FI238%K#R3R5&[:^6Y/M<",E+Y683OE0.B$0*8@ALW1'YB$ MNR[#3;'L%[%K"F6? F6-$E+:\LA4$]1*?^Z[:CZJ MN.X"6;UXF'YK9.N5\"Z&B":!J$:=1U?9<:V(GSNWV"?73&[=G@E'DA<[<[I=;'\X0>L+I#G:\U'7Q?+J69?!\M7J=E?D^5OV$S, M,D! GK822UN)I0V7TH9+:<.E5+.OA.6KU.QOP_)72(DE'+&"LUBHKFS 3LMI M>NL"TUMI"Z#3Y^,]UQ>;TMQQ#RGS!YM_]P;QSL)[8UW [%75\LU"S:$+@XUE MVM*Y=PC)0;==6:P*CE"WJM/^FEFUB5Y\NSW^XQ_JAD;0M%CU:Z104ESX2KCP MW,2I="140E)*IS'FX7FMJ\&$*X@!4% M-P1-I7!QY7"1HL7KT,*837I&@QP+F#N4;*&"E6O^N8L5URS1KU=F-H&4>X+H M\O71I-/H0/-F?OR3NT'I:VCD589W-=H0L=-R[[215]H;YTR(>6^&WCL#+W2\ MG%;L!5Y$#$DGYZ6N8DG-7LZHKQ"B74$PD?&*M?%R/"9!X(7!P MC;G+4 M!T9>5V^)5Y593?'H O#H%17D >,^LR[K=\KQ+QW7,7A0Z;-%N*HJXF M1/6BEQU.'3:_[D"8@@$?=8/CN12F4IA*^W%=+$K-:&Y5)K,D*91G+=-:;NU9 MK7'N0!.)Y*XK%B8DMUIJ[L(OS'K520AA9==R"_U^+;<$'QJ* ;Y_LF/)V*F/ M)5\7KJ0MO-)6."<#WG8PM0QY9^31.P-6;C*N#+-CKXGTIHWAFIT'^J9^;D_0 MGG9L%'7#/A?E:]L28S31D0@"5CQN+IV[0=&TKTW:UR8%IF\'3"]'KG9=70^* M1&T@4%QC12L3UU^>':^J0PT=--52B SMZ;C$\,N53<9X!2-7,MVH3,$J;<+U M!;!J,BL;47FQD02,TJJ$RU3ZA?&YL_>$(4\;=@'AD(43=B6#6/.5 0O!A8F= M(>S9S@K?9:Y&D,I;%:<&[#[P6E?#68 M

Q^&SY5L7>I&'9V.;Q'Q>)&5>D2>EU+Z(NNY$._\9OCS3P/H MK"&#O_YAV!E?=P(/ */WW[__-+[U&;1#-4.F'RW5WT'M]-18>FKL6GA.S]9< M \NI9E\'RU>IV=^&Y:_0F"G9PA=09H%?F5U(P"LU),M+FRU=Y'9^>KW[NVJW MT4.]]K'>E,<*J/.29WC\K.T:,JRBAL7JY+WR?CG!-X1:#R*QO:APWKG6Y];PC8G%C792Z(9 /;*Q[ M90CR56]\3Q'DG CR\I$SE;1*@4QS.A*L&L/\,S>+K$NJ)]D3DR?H M+%=VQ^3,U2"P4#_^P:@;G/C ^X]38/D2P)+BRFEQ!>WUQMLE-N$X8]:9JNJ: MTT;4N8& SJ.D5Z^BB%F>C7IK5%C*(<9"((!7J6 W-/'<54W?Y2H5J$39J02D ME-Y^\M&WGUR7%*[YDO=38&OL9L%QY*%UGBC6,_QJ4QOUJ!$7K+5(U!&EP8_. M?8E*D"LRI4Z-&"/E;+>QKDJ!6\R&(D;&[43(&Q+Y0)?LZNWTJK*_*5I=/%J] M'%?J99)1,,ME.-5?ZF2_*F-(=.Z$52E/;*=&ON AD=ZB?_8G&!LJ? /ZHEBU\"JH@T6EU'3J.58+6B+5M\[=R.K9K^.+SIMK&GRPUYI MK=F>CF,=$:-@[$K2-Q29[E.F%[ZGP'5UP/5R&"N:>6E--,H#827.AK-*6#"6 MSKES<6Y5T"HUCR8YH[9=UJ>C[2IR8SR#'3EO<@26PED*9Q\:P*9H]BEH%O8= MTEG[[1&W2X%JTGIW/#3W>*=7+:_;2"JJ ZRVZFB648(X0=$M"1S0S#T M%6S*QL<&,R>[!@M]^S58Z0[O;^WPGKM=\4>5V5T@JQ>/TV\-;U>H5?0<3A"0 M7H^SBXO5#-M:Y\XPZG._9DOU[H*3K)RI=PL=,JH =S"^Z0$%@$Q2Z=YL>L5\ MBC,7CC,O1Z/:>HZOE/5L: [M7'.FY/M-8W7N[!J[;-4&XT5%,/EV;6GBE;9> M+6D0?D TBA,W#/:!X6B*/M>$/A?)Z<6"#]$S\;DV+;:%,LWG16/D25;AW,Z* M,9JOS8(I3\W *(5*6V)I)F(A6L!+)1CBALCA7WP_]/)0XFJW4*^+Y<]I2'M9 M/%]K4OJZ6$XU^SI8ODK-_IHL?\/F8I8!0O*TM5C:6BQMP)0V8$H;,*6:?24L M7Z5F?QN6OT)*+.&(%9S%0G5E W9>3M-;%YC>2AL"G3XA#Z^#;DISQSWDS!]L M_]T;Q'M/CR_K8ZE;Y5;"BM2)[&"[K#7I,L8[(J[U982WP7$'.F7E!W*XT M$4?B$@7BAF9^ZP[Y-(?RC1KZI,#P <#PI M("\[8-@VA.RTZ#MMZY4VRCD39-Z;H??.T&N57907;C;J"T#RW5QC:%A9_=SE MF2-K,EG.6&7E=OB5>56TWQZ +PZ.6( M+R#I;G^YK49FN1FMMD31MD;HN6&*P^9">OM"G.R8"W M'4PM0]X9>?3.@'5!TTQ?;".\8 1+6ZK5;*M@G1NR6RPMUBJ"L>&B<+;$UH-M M)Q T$<=@P,I0-R297OZ1MK=)@>G; =/+D2LB-I4LPFJ(T!/)KK\5PZVQ/'=M M0Z$[W0I5U-MP?+TM-)IE==2?LQ"O8#."E8I6"5]N*Z$*R2.]U2+^R3 MGB U"]69E=]*L]ZYG:&RI(PH9T$7D45WO<#&O+'1PPX$%R9VAF@L=P4[I6FO MK0L'HK37UME9O5@<_E:]MK2RLLG9OF$BBZ(R[1IEO6;PH8CC::^MM-M-BC-? M!F>^:*\MKLO(W#@O(,)JON&6!<4=%$(6PD_::RM%GY.BST5R>K'@VU=3*^MLNIH8&;T*!.WVCI59A]_>V;_:Z3Q$R),>W>E'8[2#D=IAZ-4 MLU/-OBZ6KZMWUP(\PE+/=YJ@Z !*,*!73-.CH5YM&NS<*?(W;P8\FK:C]:^7 MG>?/?'I5V=T.XR&*@=*,=Q=E@$B^&X%W_7[_KAFI%G-"@^3*?K$_R]$\WBV? M>R>A/D0Q7RE*"X1:+D?%!5DSIP56Q*EWECT\UKUKS<*ABY]P%K>-BP=PV:\)(Z/%CG^4'07T\"2&2O*N"(062 M[P$DY^?A&^!(G^HPBZ).:D@=X5#?;='-6N_LQV0LNLR%[:PJ4,5\H^B,"AUK M$[L0KR]&^-.7@"9\O &_TF3CT1R^L]=;V;$L:>FI/P\__/6[8V3NAG@PAOM! M9P]I\'@(64N*G,#_.8/7B!^,"2;+=V,ZM_C66YA&G')?N/A_C$]HU3V'YRW _S[C8T& N\C%U 6_,R M"RG*V(Z? 2/)^$[&UU7P'_ ]+Z,$\,=,G* @[P%BGU,CU,%^C0%PBY)@:HV MA$SP8*@R2\>-UPYGEG%W2 O^:P&8CY7* ]^P,M.](YA9NA#V%^ 'R5 RTRA^ M@FHKF0",YT]Y#\FIOIU=W_!+TK?]"IZ9@24\UIB"LP"K6 37-)3^RX.^ /@* MT,&ENO- O$RHNFJ,;L!) *^6+$BTPSC=5=4,<&TRGK')+, +=0_J(%#86F"K M&1RYR0"'!8]):H$59=#X ^PV\PN]?/]Z_G0Y_\^_4 KY:^<^ )\".EF&'4@[ MI^+S_'_F]?[_:085>Z\&F O;WZGEHU%FGFC=(\VYWY2'>I^IVCL'$4AL-VN? M-,8CDGQDE^>29@P\CT;:"Z8>\/!]8!M QR%, P@_9EU ^^(CN3&F'S ^E("; M -ZZ!I_%=FD C^*!_1EV_"SAMG>;Z=\_=$\2KQW O=#TC)2Q53]T7!.^WIG- M8 8@XRU=55(RDNPZ8-5X99CBP>!"!(M 2\IR[I(+S-ET939]::AJCP,5UA/Y MF4C!CKW0TL7\O%WE9AMEB&0[X)6JV[(:BT>IAFJK](:0HQ7 # 8_B\,=KVH/ M@4[J'!"U'_%[_N]"#&078K0DUQ5#6^JDN7K\*_M *P.3J9KR,Y-C'(% MR984Z3:S!UKOUTA[_U6@Y7=?-:138Z_]FB\\AN:C6/FG8JS_^1O\BQCYZ5E57+>KH$ M/]X%W#_AA':^>XL,;%UU#X:./8CW]S$_1NPD% ;4@Y^Q1PJPZLFL M/7#N,/26>CSE!+ISKCYBQAXD9>#_X_?S\[>4 2H/,.I??;[PZ^5D[QL==9?Z ML9LZY>JZ8;EAM-(IL*U/N\D+[)E-M%6XS M;*N8Z0GY7K589;M5KA>7V3WWD+^G;N;/?UXD:_%]KI?I\YD"WRIRK1Y7A#_U M^$:UR/;!+Z5JBVT5JFPCT^N##YI=#$9+BIX6B MX\Y10B>>=>8.Z3FHQ%"]W(]VY1XZ2(=1/AQNZ8U+V,W1]1- S#GFLYTG>6?=6^^\.3!DF/)JEK>&8^RJNVK -YFO$S#H0O)&-??BR\ MWO;1$P]?3=#NGR5E:;0Z7/1K7# 8(W1':"\VJT<;TF]))B?>TE9=^ %8 -$[ MERZ+/?#IIL'"6I;D+<%1$;61]")I-7C@TY%@>4EX=?^._;$/GGP4@PU$#_GY M;S[]80^Q&LMV9RV8W;O7)\&RO1/R MXM@^$/2PM[59^K)*WQ.[E59?J*KFHMKAU)*!SD2\\WE*7R[ULX-&RY"XU99A M(YT:E*L=#2@]>4SI7ZT9#\'Q[-KTYJ9=7U:;_,'<;I;51DM0D?H,*0RR5%HZQ$Y$90FXAW:M,)L';_MLQ%.*6O=$8SNJ1D_-#) MW.'U3:8(IL_P'3?*L(&O.Z[A1]DX>Q4/? S3 M.^"S&XZ786U-M0"O174IN3[ PUE5?7"^&D$ZM"LISFWQ!.X#[#LYCL M/0;VEQ>".Q _H.D; OL82QWPUP.6WF1B7#L#GOU.6/>M='DC5:K,2 _R7-83 M9T6>4JO(\!-U69#RT@BCZA%7CR8;-\\OZDMN!VO4[^KR&[3W8Z.^WU#TL[OH M;P[XOI4Y+$NKIE3SEHB@+@.M-XAX@EA\9N9CI%:P4J57-^M2U%1:=B_R9R&\ M+_V8.;Q:6[YT#/BM%*QC3IH>;HZ[PLJJF=/>$*^;O4]T(VML@\O/[(%A2H1; MI*F>WASA$&_)VV17Z7?%A2_C].WIJS<..YJ'SNC8:V+#^XU$WLY(&6]W\B(S ME3S#2^(Y>)*Q-I1 LNYCP2-X#I8(%ZX:0' HJ7 MB\TEA09G"1#WIVONOOL!EOZ[AP$I9C*7([).(CW40#O\S.QT"Y^X]R)B+MUL MR;[#84C10/-^+]O<0H3 ;Y.WQJ:!YE=0J6RI+ELY25@B*VDV*6H*,\B-/G'1 ML28CLHQ(VXU0K^GSSL9"!UE- RJ%W9*_=O)W+-Q!YO%(]?:W ] GJ!EC9:S- M,7Y^+FI^K3#T@C4]Z#-(?MZO#D X:PV8?B-7FKN?Z+\W.DI_:'J<+I1Q-&B* MW+ :#K7S@.?O*%6Z&#_6IR5%1%U:&XF"U&+)AA9949'[Q$U!?%&;F(4F/Q0, MO,&5MOU*J=6!BS'Z7'KDE)CR= &GO$>Q?9F3V* M3'?COSOIO*N7O3ONG.#IL/,YJB>,6^8 M\E#_1-//;;AUKS@H"N:PI\G:IDXJBSI<2NAWIX(N0$>_4!;H@G6TTW57MEEM M5Q$>"?(HQNG2MO6)[HY7*1(KJ^1G9,J">9B0@#4"NPCQ9IB!9!A"5;4BQ) Y5$4]S7:_Q*[Q]GQ-X&G9M M*+N#LH>7/GG51=1#_+IK@^56)'" B:.EH&H\P*JW-5Q M?0E,:8V_AG[9Q4G7&E3TP)304I[.(_.!C7]BAENK3$>SB)^VA4(TT]6Q-*A6 MP6S\@U&WR8YV%XXI7V7.E]24<4H-?+3LN*UG#.R6,U4[^)*;_K<%ZL<_.+/,(W6>>X95V3^/K6Y:C\>EPKX>TA MA7WB.F=Z>5GDJO[<'-;'&]$+5:Q.PG4..;;.?08.O;T%V9>:\.7,::VDSLHW M)3L?-@=NI>H//M.9#?APV6AVNF9A2SLM4\WQ6RP$$XX="Y>_H6/S>WCR5=:X M-K]9.5N%ZG(4W:EPYB:OHKE/Q)-H45O[Q6%_@D2-VGS,M9OJP&+C;,RQS8++ MQ9.O,N'='IH3V;G=08)U6)KWAB$_U#[1D9WU.LT&2HD$LNKQ56>[[B #$N ) MAIP03VX_HZ,2FFRZ\3O=&=/.)4\[EY!IYY*T1[=RX!,-\*P")GR&_+ M+V"3];#>!$XP%P3%6HO&QPB5[SQ=EZJV#%;0OK0I&IYL.1YP _K@%7G+DGS"W43;[)9?KL"&C1W81]>)^YI^:TFX",+VW4W0;+XXTH -OJ+N$@ M>9[JQ_Z_94B[Y3*S4'W=46XS176FNBX,!*3-CM![1&GLG^VJLJ/98)C*70.R M6> ';OS^N*!;707 P/DT(%0%TO'E=PHHQ@S\(+='Z:J'ZKJKIG=S+ E6X;] MS%PU;GMJ:[O]I-TI6/#,W6^_\$:.C_0FXP73.7!E8%@C9>:!$F^L@9=(<4/J MPS%:^$3($%B<#_( GRI)4;Q>/@M5@A8 NZ]"5E0;N$K[;^UZ]*D;Z&/M(BYI MN;2BN$^PM(EAVMA-Y;[17P0,/0['0MCK#GSD>.HO1 I?_?#)TSO&P.]@GL!X M?4M5=GT#5? ]V-/./L9J@BL@$2DCZY*M[09VQPF8E0?: /[T>/1+H->.LJN3 M-!YVMXUE$D\!+/P'Z)Y92]:^KY)D64X(%$(]/-V%P6FH VTQ?/A9O)]J&:8* M!0>KYV%/O/@='GSW?E*/\75HS1R+!JQ46RB.'EBPC!GLO.??J0E\#9P9X_#F MG=+ Z83/MM6][A\9]4YZC[F])P.#TPT0;[CQKNE>6G\ R/3^FY&4.0A%'EC5 M;I)B\0/\S@)9!&Z\:0R6AX5W=T;< /:PZT\(*.)C"8>^P.#I4V!<\,U ?UG M<_PP>'738M_$:C?.7Q[1-Y1]^T'XO7LK?ZBI.\T$ E-@=9,-VP^O(9X9N[;" M0+H/3G;L1NW8F@/Y6+H!1+?XLQD8G &_ ><+N,ZV'>^'PV!'U0QX_*&G.X&E M/-)$V7#E8 '[;4+!6["Y96SN]Q1W,RI-G<"/^0Q\H-?;.ZZ.*0KXXI[9V ? MEW&%NV'$L[7'CUUCYJ/:<,04X.^_XL&1P22#%TH6$%(F!/$I9,=Q86#FQ&W# MH=SA3*K0J,%C7"WN*KZ;C=OSK#^L?]=R&NJ) 4/16'3/]KF!:'S,[F$3U/]W MXDL4=KU)[]P<5,QJH8'4IY,YPEN^(8V=5G6 /"J,R9)O",T/BP-P@MA8AP8' MQM@#7W<1.O4@0%^$1K&68SB2R[85K*W)K!>6M%>75;V=?63GY15$4F%D?R8) MU$(S.B(YX"MN^.GL-_+-B"J6.J)0MA5]TF*KO5D$3S,>24\DF[4"O;; #S!M ML9",&# ">V=9RGVSU>-:B0) C-'PF4, TO[NBET2#/;RE=:28<7 MO.TU[MD MJJUJL;<-H!X@)M3A>T)@FXH*HB$024*P!,X6+#_:5< X.W#8N96[E0O@P^$A M\6#%_#]@>-Q$&"A.O!GN8DGXEGF,V>UBSGEKYL4'$_"R7KK-T M#3#^?6&4'3NMKK*# A\;*^P^QM-(/N-L\+!N_1A?NI./&_*4K[]WI4W!D>_ MO%$EZZDRM*,0L.FI]E,C2MK,4[,JQ#I0M7=W31QM=JSJV&@=L'7#-.2!@E=G M>F%9[9P<4%ZH12"HL6_67]@'&(9/A/13I/K2*P6_O4>V]X&C_)/@@&TC+N&]4GW&F\*G@)3L?<';G MASYVO7;8NS%B'URZBS=C#G=CB:.5FWT4=A "C+L.KC+\XM%!QLXB_.3FSFT_ MR'47XNPB!67N,T ?:N*T\1+^'4_':&7@:W;UB"J";"F*/ M!QP9=QF'..@$J'PFU_.I>.)8="?-.'6@VNH,Q(VQ-_!+]F8OAI:'Y]U_" XUW$=;B')9Z-_5FIV*X>+?V^*NMV' S"[)Q_IW6']^SF M_R$G<)B'#,.C1QT*;0^$\;CUV'?00,#@QRD@P!.)_'O'HZ$#)8,OG*K0P XA M<298PO7!BH-$=9\W@+J;U,6]L V8[86OAJH%E$&RDHKU($_P@!OO0=+@H2YE MBF_'T8-I_<[)'./5I^S>YG'?[6EVR"6K"ZBS1*(QT1E7#78@E9Z[?>V%!5%X M(%"P!.;WXKS+Q+8/L\#:2G4_/:PLNX&J'%T;I[: +K<+9"L8##.VA\$$+V"G M=QO>?D7$><728U:*2QB3MJDV19&W5[[-8NP'B>7+* LMD"T0<%5+0J\JKI!2 MCUOYW8\*6K^.L@AT>;ZIY4E:Z(EBE7"ZK8G!:*_S+U_^P-^O_@#.[W/WN^S^ MT57M3.MQ_N&2]#0:W&<>]T[((2R^BUC!XK3+><)0^I!EO@LM8<1Z<\1U@D[7 ML44$/O'4::3WASUOR:K<:2*WXVBOH4D?L_%&2X@NUT1CQ18239L/\JMU'NC,$'DD[<@#_D&)Z M\U4[3TMII#@;OY3<_;;/(X4]>&P?J[!'2NNZK-984SG5YJ2)/I\I?-ALCW\_ M"?KK63 T&SSKZ'1L_5E)5(2&+6#"D,9*]6Y)'\?3D>Q:FOD=$8>9)5^ C3?D948Y[.,C.;'7#&2(A0F9IH+@[+@8^<2GB+YK)+ MU[#N/>/'/0!^RQ./=^#N-B0?A#2#Q3X7:3%=^_%<1MD^,_PWPA&"%8 MQ//@N"-_B/>QI8%C*;M\W M/HNJPKO7#" %>/X_?BT(ZG8 _%K)/HU:4L'^4K"G3*6]^R;H/Q\5WJ2UA\G: M0RJM/4QK#]/:P^]=>_BP*/SY8L!]D=^Q6G(I_J:(2:B"J#(F@O@&%0D,)46& M05$1D[W:+@(V('>H)/*:GN6* +2=Q@7J"]?&=S+L1+5J"5!75V6H\MW-Z1\23 T4;.;3>WB(@>EA;8BYL&,WI* 24B8&N M5EFR;'>+8Z3.L-$H/XI6>H,%E(F!<@@YK%LSIX*LK%4P:S0& [P*WYXVBRZD4]&NK#@QTGE+6E%E66W;Y*6=8Q!K!P[DCET.1%)$$\P.* MZ%!23C$C2:[,R'6)\7,:H$P\TY[D&;)F$!$256O"H,!+Z+C6 90)Y@EEMFW4 M*V6&XX60JY.<2GH2?'MREHB>P#8D#17*-I&OY[E.TQBS@#+)O$1J9''>\L.#)82I!M%W;^>HZIVHBDZ2<$YL^V5D9OEE'Y[T0 MI_,KUM-$%$F2ZIHH#LN3,L4-NWFDT"-4DP% T@3(VUQ!(MW^Q7/',ZZB,Z/ MV8HJQZ2)*=7D35UKH1-:X'ED-M8]+MJ68]+$G,ZZBU%-F3-'0"V-EI$'2!%^> MDR>FPZ%=YOCIF'/I<-VHC>*GWO'UX77GG.3"HA^OK;H]73I6=-Y5G9$\BC": MHTRO20V\ZMAL=9)%Y\?I/K7H_)4."O F,QS;;55;Y5ZFS74SO0K;Y>ZN_^': MO9HF'%+W_E M8-[QKEU "U\'@]ZE [U=&+<^_L(A&[/;1K_-M']!][ P-S&:N[<\J!!^.))= M=.XL=QO5<%QPZP+>8@XXW_U1"B582!#T*B6'E&)">K_]_]JZLN6UC6;^?JO,?4#[Q+;L*I+%PE1U7*?(2.[:51'*V M%Q<(#DG$(,!@DD6*=@)0U:H M'0C^ZYBQ0P.\5F N^"9B<\347KKNNS D;AC:['"UK,2X]Y\XP@B[?0:UJ MMD_^'^_8E]'@KZ^_6W];H\^L?VO]<%N4KDH''S;'1A;?Q#_N&"F)6!SM]_GF M'/?ZMC'SV5G\0WI2B)]H0K@+,<7F,KL93U?[%SMQ964''7CQ6Z/15+&B8)C$ M>C9$3EJMIM)YG"9&]+Z8,*E]4VI\O),Q G#')(E_;]QZ P1NL CRZTA@R@^ MQ%\L1(TK! M"!*(4O!!:?:)$65@1+/7)4:4@A%MDH@R,*+?[))$E($1I)I*PPA23>5@A-+L MJL2)$G!":ZHM8D0)&$&ZJ2R,4)HZ[:USY,2SP,, 8&[!OL.MNK?'J@L-JQ6? MO),K$4S7Q@^_?]1^=%^SU&YVVW'^6-)#=O9-XDULI3@SK4"*]78@V*;SP^N5 MYK&+7)]"=Q.'%8^5E1\>*IUF2ZTT5*Z64I&S0"'U65OUJ=U7)K"=:Z$$>2CD MXVL,E=*)]P= ;EKR_HA0FWJQ)'HX)/C]BTHAHD+\UYKZQHA+"?B?JTK8%MBH M'0#49K]8OZ 0!4#>S_&]GX[>A#CAI'^%P5IL5A-0[Z8Q4FUJK&(6?M^,Y:62(5JGJ7 M9$QA&)O=3:(VP*+8K=LNR+>R],&?SZP OF#"7Y]8CE ,P<0-?<,9^K+$OIEL MQNLVBBL1DL$KI/I/7SRS'BPCZ:[AILG8HFOX8<3FT^+J3E1%/S=9./;2[E5Q MXN&YVVN6G;4%.MB"H1OBA8T#&(-5NGR7QTIY=G09EYH2?WYG)7U+2L\4S\B[ M8&7>%9TWUS\"P14ED#Z U)['5P"OW0M^>>LJ=?^/7X=*RB'IC^(+J&W#M-W! M[U^#S^RG0>?'OW_KC/]]C1>P]4=E+W:=%VFB&V)[$0?O!^O]U=)::S[(:\-6 M0T7:+JEZR5V3BF3N,BYU@R9%[?FD;(7VBM6>2U7E%IKB=OKVRZ_M7_[^Y^O% MP'SUQ]5E-_CW*]:14)VV9%U;;9^[\L%3TJBD47?.02_C M6DO@G.;6BZ5H]_3FO7G=Z,\^_?/9>C-[>VYI;[^]5] #ZQ>G5TM'G+L=U+O) M@QI5!8W:/XB+&H6&#Z]0-[LGI&&+U;!Z22,=QW):[UOR^$A.ZT]__F1\? M_OX:3AI?/H57_[;_^A-+JO'Z8[6@T0Y>ZP8JH9+MR4I_!R7[M%+G*+_O7 VH M,HMGILLT/OET_R'<-Z:_?/^]<7M'Z^^3M2_QMV? M?CEFK#(6MW,A;9]X5:[+$:]CY5\NA.TN+_E7[?K]7Y?FV]^^:G_?_MW][3=E M]E-XB_,%)U"7]5:KN+CDRE'RF[_![W;[UB7 MM\I/?_Q\\?N?[?90?X^EH_O"YBKMX@(M]8RJG(XP;ZY <%+"?(#=_D,E^4ZOKW^Z^N.'QM_V1Z:^1BN,81!5D_O*:E^HJF=\O>8ECWE_^[@*\L[E MCBDWK.#OMX!?W:_CKX',X&\P^_38?@\;' $1+IZRH@Y\P ME4J&\H]A5&O]RSJ$=Y_2#T@@B%&-/NMW?_?O[\T?KK MZ[S_]M7'?[7?/O[\ZSD84XPL= L)"5+^!NF5O9(Z2D6 K>;UI$[<&U&7'3IY MWV?/7>Z4I+QWV"5>[:GMI^^(/D:)12M!R'5)G#_\^>LHM'X\5Z["S];HS:?6 M;YT.]G84I_>MWKIK1G0*N(]O_A\O_VZB>S]>6/X*?7VA]7?_S- MU(N?_0NT_?W(]F\Z>J0L E((6W?R)5YN/?(0]M &RJ=?.N=J_^/TZ^_C=P-[ MH.L7__Z.VN"4,Q&BOKW2DP^\\DQ28>>,\@QRSS,X]67?E5]PZNNF4\!:K?O. M,_ 37S?AO&;KOO.4^\07?K3SV&,SO+Y O^/8M1H+K\ !*\_^IC/3*IV9%E&R MHN01H/U"(J^L&VO(> V&*"CRX^6MWG7?=#Z^GD[4UQ^OW__[Y:V3=QU&;8^@ M2+R]_YEY<1Y4ZA*&DH0^OEZ^4\+?_F3VUTOM:W#YQ?HS^' ^_J(J> JJ-)4" M__O1,,]1MO'(46EV-EKK:IXXOLHY?_K8ZRG/\>+1Y;NH MB$$)EUH67^48083E@K@+?:9^O+G\W%-FUU^O?GFK][[^_&M?>PN^BEI\&*&. M:J VQ6Y/M4%#]>(/=U9L72B!;W_]]N_L\F)L?V8N4_ZZ>M5]S]0Q*H'B(Q"D M! MT'7JFNF&TRR'7[VHQPXNPC]7/P?FQ]_?O%%^>ONI?^'.WX\N9UPM[!SW>,;+ M.^3!HV4XIN\ B$E\"J?P+?.0/7/[LYU[YN:(4LN!MP1G>B _7+N!%9<=^^*F:%G!1;S7T?S>N.Y4YQK&/"Q+DY0"'88[/Q_G9-IR/#.\D?/GE?:C^!1(W4"XNC,F7_L#X=_;E]MX7'QZX MG'/>27=92#\9GO?%OOKKEU1Z>_VG^ M^:4.%RNS''P$!X%I3+>L+4<%_W!?=,D8/AM:-R]? MP#_Q.*;-# \]M7/;&-^QHUT].K$!>.S@=\GHA,Z>&YM^"3VXY3'.+_4 ML)FQ&B:S[>>;CCGB$0IN]JZU%MNZR"YJ74$G3I?4O__]3WHY"Q>U8;JVZYW% M?FB*?!%E-.Z2CEECX#'C:\,8P?O/#/O6F/O18KO]IAX?[)TEKJS.#3;2];&4 M^AFILL*TJ?&MD2)>.%(8&& (/RO^O+B[6>%_X,& ?];(MA;\5\ MHX\>O;Q&#*+:ND#[Y 1^(B!&[L[8.M2M\<9>##*OC&8\<.TA_/'W=Q\^O#K_ M)+W]]?+SS[+T[M-%4SK_]$JZ^OS#U;M7[\Y_???ZZL6SP>9!7@P\Z=G+K8]] MNKQ^?25=7TH7EY]>O?YT]?H5_G1U^>'=J_-K^.7-NT_GGR[>G7^0KJ[A@X^O M/UU?B6)1ZG/I"1+4=K_['SF_^NS^_?OKE"SZJ/A*:,_VUN+M7I$KS">5D M?8R'(39]MR6*PV5'7COF0C&E2U MB7"\?O?I[6M 803[_$1V99Y93=I;VF(U^"?KUL(W7W=K)RL O6 ^7[/""]NP MIJ)T^ ?CU@<'Q<]_F[BRS#WVC=+X%3Z$XM_J$/SQN!9'@6][^X_\=].\.; M \9#S^; >QE0"%Z.LP8)\$,[ MR,[%;TKI)9O@>8/T92=K6X9PO6!D'T3?,5G&H3;!TX')P!9B&(+##=9'D&GF M @KF\/4IT$K&/87P-F-*XK39/%HR?F%JS%=)"B*+7I7E3]"E9]X-C(Y#P82L ML=!P?/7 +5RA!5X&^+:P@$%L!PWN,>?IISX$8>^*)\,*#!@F\COOM .&:&D6XG M0"P^%L V]#R&4THHAB1-Z(C\P0<-OF,#H#BP%X!)&CY@9 [%V 3;!#AO6)K M@O. 09B?_I:8Z5#L79SD*_R5?)^3C :6S4SU5(8!/#9U@UQW?(70>AZP2PB-"9 ?DLD^^]Y+5L9C>&'2;;>1O]#J2UR=B0%Y9P8=>"G+AQ M;50OAH0+8AQM\,J9S;Z!M@(L^P(@@SFH*L<0]7DE8P SDT9A@*@#8N,37-\" MPL$O U8SXP8("-1/>":>@#'#J>BFT93>1( M5GC40RP#LQ&EKL-B>=D)]TA7A%F,0IG#$#]= QD..OQ;]ND%4E/P#&)LQO)S M:]EVHB'X7QR#DR^:[EJ-YXX9_,V+5&96>^"7LBH#9[=8G* 45Q&Q9L-IKD@3 M?+TI_3ZQ;#$K-"CLGQ#5H@!#9.E"!TP18F68@=&"@&"H.#:'#%@"FTI!(,[S MQ4O9ZA+2VO9.;8C"BM6A.997U*-0&7ZB:Q.SFY[I@DU38\AG)AG#&\:=#"%F MZ>A0^HN+4)"Q %S\71;UC''62V%C>@AAY MTI\/!(@0>S:+/;,&&P/B*?[8#3PJ M"O0(;8)#<2XM5"O?;PFU*NQFD F]K?,5(\BQ;QB5%%^]'QG7R2X%X2H5A.M1 M$(Z")"W25W;Y8L*-BX$*>'IEZR6XY/G9MYLL*;3]6K+5:L8O47GR"!K2]%E++ MS 07HB"4'7UI'*>T-%I:D?N9DDQKMKSO@3FRC"W:(9'O'K-7=K=;M/-;WOGU M:>=7]YW?0[<6!G?,OW192^N8K<&7OM96OK2,0?M+7VVUOPSZPW[7- E]I1T_G0^,,2H"9K>7# MY>BS)5[TD!_-=O^>[CZN44*7?['.*&YV)2W6NW5'R+>^,,*'/Z_>74F7;U); M4MRSOKN&0?@SO[Z^^OSAFC]R^?/K7\_Q#WGO+M90:(<-_67HQ7YWSO/9XQ3G M=\:]<@-#R'A%P$.Y2)\M@T_.S(F#BGKYC!J/>BV,NX,S'@;1Z9H,W[9NQ"'W M$'Q[;R["N;-P8,,FQ(@/1O DW;8E&QQ[FV\%QAC1=7"CP#<'&+X//5,$VBUG MY!DP5FCR,PB'L:&/)ZG,&[MQ>HD;^I(YP:B[#!L(:<+LF>1Z8\.Q_C46[=!% M1B@FHF)&,4Z$\2.EZ(\>-E$?S"-J\'-YV$8-V2*$Q)AB6\22='8!$=<>>,V,(MMZ-Z>R[H^"6LQ2/>(W R'P%" -F&.8P9'BO0CS$;%BU)\$,?'X8A =J M'IO K@X^QQB_X]YPW19Q$FC#G,52D?W6E'^*<7$+V.N8"Y@0/_.9P? & M'K3$F0HQT=9PF"0#130@><:F"?A!2.@MHL(2/@>97/X?*.- M)R&W;BKTOS@U\=F8[W_/I"?J4^GU8M%/-/PUFP-RDL6SW$.;IDXM0.(Q>\0>^PIOMK ;;,=;;UAWDA0H##,&%X/!,X3 GQJ:7G@ MW(/!7/#(C\F_B-H1>6(MYTN8>0Y<@F&'V>5E5KXBUCSN$"7XH*Y+J3U^U)/H M-UE"!6-:,R/^.Y((_/\&*E\.58^1H\ M;L-I'ABC4:3K%O*"!Y.X-'C>#_AS\3J,&WZ\!QH.1!'\5IZ%'LEL$.EW/VB( MXRTD0&;E!M@$'Q460#^PIM:__.O1T#/F#*/)BT\6NF !#9%[Q9:HS&.[D8[P M;MC<7^@[ 5*@)B@' "@J+X)\]K!?BE*K7'#<\. ZHPN%;8J=Z9U8]EIRC?B@]H[&3 (+7L8C^T;(Q: 03'1A*3SYUQ$&\M\D3^S M0(QX=0RH,7,34RZG$C/PP#]ZE\N3&=(ONQ0CBD*>;WP2O1B;-]-Z:RQ&">[A2]+?CZPB*E M9@^37G+(FM('$#&\I0(^@A_.9G:;(GOJ^"]3#9WD\79C;9,*"^C'A%[2.G;*L54QL M GP-PU_86_YZB>%,Z^I;E)S:77J''[LZF8N-\P.QGKHDR M&]2UNHG_TQ-KL>Y.?7[T\@)ST@+I'!UU#O5?6<+6%\^L(VW(8.L#*LKTK $F M'#K2SP9 ]ITLO0O8%.^>?0*U);5E?MJJ*<\W+_$5&P32)8B12-#S<5G\B^IS M87,RH^L[COI+B-?+ F'K&(@'8 ?#!/G;/?V*>IH/BJ8!WXQ6.OP4Z-64_HY]'R<$T](QBM\##.N MXV2DI:'%BZ_1=IY+'US#6?67AM,AX#;Q'BGZ_8+.!7/26MBTM0^W*4,L<5B"W-C#DG M N:*V;9(S@-]9 B; /MK1R@1H>U@9#!:TC!D<3X2IQ0:OV&4N;9$+SPF!,$2 MC@LSS(DT<#W/O<71N>KA)'H%AGD.)'GE&;>"7GM2"U/61'8L*%21] CT>IQD M"(_'F$$=L$QB5C*3:(//'UT_%7D]R3W,N0^!;NNI+Q+01$8UD >6"P>Z75@ M7AQ'RVP\*-84T"\\6QE\])G![?C:=%0>^$#X+&<([Z-6" M)R+@QU,EH[-=="BB]Z:N"40[HP0LW%O"#6\X0,QP!F(ICCC+%Y$;AQB")#B$ M6;O TK$;>7$F^.KQMAV3<.?,\%+(&"8IO0)2=Z3BQF?9O[/TC'$&RTHG20V\ M S QRB+@9# 2)R+CEG.8T9H9UTX05&0T@@-E#9$"(H;FIR^])%\&\8)EW(#O M*7)?@9O,Q&W6,$Z5AM\FT@A$/-JA)&^)IA\ZZ4_+P5-J8<5J ,.GQE?V$-%= MIKXLKA)@-O,-W\3QNS"W$PMACTCTUT"1"U1TO3W>(.0,2C/)NS#3>1=;L4JG M?NM._72%3OWHU.]AIW['.+M!M>7P;"B/Q9OB=?:'ZSB>S,XE@=M5?@<%]_;Q M-1GX@&]+&:]B<2LJ832X%EILT$>&*?18Y"7Y\_@*#)!VH7W04[:".#KL2S96 MT, 0)M><,CJ&&+2)_ )T]V1QYP0]CKF$5([]Q+1=6>A^]LT2D9JU2P4BLN@Z M')JBV/?*.&2Q><"[0BZ_9&>(&#ZN.%UJ)#*8&4^.&WUQ4R .2/#@!!+?6^PC M,0@*GI$?!6%1E0O"9/1*4Y;XL9P:FRC6E\W1E MD5L67R2++IHN30.C8/RBZXT5W6V:']*#VL=$)25.;C,$!H=^G@+Y6O,?03)% MV@2M8.TQYN0N&_=DKF#WA5%_@.^P0.>=^UJ+^T;%7 ;9)Y+S*_>N^";V,@F? M%7@,W=\XTXWAABLA";]$VSBD^!N^R?L19>/R!L-C[/9X$1L\I1NYMBVVD-S5 M >D5VZ-@(B?!SKB$3WQG$(_9HMMJEB/*.:%["Q"R;N+:/]S;3PM/2F2BJX^+ M8Q3 I#ME+_PP2P*^J&ZSO1Q@0T.&-IYGBV6],O@8L^[5IV CP]G+,^$U1DN+ M?"%1$!'\(-N8^>PL_B%-2*1;]#8TH*8PO%E')9V)XB4Y<5GO(O#BM\9S%["Y M=YW'EM[L]#=U)DEY :E7XHX&MT-Q1EW\.\]M.1.>WBW09:N'%;G3_,7QH\: MG[6Q@CVK#;FB^V8-1O\^M.#RQB:2Q(@#,4)I]C1B1 D8T6EJ)!%E8(2VI;\M M,>) C&@WVQN[]1(C#F:L=6)$&1A!JJDDC""OJ22,(*^I)(P@U5021K2;&H4X MRL (\II*P@A2325A!'E-)6%$I]G9V*";&$&JJ5Z,Z#9;Q(@R,(*\IGP9L7N; M]WL?FAZ.$+T]"%'H\62IEVRZ-G[X_2.U\^B^FTB]J;0?+W4_5&??))Z1<(CF MATG+@SMJ*&Y+=+GF[9P^\K1CZ36V<5I4$"Q4015?/G(S6%9HL0]Z2%O45UNT M[ZLLU$Y350M=_T.50=Q0,B<5L,UKK[0*R <2[2U;_1) @O?T(T04J!>WQ7L. MJQ>/0X-MH99Z(H/DY3Y!B'I2A1QN/5[R>\^I,;PBYJZ,N\A>8LP(O4.)0Q9O[3Y-HW*1Z*+9!Z.+DX?48A',AS MWWR3I!2JX/!DJ80#?WBR;+N;6E.R5,*>DA"5A"QD=\CND,CD>KNOIF0ANT-" M1';G]!*32&1*0I9*I":1W3E2_# =+$RWD#9-QD:C@R;J8)5G;-4E>5BW/62Y M100/NZZR!@G74.'(QY@9(GV7VX:L? M-:0%>,#7U/DEKMC)U[3-@N:,CKZ2J M?5GI=O.VG8=7 !LHLT/R74ZQP&H#1E64IB+E9A&/; 0>$YA)S9.:C]2\HLF= M5IO4?"ZAMVH#AM0\@;EN:IXGY)9NH?FK^8[0:(IUT>BV%NX9(/W@:5PG93CJ]#DNNI4X_<&95"86[AD@_>(I4"=E> M79U>O62G.. G=?CP5X9M>!83+<=O\9(LI3X5G?I4*RK<>6!>HLCW3B.@]5HD)$7$N\H-#TUI=LDX M$.[).!14%+'4TK];CE6/!*202HBEAH;25,DNY!(N.UIL+!S$:5>N)\%W;RPS MBI2YP81YTC"5I$7Y6 ^P=!4I#GS(/5%U\D9WLH'MKJRVU0H84:BL.L!H M]?),**X5KVL(;S(%-3$%K;[<[:HD*P\/C%4'&& *VF0*"-YD"AX6#*N.Q.]D M"KJR3I;@I'J";#],;S5[];8$%W*K1;D&ATI$JQ!\.FU*5".Y(.-#QJE4%(UT>AV17DN=3D71:HAT*HI699U>_02WMY[K M^]+,D$D@LR/F1\"C,^NBJW M^PH)&:6QK1@?)<_[275'!,D%&1]*8ULR/GU9:='&A]+85FN)]IH=LCV4QD9I M;'0\1BD/=#Q&:6RG>#Q&2">=3CJ=D$YI;*33ZXCT6NIT2F.K(=(IC:W*.KUZ M:6R8N<868_F!9P36#9/8MQES?.:?449;T>RIPAMG>%SE[=V_X0?$E5GYZJ5N26GGM)YEHQ MOO#$K[U5=3_/+C*UXF4-X5M+55UP-E,@=E5K!G$"RUMYWY*G+ M&,&>3 .9A@VF0>]2>943R,#:WS3H9!H(]F0:3B&KJAC3T,K]6+GNV#A&4A6U MAZQ?IE3@FE\; \-G0\ETIWB3T0@LUZ%4*#JT.>'S=576>G1H03$,M$IUVCG)I_5[N M4:ZZXZ&$R4T8"^LTN_F%PDZ$Q]5*9[H,)LRCW*4'6"KJG+NRHZE.H].=+%I7 M[BI46B2',%=U<-'),^95*U;7$-UD"&IC"/HZE0/,(:A5'5QT*?>*T$V&X*&! MK-(*_.Y1+C7B_39+>D]4V5<0Z5*)8A>"C RLI78#D@HP/&9^BC$]'[O4H2_E0J6@5 M@H_>SK.8?-T107)!QN?!N6P5TAZ[UDCIJB1C!\I\JQ!Z=*KZ]8!(XUWD*#YS MKGS24-LTNUHMN?#*,Q5H!EO#$[+"*X15@.W5/3HCI)-.)YU.2#]P,;$*L)UT M>AV67$N=7G#AL0H(=PV17G@5L@JPO;HZO7HI;C#D.\=TITQZ8KN^_U0:>>Y4 M0R*;E63F_[H @L2#3<\*F9U=C M\Z0M4^$<2ET3[W@"TZ;".B0)9&$H6:VXHC9=C62,DM7NE^K8ZC1S; =W4G:J MY 7@GD=%WR0KBBE&%V*?GE%^&IU[42X#G7M1?MHIGGL1TDFGDTXGI%-^&NGT M.B*]ECJ=\M-JB'3*3ZNR3J]>?MI22X%W3L \Y@=QI35*3ROZ!*=65"AAU[2= MS_@U65/R+R-:=T24L(DFGN&K>183K3N/">ED 4[! JBRHBMD 4Z_5Z:P I9 M $(Z60!JCYFV &J7]@ U:)"YDEFEJM0ON7+I4NOZ9;]S$ K M]SHJM0)%V7MGKH:Z5SB-*]-)TUU[5Y!RNNA6?AE._,NK$O/(_A.UTZAJ=$KRB1N$.)7B0)9&$HT:NH%H!R7^V0C-4^Z8M;&[5% M%U>JGN?UB07)/4\;<[THH^L!9C(CKSK(Z] -!S8[E,!F2/)=0>5I#K^L_.O3 M]'-L8UO#TZEU9M:AY*_\BXQ5C8P/&DU-LS:8W-6H5G#>Y<%. !BJTF]JU!(R"B0]"PQ@)JP?_Q./ M&?'<=&W;F/GL+/[A>0YKB)&4^B1P9_Q7/H>&;(89 M2!Z[84[(),,92E-C+CEN( 6\>-L0/@U_^WJ:_(VK&,Y; MU)9#F6OD+CW7",TV&P68]T?2RE?D:JK#!M:GQKI @7:58!ANAK\6?< M94@^='TKL%QP))AM!-8-6^):RAQI:K.397E+%;:B"(XMB8&>\F@,:>*QT?>/ M_G=]>7&W5$2J<:VVO.:6'33[!?P5\. G F%L%XIE4J^CX!ZN@U@R4C:B*HYO MBGEE^9CRI"(F*BO$#[SXK=%H:N0;W->7:VG-[D9G+D6DU"M=>,W(=F]CU1/_ MSEW.,R$(MT"7K0!,N4;)H\; =^TP8 4#[VZW4MU7O4;_/M"K;FT\M"1&'(@1 MVZ[$$2,.Q(@.240Y&*%NN3%)C#B81+1)-96!$=M"8,0(4DWU8@1Y325A1*>I M=XD1)6#$MO,S8L3AO":=&%$"1I#75!I&D-=4"D:0UU021FPK"D6,(*^I7HS8 M5BZ+&$%>4R49L?MMPGL?FI8W ZZPX\E2+]ET;?SP^T=JY]$]U]]N-75].3?T MF->'LXDNT4L&F9=$>1$#UQ["'Z^L;])'^'CB2Z^=(1N^>#:H3C;HMH7?#945 M2A1S\YATQ:GIBO9]587:*?JR]D-5P?O089*NR+FI@((KZAY3!>0#B6Y3W1B5 M+P$D[+FD$B+J4VS[.#0HO/IV)9%QF+M65:-*X16[*TD5XW#7>&] MN:;@S=T*N5Z5<[VK#0ZM4N"HFD5=5^:@O-4WC^FW5UB*OI,N)H8S9CE)$GGL MNQ90J!1*'N>+DCKXZDN'C\H='F#V'*:?F/,EBM NH.:[@ 0YT M\RF(KVFJW.DI>;NCAY>CS[A:-G**$U8:*JBA-);\69D?6HH\K#.-#H;9& MFAQ#;^5;:/ZM3?HMN=7+O>M-244@3_6M5QT?I+Y)?9<#M06H[SL862'QW,T1 M[\IJ_HV#2RH!N6Q\Q ,ET_\->UOSJC5+/J M'[V<9F+9MN[&1TFJ//!A4PEIUACK]X*E.)61[=75Z]7*6DL[+'3[\E6$;GH4= MV9VA=(NW72N:P50^R;[S9*165+@S?ZE$<>^=CD5:JMQ5M6JG)U7 %MR9Q%0B MO*B]9J^JYR3ETQ!'$X1248&LQ<8F M-#MD',@XD'$HJ-QAJ:5_MP19N:/VR#844N:PU.BH<'Y5R4)H1XN7A8,X-\OU M)/CNC65&T3,WF#!/&J8RN2AIZP'&KB*5?P\91*M.)NE.9K#?DY5VCGLD2OM* MPF?504JKU=3RLXFUT@JUS0L@V[ :,JN.Q.]F&U2YI?DRD@4U"^?B#YF(*.W%';9 E.J /(5EQTZ[XGJ'!>F=KCXU^[@6%GHF'K M[C52LMD)U\,J'Y5J4TQ+U?MRM],Y@7/82H3;*@VHCDZG4B<@**6B IDCJ@B6 M,4>JW-8K7A&LC/BI?L6P3I?2YPZ6;E1:ZG1R6FNHTZFV6I5U>O5SX-YZKN]+,\\=60%ENM'A#F6Z%7"XH\I]-?=+ MI)3H=H*);GJN]XOJKHQI1K<"IY;CI\0,:'C \9 M'\IS*RK+NB?W.U1SE!+=5HV/TE3)^%"F&V6ZT8$99;J5ZFBXW#2@3+ICY7L5HJK;LJ)02\]2)WSMRW=5 MR[./2Q5Y6;TLKJ60T!O#Q*7&0:'1XE>/V4; AI3.126^^E%W;%QC+RK_0T#-4"N>"Y5X)I?&P/#9T/)=*=X^=$( M+->A9"DZQ3GA9"E-!C)4[<"R"C&N$@%!S;-%50H>,>3EM[L/:VU0JY\/M0K M!H)I6CR4(\I<35V8_[_YQG9.)&)'AQB4"X7VJR?K6N\$#OJJ$""AA_A,&Q]K-;GZQL1/A<;52GBZ#"?,HO^D!EHI:]*Y$OZK34'6W?-Z6W.Y1 M@E01@:_J(*5#Y_*EAGNIEDRFX:Y@5W4$?C?3T)9;^8>^:@8,'N>J#C"ZS3Y9 M K($9 D>%MLJK<#O'.CJM=N4WY5#5*O,2'C2;K8I_:NBZ5]JCX]_[0:&+8VW M]SFD7+"B#W'($.Z2*U9>C7B_75(7=DEYWHFG9++]DLDJA">]U50HI:#R@E(J M*I U>E V6H6TQV[62)=[;:K0NQT8R>UN MCJD$9'LV9L=5"#U:4R73<^_0XUWD*#Z[KGS24-M4O%HMN?!28Q4(>%$BW0$J MC56 !M4]7"LY]$NUY%HJ^8*KDE5 N&N8%U%X4;(*L)UT>AV67$N=3DYK#75Z MX;7,*L#VZNKTZB7!P9#O'-.=,NF)[?K^4VGDN5/)G3&/ESVC7##IRJT=UTRC5;9<3GQSO$=5="U.R =FB$\YTV]7Z/%$5N:]TJ/X.9;<]YY>7 M.E2?ATP,F1C*9RLJGZTKZ_T6F1M*:%OI.-;N4W70JE6'>QY5A).L*'8878U] M>D:):72^18EII3K)+3<-*#&MR@=>)8=^J99<2R5/B6DU3&*@Q#32Z?58O<2TI08$[YR >

<[.MZE4[OZQ$E*LZ,%&:&K59*S'<2[5DL@LU:;C9SK./3 U/^RO7 M;5-IZF0&R R0&7A8K*NT K_[T4>>1^$UU/Q5:+:I4;/-RJ9S99IMNFLO$5)N M%UW"+T/N5ZF5X*ZY86I'H=PPJC.VUHZJE#EP J)1*BJ0R:E]:3%9:[BV.$@?$M]QN@560I%2PH4:6Q0C(8-%G76FRVLG_PF7-F%UPT; =PE4 N'HG%I!")H5\S-I?Q12? M;\FM7I^4H6"59&+(P ME Y6V,5_,#A M&PYL=BB!S9#DNX*JFAU^6?F?6,FZEGO,C@)TU4**TNS4^X"KY'@OU9)/5K^O M5B1+296*D&]YSFZW,KS M2D8--?BZXF+E!H:J=O*LIE]%;N\>,+IK[<7'D+8L_D#VZ[A1I5HD/9_&C<$R M+/+8[M9I7/DKPR*/;5H(KJ1=RW2KKPR+/+9S?QI7]LJP2-*NI[+(FFC7&G"R M%MJU\#MW95ADE;0K#X0\"XR!S6#%^)]XE"BB9;JV;E/#AI?]S#R3.8$Q MAK$-C^%-18_Y/AM*!GP@S9(_2^Y(,F$$SS #R6,WS F99#A#:6K,)<<-I("7 MN1_"IX$K\=PQ6-*+9U8.Z^GOOIXF?^,JAO,6KN7V;29X:&FF3P?6OX,Y.&,+W!)@'0^6?A](LBC-'7$M:BBZI?__[G_1R%NF+J*=< M[RR.MJ?(%U%&X_(Y9HV!QXRO#6,$[S\S[%MC[L>VJ=_4%QHFGIO.>8]T?2RE M?D:JK#!M:GQKI @72;L 0_2U^#,>I$\^='TKL%SGS&.V$5@W;(EK*16I@5>; M97E+%?JK"(XMB8&>.EPRI(G'1M\_^M_UY<7=4A&)ZUH)ON;6!K3-!?P5\. G M F%L%XIE4J^C8(ZHM1P0W>!,[ZP21=42HEQ/F#0",^G> HLE+F.^-//<&VL( M/UC.")>.TY2, 9@W":31&(\]-C8"T,.QK@6*N*$G!;>NY+/Q%"DC2Z\=YHWG M7 ^_=N#U#.8*[\#?@7Q^: ?PJRP-Y@O='P_C+XB#M(@PB-PP!1>SJ$]Y/Q'DE16H!E[\UF@T-;+NN^7R]IKM MC2YE"C^I\5T83/*H,?!=.PQ8P3)Y]W&8 MNJ_EB?[=R>W=:;="5"^"ZFI3:Q/5#T[U5E,EJA\>ZQW".FF8>E =- RI&%(Q M-:$ZJ9BCJ!CRV/,D^[YW3K?M4P^;+)F.R Q<>YAOKNQA#K16\KQ?##)#II>' MBU$[RO/5?U\\&V279KHVKO?[1[U']SP :O777/$YYDWR;+AU!V)=3SS&I"G\ M8>)+S!FRH?0^=)BD*[*D*9J>)1J)PJF+@K9-%(0";S?U4C7:WAOW(LRZ0H>= M?3()#@\>OG$JU9.&?U&O)M00V(;L&2ZXCLDMN MJ@]\Q;WP3<:**X9/-L"O;$P-\$HMP_9/X&9%@;B]^PK"YC.VQ806-@^&Q(!=5S%;C:4^$(89_]1%KORWU%RX)]OK _O.G?#_8M7>ZF<5_)L- ;K ,@S3S+9!0/>H"X4ONH%4^M-%DD MV^2X+ZN=_.Q7O5A-Z+_+8:L*_'N*2M@G[.?JM54%^Z#Z^YW^Z07A1!JD'\Y6 ML8"U)6S+87&1$WXU*"X1M:8N$W8CP7)+,%@>"*&(WL8]WK&+W1=T\%C"E>ZN M)/H]65';%-\@[.<6NCOV4O]EEQX[EH)UTS(KL.2"\^)*T$.?HG"#?H< M("7,:_EG3%?+^#3S9J*WZEL*[*BYY2PFH$_9I>J03- MKRI%5,6@*Y44(:2;-72EDL(E-<=^U<%/5RH)_#G' X^]5+I225#B03P_) M\0$E(;E62%Y-,ZL\DI/3QK)[1(<'-?E1)Q>;7N-C%;V^#?)Z\ 77U?"@__<_M:,\7_UWI<"LZ=JX MWN\?]1[=-PNOW]2[9;JG8C(G8-X>Q+JRODE3^'CB2\P9LJ'T/G28I"NRI"F: MGB49"<*I"X*V31"$ M9#"J,Q8D,9PAI\JF+[T8>-*SEUL?NW =/[0#&)H@]B"(:4>GPT,@)FY/D@FM ME0G=ZDNF'<(M@3[.O5E**OR5I'K7A< MZ(WUC0VEF6>9C )"#Q!7JB5>V282W;[<4RD60.BO9Q,)5>ZW^H1^0G\M^TCT M5+G;.<'FL-1'HN1R4J=RXE4OI:^"EM 5ZKM)X*]C(XF6(NL] C^!OXZ-)#1- ME3MI]%;0A4BZ M74,7(NG:& &;+D369,EU1';)3?7)7XB\<*=3YID6UHNA\%8)]TJUN C9DM4V M)=_4#(!E0J FMUOYG>T1 *L P%+=@\2[X/U^ <[$D0,];UV8MC-E3D Y4W0S MIE;W(#L@TFJ/$D8(]O6Z!ZEWY:[2)MP3[NMU$5)56K*N%5'+XI .V^< 66DQ M/[^L>2WOK/EZ(9]NUU3\9B7(B-Q.*P8*+Q#\ZW2U4L_/&ZP7HPG[5;]8B;J_ MT^Z=7F"/;E:67%#J=+^FZG?+Z&8E@3_O>."QETHW*PG\ASG$+>%2Z68EW:RL M?.)%"9=,-RMKL>1: IN078,EUQ'95;7,IW>S\BUSQ\":R5SB%RMSBMX]T?%MXK%YZ$">W I\Q4 M:QL&.W; =^_8=H9MZQ+:RARTSO \S9F9QQJ<-X]>2LFAYJZ373K/)(3HX;U[E$SP(#5G9(1*K:'I <6C M#GME7>-HA'R(EF*WR9R >3$9M=:"V?%%*SU%E]2___U/>CD+G[UANK;KG<7 M39$OHHS&,3QFC8''C*\-8P3O/S/L6V/N1XOM]IMZ+!-G"?:1PI**='TLI7Y& MJJPP;6I\:Z0(%XE,PV8C##7RK\6?>5'\47SH^E9@N2 %S#8"ZX8M<2WB.08J M-="X69:WU&9WE>=YPYRS1D\)I"%-/#;Z_M'_KB\OUHH _@R:TYL:=B;6&'WT MZ.4U8E!R1](%_!7PX"<"86P7BF52KZ,@!WD"%:'K ":V,?/96?Q#>LE(V8BJ M.+XIYI7E8TH71DQ45H@?>/%;XSBSH-G.L?;NQO.R%$52X^-E])'MWL9Z)OZ= MJ\:2I_(GA_9]\\)V[Q/ M/;E\IFU;Q -GO/W?_]2.\GSUWY7& J9KXWJ_?]1[=,^@=ZM_[.O:2_'B; !Q M!V)=3SS&I"G\8>)+S!FRH?0^M.>2*DN:HFE9FI$DG+HD:-LD0>CO=E/7*@W[ MUP[SQO/[M!H1KN21EUX.".A'I\/#( /,AC5&0N2&,Z04V73EUX,/.G9RZV/ M7;B.']H!#$T0>Q#$2E7S9G_CR@MFD FME0G=ZDRF/<S)XVNH9YH-ZD&FE3I<]@/#R8ZL2DX#R_W/* M_V_5;LE:[;A,R*['DNN(;(R0G\B:4_ F8[64(#S9 +^R,37 *[4,V\^G M($RQ6X=29EU7LA'/D3M!:7R8XU%[(I2Q M,].R4+>PT64K-\-2>Y[7:K]<:>3K=4QL* CX!_WBQH[U5?D?6^@0 MT1OK&QM*,\\R&<6&[N^B42>9*G516C%A+7#>\K-A]>*V,%@D %46@%XWOZU+ MO5A-Z+_+=ZL.^O6VW%*+<.3*T$E,RJT8<;Z=Q"BP=6=T[]B5D8HZ!RKA4O[^1V=$OQK!/\[@GG'7NI>\%SZ5(]@Q_U6C(ANQY+KB.R"\Z3*T%N?HF"1F6D?N M*BKMUDNY6Z\)!%6YU>T0!&L%P9+=C>S):O<$KT:^Q3K/SI0Y 25/T=7(FET0 MT_IRKY.?:U-[GM=JEUQIY*L=6==[A'Q"?@WO1JJ5OQOY.4!>6O#]W'+HM;QS MZ.L%?;IK6?FK9BW8XJETV^PA!I $H,H"H+8IQD;HK^M=2U#_6OH6R:E$^.BN M9Y:'GNI=-?RV*:S?)@@^*_W$>FN)<$_W^#@L9=*=RT/#ONZ1@CKM6*Z MD5:/)=?Q1AHANPY+KB.RZ:YE6>Y:OF7N&%@SF4O\JF5>$3Q]_PA>-<)U*R2D MNYMTPXUNN-$--T(V(;M62Z[9WL,U].\F7FLP;GSZ*44GVSNRNHL4>H:'C@V# C+Z[ <'U,2 MEFN%Y=64LU/ W1/,6[UFUJ[3+=]3>8$S-N#6%?6-VD* M'T]\B3E#-I3>A_9<4F5)4S0M2S&2@U.7 VV;' C=WF[JQZWZ\E#0OW:8-Y[? MIX]'E$=TW*67 P+ZT>GP, C @PQ&=<:")(8SY%39]*47 T]Z]G+K8Q>NXX=V M $,3Q!X$L5*5D=D;8KP !9G0>IG0K:YDVF\\,GBM+)OQYS,+,&N9\-4NDIE9Z079,EUQ'9M;HD#)!OB5C:D!7JEEV#[55BGC<7Y=NBQUY):27VF[ND&PFFV62H9!K2/K M+>HV5R\,EJS55TN3NZU. ;[%D2,_GQTK: P,GPVI>&^NUUGK3H0J=#SJM>5V MCFU,:\_S6FV8*XW\CMS5^P1\ G[=6GWU-5EK%='1X9!.VQOK&QM*,\\R&06' M[N^B46^6*GZU-,(_X;^FS;G:?;G5[YY>2(Z: MU_/Q$@G^-X'\*W;GZ M+;G5TZL5\2L?[.L:)*S7BJF'43V6?'(%-@C9A.S:(INZRNUZ33"HR?UVBR!8*PB6['ZDVI6[K58!+L61PSUO79BV,V5.0/E3=#^R M9K?$6CU9T_+S;6K/\UKMDRN-?%T%KYYR!@GYM;L@V5-D154K'AOZ'" O+?A^ M;FGT6MYI]/6"/EVXK/Q]LWY';K>I#--##" )0)4%0.UV"?V$_II>MP3UW]5Z MIQ?AH^N6)9<4NFYY[*72=/O52Z;GEPV-G[A_"J M$:];(2%=WZ1+;G3)C2ZY$;()V;5:4.6V>XGN;-S&,-SIU'+Z7D:'-77F>I4M?XP+%Q0&!> M!^;XG)*P7"LLKR:=G0"6DT/'=8[1L\" M>6/R7B2DMK;*>["_W)F!;!P,QJF M8;-1( )1NT&8+R5^1\1&T[5M8^:SL_B'YSDL, 9'ZI,X9L;GT+"-N1L&9R/L M1!6C"R-K8E(Q7+).Z7WGU6EVVVNIN"9\=[?\]E;0S'/ULM*S!',PV L:!X\,W;&D0 M^I;#?%^:>1@KG\(/AC64!G,^ G.&4@CS>6:&/G"2>82I-9AZ*(+T,B'HUP@I M(\^=2F[H22/7@T< 13/F&8@G7[IE'I.LZ12@Y%F&C8\(/33Q&),, (UO?9.F M,/S$1PP!X-Z'#I-T198T1=/Y(^]#>RZI_ .-HVK%/MYCH?WL0J-5K5UH4THL M9T&^ /=C+%B^$PB^1\Z!JL6>@;;P8[(\SO#IT>2S\;X%!<;\3%0F $[ MG#'_#!<>V@'^&CW:/ Z'EWF(BUFSCC0K]*8N9;C0;O8.Q 7#EPR8*9(.;60\ M*\X"@(\?>*')#2A0R1AS1B5LDB7?'06W\&8)X,LL*9TC@.#FV&B2A0#+']1EH:"7+YA P9Q('CA+3R-X\6DX*P6)12 *0F_[FYS/4 \:CRQL.XBFF,<\U-8SCQ=,5W%V:8:O7;.\S M0WA>V7F&0KZ>#:V;ER_@GQB"ILT,#Z-9D^=#RP=E-3_C3L^2?ZUS!QM^C])B ME*:.KF[*H7Z4&38S5L-DMKWL%FN;Z$%.^/[ M/NN&+7$MM8/2U&8GR_*6*K8W17!L23_KJ8">(0&P1]\_^M_UY<7:J-E6S_Z: M;T9!>:!]15.3./K&RZU"L4SJ=10\N-':9I;N\+.VVYZ4-6DW^QEKT@IUP+?,U^UO;6\%=]U6!IR"V._K$8N]E-?>NY MOB_][+DC*]C5(VU*DOC:C'\M!0:MU^P\1MI\UU*:G0PF]%93?2R-^??$9.5[ MZH1Q^MT@Y]_IZO*[%,#?/N_:A!34ANFAEL'@ 7X=% /AJ_HQB,%A3<5+U[FI MN*H!EX-(@]U:L%O'[QH#GSDFMSRPSK^YEQH87A#.(D#B:AQ 2\C+3\T7,==@ M F(DHFJ.&7I(LF'(-1V.ZS, Z5#Z)X2Q .,P_,CRP;&2YF"UA',X" / _I ? M#( $P.*C]6S]KE[*?=A;!I8,9BGVT."46""D7.E([-L,MMO,YULQ:<.#3_" M3%.>O_T_8SI[?LY_4Y\_30;(F@M]-2"DPW:J2),136PQ(=1%,']X$/@$ IT M&N5%65BT>$Y+YCX!)D?DZO?[J]_?9E)ALP_ L0P;YNV.1CX+4&:,9",3C:RF M1PX=>-PUH^VK-W.!'QFV'0-NOP-)8&[+))>S]@!7HS65]&I6#2'29.ZYMBT% MQK?H#VPZL]TYL'L > 0-%QF?76C7RKPM<,VOC0$')>())LEC[LN\71Y$3P\R M9*#V34M\D0O&%$^"_N4?K#&J#UGALGE-H\[B/P-S+*$UD]7("=(!M8GZM*88 M*6*1)Y&A[*)1\-WFC@ 2N\PYS$ MNA=/P$2,P_(0S1[S9RX_7I5N,&41_CL#;+I#?[VHH+IG_X2H[?G+?* ??LGR M_1 M2B#9+BC^: 8P7Q,#@\NKW8,%FQY3FLJ"H[6H9W#K ;E+L-Z'@:G5(E)U/")ER*WY'*XF$D$,CU0G_> MSX4QDD,P&!K?SX6OG1*^[1NN'1V:R+58&VL;<>_71UN?A,[*:,-%X23AET=2 M*8,\!'O$4.\:0L[:[J7X=P<\R\?W]5/O%P&?6&.WECZ#J ,W3MXX@(6 B[V&\., M:IPVTQE"Y91F,#,)R9Y$!N:I$.;?,6G!=+F:%L9E^0O" FH/%6X^9O1N/J;: M[.XVYO(^)#TY*ZV:C2" C40HDB46>U%5F+CWP'F\7_ F\5^U5A MF4W.).*,@HZ+0KM#L/#7^)C3ALHIQ;*>5\[[WD MTD2W\C/Y8AS"0BZEW9GUKL*=.@2^O0K[HE3^PQ(5KF#[O&.:PII'*YBD(.%, M=TX\T+I-;4WB02N=>+ Y=6;56*UY/F6J[L@ZQ06CA8U,0RZ9"3L?7M/)U/J3 MJ3:=3-')5,5.IO;/^-%2?I50?VJS7Y3Z.[ULG_;RP9;>;!^ >I3I<\Q,G]YB M>\.9W@&UG?BS.?,\6DUUDGPZCS>@?RG%IX='3#O*RIH$'W_O#)]N*F-GZ_1: M+3QSWVEZ1Y*IPR0B]#)@QV/I8L!>=!*"MGS"KJ5S6W-?RE&4[%;./B1%H;-T M1"PR6^_,4,A^>?E\6>RR(HZO\F#[2@KU1](*UE^G38\1QCM./H*N8-(!YB/T MU*6D))WKT_4Y OO(TTHV0D=?'/N)-VF83+OSF^J2BS"R/#^0)H8]VB\/8>/W MJIZ#L'R.GSFV#)A5H MJ=.0#6?E\@XV;R73(,-O8<#'VP6%;QDB';6:O="F[ 7*7J#LA4W9"YTUV0O[ M6([UN0MJ6IYW3U[8:((H=6'WU 5MR;W5=)5'\PH*[50G;6&>V>W04='R45&' MCHKHJ*@21T6'S@124Y[VO0SE2AY0*Y7>O$<$X#A90"(VCT,ZKM/@6W O#@08 MDNNP1F!%0\=K1**.'>!H]M*! 8\)YU"R#5#8?+.>!KP":%]P/8LV*:F!."+;(MJ&5-H9VSUDQ9U/B)3)FR8H(" M+WYKW'@@JDQT5Z4^7E:(#]$&4[RQO&+***0&!V?;&\&F*JX@%__.?=8S8?AO M@0);#6[R=V/@NW88L*1?0K%6]NXB>KB\7:L\IGVFC:41-]9QTIO:QC8?Q((\ M6+"]Z&:[?40NI&J1K3*D7HQH-WLZ<:($G-!(),K!"-)-96$$Z";B1(Z<>'C+ MUJT>;-&$.$A)\&T^8LD6";L=_/#[1^U']UUPEP?LLO7#U=DWB6ZV80;6#2^_E8\%.MJ2"C<]!T7A+BTQ'WS6G;N3M](% M4[]'#\R>W%?Z>9N1(Q*!L'F?L\Y#L&4G/#[1Y7:G_S0/=7]4T[:D+M\Y\<6J MO"U F5:9X7"4?[]OKUKRYJJU;5([GM(8MR.?F91 M/7C4R$/.5?[LJ+W(^T0E-;NE*Y?>"SY/[A.*:W9.X"L937M +3ZGX54W\ K'#H(!Q#-\1[?D?1$3G&',NXUGSVA3V]0_M"$I%"MH)'7VL^(M)2 ME3OVBL_X+>82=H,0EZUY%0NP>2O%<^)Z*Y9C6PYK#&S7_!I+<%N,GWO-RPWW MR;=.+4T9_$YD?COIJ6+E '$+?R[YB_7;R7WT^**_ X/!Z^/+_N@8#-@712+P'),HOBC M> 9G%97A.1][3-0R>X*?1IT4?TT&6*K6$_=6Y-6=%S4JP>GYV? "Z9TLO0O8 M%*L8?'(#)JGQ@)OA<^F-#2N M!VM1&K_(ZA=7CUAI8!VO 6@20118W=3X"I]*(PL+<WFI M-P^69\VB2GU)+0>L!;4\U:9TZ:RO4;MUN'@.ZX:5.;9Y:?B[\;L$_<$\5;EL M$602Q!R%2&K)N#$LFU=R2 $?:Y#Z8523)$!:C3C+Q036CE']Y:!7>+\P!4[O*R'Q](CK^ !)\J9QW/U.+AX+9#X:S@)YHSCI@/P-Q_K MMC!>+N16]"MJ\/(KB^<3T8WZ0?IS9VAA>4Q17C6&MN7X@16$49D8'U:&DN[+ MHEB7C-7U8#!1I0QK68[Q3Y:-35] _<&"\&9BS'KVS1)'6VM7")1B4>D99/TP MF@LO9(L"P8O,1M@ GDZQT$TP 3P'MRXO+A-5\L/BC*)J39 ,U$29$U^QG!&6 M2!+E $5MW?CI5:GQ&5NO@=KR;BKH%1L$TF4B<'Y:T6S^)F\,=#A5=*"2*[F8 MR'.NYY:K[:."&Z(F"VU>%-FX=;! X:*:TS5H2.E<^N#"%#CJO^LHJ6)/;ACX M@2&*6Z:-5NIKL9D"W$O?M=-?OM.R16]JW_$B!'ZF0!0PRV8!L$G4D1>#B7*9 M0F,M+3 SBU<,Z DN=)O<$%E+$4J^>:$#4-;%$ 2IG&-N=E>?/*=DY2< DI&4-J MI.]4?5$ 'A\+';1/GL6+$MYI?Z(R551R<+GD8)=*#E+)P3*4'#R*>5J[H5I1 M?:#ROH'5]K%D=.PT\3*H?,AP!@X.^"DCAD_",-P$X&_"@P8KP9U(+-"?J7O, M7Y^JG6J@QP7_YX38GB]RM+I-K?VX*5WE[?(D[@[6Q3ODW@II(E82+Z67SU)P M):O;1+&=W&<1"(%SP835!?R4;/33S0Y$2;]7S&33 8 HPI7-U$8PE+8T&&^+T=S$!6B%]\P!N 4I'&*] ,W7KC;B MU=%-JO6OQ2*6^E*'BUTK6::6EXYN95^PJ&<9U=SG[UP4O829#_\.>7<+WM#$ M=1I\[N8$R,K[]H7@@O+&*9MJT.,'=W=)F(%&Q^K<8./AAU23EGCCF9JZ*$F/ MX]F6,8@[< L"[Y^M*"N*[-^ZWE<>%XSJ M9'KH$(L&L'Z&4QO1L!/C-T^9$Q>'7>I]LSSM]/(RO0A75Y(4K!71*S^ M JC$-O2_\4-_)A8 *X:YJQ%.P"8UDCXZP'$7<17/S 3OW>"%66\7+9Q$\X3M M>YRD(5E5->@B_;ED&C0&KK4F/SO2GNUFMRCEN?:M=_4GWUUO;AQ^M]E+L>#L M(+B<3"L]!,3E6\-:##,$H;7=61R)3EJGQG&%6>B!G/M1Z\?I+.3A$AY#!+7# MOY=KL>B#2L B(;*D$C!:D[$9^P_]>Q1/OQO]:2.W]JVB5U$K!PE8._R.$K $ MZW6%LV$O.0@]G\60QL8IF<99RY$E?'5L63PVP"U:TDS(WZ7OTL)QY^]+,V:Q M_T1O'"PX#)4,.A:GQVTM,1PM%GQ1-/X"AVL8';AE.Q M MM]I97S,\M159;H&U[DPR.]<,E[<"Z7X*;)G32Q/6E+4S7A]B74^"#*T!,UH. MQ%[RA): DNX3=&^@'+?5Y&<^[=B/BJ4H]J5\'N 5C0DP2LI[1IF,-^E"Q("C MCZ$GOJ4?,&G";!%P\&"7D. D=4X:]2Y8M/H2XAI_W^?'4'%/FT@=1'/"<(+: M?!@#&+"XT6'JZ28VL$!GT'=M)LY6UXUEC*,SP"%V44-XXC$9 M VLY GXFD8K,*WE<7QPJ S/M.2>1:8-K:HWFT;=C^H41R1)])88U_&4=UI1^ M8*8!"C;S>K3CJS2=P:OPG-(-QY.[B!3/UE^NYL^IUU8 M%CE>$W["N3\+Q-1@DX<P'.9*4D(JQK>T>5H MU/C!L'E8\VK"0"N>>Q[NGZSDN9LZC;U8&GQM\N'G@WW%M4U(@(:VB)/H6HSIUY$G+#0 +O_24" MY0#7B37S.9ID_B#L03$(V0"O&30;3R(01H]O5!'T^.IL<'4)]XM\@$0"?*Z. M<,*R-(F3&C"HG.W?N&C7G)SUY3%'ZB @Q8OP&VY P$!;^)S^<\3R#JT_> M59KWPETX"IQF4XRO^];8 8$T#0<5>Z2&HB$CG856AL=7 1^\76O,9RBJ6F45Q=U:AKXKC?@#8VX\<6>32S: MXD=:H@D[_*S+97B1$HKR/T6'+5"\'MJ:C,)*Z>?%YYAMM]HID2O\>0EZ*EU- M4!7C[#^ 6F_P3<5G/YW?.SARX+*WJU\2]?8^<&"FE] YRA*.SN/"B(@B*<7C MFU%TMU/.[Z*1( X+?<9G.)\!"O*;WAX7AK M*N(?%AZS(+IMW\6IBFEB]U!FS\0\!Z%OX#AAO-'!KDG@P'D]]Y+T#A\EWD0A)SV6^!QK9 M0N!C/XJ?]L2GO9G4+Q#^$&<)8W"!Y:=*INEA9^148_(2Q/-W%HN+Q29Q.>OQ M.+$ ;'M"AQ,2B(TU^R5OQOZ!^;Y8/I; RJT_\8\@1(66G M!B$H7P2I0N'\R0R/<'0T'/6;K5;Y:;811U)#TA=8RM=LE9TP!*9\P:0#F-H$ MIG* 22]7'\:]P50 D.JTBZ+#Q9-1 FKKOEJ@W2I%<'WC]=4GXM:N&_J&,_2? M)M=63T'4=$[A[)P)NPG5.Z0['7C2U%+??=^;&9 M?)16WB<#;KR[0>"^,]9P;";?&]P5B"^^6^I3S-LT8]F[3'&W'",-6MZ1AFI MH>0W&XZ\R(,G).:C[[JRJK:J%F@G/!.>"<\Y!P].?)$'OT%14G^T+H@^ +./ MC^@J:FA"]/UC!2>^R&TE(.J"Z,/D)QPS0'#L>,BB+[2-#6=]BF)6[UQU@QRG MDN4H<+\XD&K+'84R"0CQM4%\2^YUNP3XRF87' [P)Y)ST)75OD* KVS: 6GX M/0&OR3U-)\!7-A7A8( _E02%KIJC!T_)"46O[4W4M2_G,$,U^//0'59Y+B@> MP!B7=['WM%_=*IT.XOT^< MH;Q0('V_'??=W(]43A[U[3JAOENNPCTYA2$HVZ$ZV0Z\HF"FH;II^)-T5W4* MG>9_&IR5>1UD?NB&V*+^*+5*"[W#>/2EYF_5M:[<;><>OR#Q* ]F2#P>(!YJ M&\2##MZ*2ZTX.F:*$(_U9XQ'7VKNXM&3M6Z;A*.P-(RC(X9LQ_V%0Y<5127A M*"QEX^B(*4 X[LC>./I2\X^K:#G:C5-([W@6&,#03(?0^T^MN9A<#)K4)W'5 MARG\'%>#:*I]-EW3LS3;B#3=OC2A=L-T;=<[BZ&8ZI6Z.AQ_=;/#XL"1UFXJ M<=00>.JPA*22$0:NI$@*OC?=:Y33*9F%$ R8@6W,?'86__ \![9NH!R?0\,V MYFX8G(VL;VR8)E2TG @5V2C:?>?5:7:Q@L>:0AUW*\[>"NQY\="LJ"W)11K# M]YUK'X82O^$X,"EO:MCBDZCT:_115!S5E+[3NYN__PI M.V=#Z95GW(HWXWLEPY?E'YGTL2X8?!'/YS"=QQ7&H5! MZ#$)P."YMS L?,V3/)84;WGB!A/F2=@?23(":6K XS"YI]((GIN%'@@/XZ\* M)I8O<<0UI4N85X!3L6$JOF3 "WQSPH:A#2\%>>&C,%P!GZ#6X1-L-1.=LZ)O M2)P>($Y:R<3IAP780#$#NI:$A@/_#EP/F.&!*$8UA@"1AG1C>!:'AV<$ +XW M M'6NCI$^**LF%E,X!.>M "6\,+01^D: 73YC40ZUV"IF1FL%:R[<9NW M 8\=&(GS>1WK$F9$Z+79*.!\WM'6Y^B)6X-D)_!<&QQ]]:\BOCP)_@=<""6C)A:[!;\X\"[25 M8?X36L+4^TWI'< ,A !_D]!3R[#14H2> MQS#1%$:--.Q=('T3I;>!6PJJ;+T";@@M65^"UQ3GF]>$K?KF49P%A<)37TN M"YO&^( ^ NG"Q4GY@"KXB9\713[KCP42/[P0V #$)[ MPX ^"T<1;A%7]E!:WCDCF],QZ6]B2-;P^T=?S-D7E- OZI=67\4]CU&8X*=WRB/^O^Q2 M7H4L!BJH9\\8@[X.(T,0L6/FN7^#T1:,QP\,80'Q>PX;NZ"N0<8 !2:Z 7YR M*.\C,OF7$$"+3P<,7B]+(-&!ZZ%+9H.;SOD^B]2Y+VP%&HT!8PZZNK!:?%"R M.'4![X,Y(E70MRD5J3NWD? ^P8 C3?7WB06&W9K&!$46(N5!1D,[$ *X8 *R M;I0H+&!@;.G!J+-O\)R%YGD(G!RC')NNSV$?#RX&&*(+ZL>JS0]G,^"B.0$G MA.LG!N[$C*L,@!WW&5.:3:@Q'"5Z(\@5(-5GZ5=N?0VL$>;J ]S@RT"<\63Y M);"KNYXD$$9W UPD'_9:B/UAB* =>>X45N:$(TPW\6 \L2,+!W_S6<$FT XQ M$47H30>5N>GQ&S+@)L'&UP<_:#2R3* S]ZA,$\6,P2RG\!0Z-RB#5J(\$G#+ ML"$$YH^$IC71RX:Y1W]"OSYA)J=&6K/B7%V8*6P\@WAH?$O,J6298]<=P@07 MN@ >]IAI :6=:)LI+%OLX?L &> <[ +R=+T.(GHBM)0*;YDVP #CY/G0\N? M 8[.^,9C:3.K+QD+I:GCOO+.J%EFK(;);'MY#YK)JXI'*+A1C]9*[7\$$?5^ MBBZI?__[GYV"@"GR1931N T=L\8 !.!KPQC!^\\,^Q8$-(Y^]YOZ8KKFE;8J\#&T!SPK\&\L%#(\,HQ :L'K(1\\ D MP@]@.OE;%ULNG PN!">)WT,+"[LA0!/SQG.DO66B/Q6%K-%^,V!'*B22)5VT M&(_!CBH$)R//'='=8KBY._QTYCHB2CC"D#Q.C"_F-:[=9\DV*']O@0=?-LQ[ MX[8_;FL?S_EXP1A04&,$!&M.HQ(2&N+6""7])A'(IF,_$M@QER?5F+CJJH)XB+Q"& M2>WYX6'A,Z.B0*#S:7/TGTG@++(&(*"1:$$95F %C0',>"A'DIXHT&:"FD@7 MKGZ??V4Q1&I;:7!I,%U07?_"'PR?B_2MZWU%YQNT"X8U1) %G&^@%K_$SA?O M@YY ?;<(0P@O60S=E-9&5S7U<:PFLI-8,^G% RWM,7]HW1($/?2N>")M6%*/ MF"!EAB?"LAH,QB-"&]XH2ZVN>&K#*U7QQ!VOC .[ A5Q):*W7!O"%:"=H[8 MXZ>F&$?00#%_LZ;A-/E+M*63I4$8+#Z,GO+3SL#P;]#]@JJ@=^UHIPD2=,-L M?*.PC6+G-K'@TTA:)/?_V[O2YK21K?U75*F96\XMK" 0V^3>J2*VDW@F<7QM M9Y;W"R6DQF@B)$82L3V__CU+M]0"8< !+[$^V8"6[M.GSWZ>)@<0S*!$RNT9 M,][$^2O")%_9N$)Z\E<9G&IE@BHO;HG2=R,44R,&P]SV\ ME +J(D8' .,Z,!!D'A *J.PG(AU'GL'\D L=>1NI8KS# Q_/3:6C+6/RK/?( M9(JTG$]*+1F%&YQ4>Z5I?,3HO]PS2^9 V0 05N3APWQ0:.$MFJ4D"C)#K0P2 MGT4 6Z4PEV2,/\!^5Q&M&JM5L.&"Z(IM.)JLGWPA%L:@OTB5-9C@/Y,Z:61J!RSY$4$\<3'#RGX?OHX\-'MF$HBDPT9T\>YYG, MX ?@-6F\#$&:PG[[$D97L'B_HP5*Y,(+@/SJ91BC!7U!;P7"8C29'H3_(E-J M0ED.AC,[J1P4?NM3M# %WDEO@.\#QY_P?@+=%EYFRHT"&<78(!J* 4M\S$!^ M=8*9REIENP&M9PJ(@(S#&QWUV#&*-E11Y9&W+-%HV;K;*@8*TD&H. M'#P"1SS-L@%R-F1LRVH$+4S)+\5#50& 8+-BG.G 1!14SC*)-V("=& M?BH5:_E$BL2(0C2H4 8'J%[DTL)CAE3O\3#2Y%/!>J'M/IO2I&"#BBO@;=ZC MTAXD(SF"3NF#I@A^%-0DX)I1N5.4@'P)#I=FQ#,OLZMRQT\8& MBQ=&$]_-=CR\)TP<5VHS&44M6H!3W+JI;D_7V,CD_#FP&KRO1OM0;G)1L#9) M::*>) +CG9B"(\KQQNXXS)V4!3Z]%X:R8OFY1$B/)Z!7M6]I"7RD=/)92([M9'R@;V2 , M83$3KI+#:[61TA4U6<""(2/.%*D0$>@*)T#6R6,_5&>2;WER VD44DZI] 5E M;F;!R ^"XDMK.*#LW,R.QM*L9+ M*-P"3_$#&?4 <8LE3%(Y) Y8%+Z,DUPYZ _E_ASYQ<4^PN M"F>)G*\ :R.Z$<@OH4#_BU^*#@O%2Q'<932@F-$H"2-\8I0;R2J( MEW"HC7SRW!)8NHX/%2?ZE'*!#'@SH?*%P&M/$AE_6#5N(\ECK?(JXL0K47C, M+02EF\@&DJ1=_N=[SHI6#?8QPM; M6%V@HNIBA0BD$ [OUX*%OIS7.'@6 5OF[[H:1Z5I-]-8H&U!I8QDNY&:N2>H M?"HO!G,F./I_9"@$8Q[@ZK!KDBN<0%RJG<0!/O)R% WFJ!UEQSVI?08:!R3< M_$"STF<2"+)2.>_#RJ6>]! W&!LGHV:I*L2K87P$73E:833@T2?E:H>7/YKEI[$GV?-?O MGTKN?&D:%Y$:L-2[N;.?%,8 VWI$L:<;'@,^A@I4)S,L;G&^Z#6+Q$K8MJ?* M5]G3^1'J;YSD@+9#''M>FV"U%LUEL+(:!;A?&9H&RM)HK/ ML:7$B;UMR^+Y*(XUWS$FORN?BBI07!(?D8;G@[8A[KHJ\RUSG$B Q:;*Q(MI M_3!C!O):QE_+Q%@5<#[VP+>LOVPYWC#>K/1&31'0V]@ MBZX]&#:&UF#H.?;(;33/Y+0:9W[R9JH?8,'0\>V$.%FR1UL'H. Z*JD@X9F$J_T@P8 M!9@4(0<2*GL8.7[,Y4E4/Y1?10#.HR"Z2O),+:MFML0U0SY5W7J<=,[5M!^" M:S)#[<=%SUP&M?0BCHIRT0YEQ^7[,%Z4OVV^BUE.L@^ M:L%VCH*H9YO&' F=-(W]X4R!+@2!NH$N2$#M^\2I95,I&#]!!!*5*F2P>_J! M*A:685*,'8_7FG+J^ ^2"U9*M0[\8#7-MH+KP75$TK#;'&-@+:$+&>\;"[2H MV=(88B$)%A"X8^%^(1.0#2Q9N_+FXR?CO1,#*8TW3O@%;#:S3RZR%W%^/KQT MN(@NC1TV(;&N5[K[V.C"UW%UC#_ERD=TM4 A3+U[][H-4+;=86T/G7+7+$6 M'/B9ZU M\+%DNL6D51F.3-[]7\,2-B>\J6FH,TO1EV[!H($]XKACKL/#& )" MTB0%3)H"(DVRI B_""-UA;5Z&GA *3!.;0X.:OE-RT9>0*.:OYWPIFS3RBX M$LL^#!(K3*$KC%=(UR:OJLP(N021AI (7ORL0!#FJ&T:1Y*D"S.^RPHI@"D- MUD5A3&7%UI<1&,LA=^-KL$!]U6JRM7A0XPX;8!D1<_VKG(96_@V:E*U[][ W MG-GI+$[0DLD@1N;(7C/V,,-''O60W;\5$"_SR"1E.(%4F6N"S^ ; 5U3KA'9,UPL*UN6@UPH])( MQNY,_"1+!Y*I%-OYK(H@+.J>PB,:I8_ :1:$N">H&Y$1\'#N?)[&!R$Q0,Z0 M#5ZK7)A78XN,'N,Z(1??:^5Z((3K/\HZ5WQ:UE"EFL)0:=-R$Q$Y:JYW(LSE M4OL$\80Q(&JLX8BX+-@K#;/?PBYSL="_F0?QJY!CHFPIRL7GO $E]Z9@&SID MW/E<7#H2(GO:#'.9GIZ4+ CP4CE+A;+ELG;Y^!5'Q6R.%GA'6_>Z:==_Q&0! MO"F<3=9;8-F AQE&>=4(/"B]KRUKD79E"80-?6>;_=[6HSJ,UM MN<*$5.T^]YG0 +7QH;E8*#"EUC;%-0N7JZ4IHY!)NT_6NE+F+*/-;4A%Y5AH M#O50:AU9TPC$6-9;G36@4'02MT'18+NBTGG58C!C.I$/(*]2F5-0QM0I?DWQ M>)"V/UB:P8(VZSS\2:6E=Z"E4:H4#&FN > V(*D'R;L$%@J"2>;]-,Q6MEB$ ME41P?9ELG9-C0WJR?%,3N^@4)PI%W-M,,&AIEO(L6(0UW<_(BM%S/#"]>RKKS*$ZCVN7?#;E^TLC-M-5*\UQ M5JR*MD72,M%QOPKLO**66;/UHY+6SN4E]N<3&D*^CTN-D&6N0.GZQ$"YT0Q& M5;Y4%&F5J52?L [SV7H$[? T%ZX2(FO,;-D\K,6(?V%2CV<6]?4'7>5Z[ICK M:52YGBK7LY5<3[WIM>U&SQF,NM9P8+O-X< 96?5!4_0ZEM-VAO5.NYCK 3/" MIM:#*$A IYS&D2L\3(H,.@VKNZLDSTI434SAV";["H8:'[?Y92/<69+F<:$\ MSH=YT18@O>UE&2PN=U44FF84(C /+3!R-@N$]+^:SK[5VA,O^2/>AC\:5FO? MXQ\T<^A(,-,^L6JV*^688:JX7*N M)!]T7I7F">R:DX 9H41-1&S# LIMWMDWU"NWP"TBHPNCKG&QT$Y!)(+=Y@>< MEP*S:.(7(@N%F[IB"(S34A!!MDMD$.V#^D24KJNR/;3KY3FJY4( ,,E22 MQZG.CPZR"%0,*Y#D"X*3I-:155('KF MY%R#A=!Y=]W99!;D?9?19#(+_:RT&\W/O!1=SWM1#'KLBQ$\$YY/3O0G1-82 M<J*K[_"59SDZK:-R8A>B92UE%(:2JZ W%@>2K5@OF\K-&WN0@%ACG MSBA0N^LP\?4R*$^/7'-PE*[*9E;C(R,P:!6%9,=@476<]W*7G@5P7[7!#[H% MYFS&WI9+)4\B#>N%0=QAGV00-%%@8$)."W;F=>09S(V&H2'Q=Q"5/58*DA0; M)6=DN $-\P7%7QHM7E_;;*Q;Y93U5N01R MV/&Q"D'0! QM!G.'?&# HOGAZ%W_P^G9IX.CH\/CDW?G [O1LZS>XRZ4M4S# M^$#MGA19$;BC'K:!<:Z.S> ,6PR[0$?NZ0)3X"164@'LEN%<[R''#.4B0 M9$=R,3K>4 D@!H5\H"+4X\4V5:U]*%$]89JO3K7+V4%CV-Y&5:MP5TS-FNAO M@L>$CQ">MCAY/WGA9JQ54(=[%(XT53Z21RD>8PP?'#IX1[< M''G38TF)#A8-<= (]AFBIY.EG]??2@+K3;97"G*4? M_'$5>#B664QY]E#G\ M&(VH"/U;)*HL7RJG*TQ!>VVV\_ - >+^JL@7P3F6D9+0!2=1NJ,(SVYZ\-X( M0AC4=W4T2Q$/4B&Z(!=30]XLG&+=C$M&+GMV6F@&B_])=TQSW2$QEB6V;T(P MHP3?D"$27VL(G73&@HXT0:T8JI/@:]95C;LC1H]S+)RO/D,7+VWU5LBLA?QFJ.$&R0,1)2#Z4H97*,^*$QF%FC&*%]B&\5?IP G]ZIQ; M-1:E$H#YO5\\IZ=,B*71)5=-L10L"@9&V-"E >/!JNDP+0JXOCBPA3U$1]>5/<6 M$2A5WPS7LMP8EQA6+,$&>!]=8=5:+;-6IGZX)-#)Q2>: 4+,P%L6=5K".(L@ MY9POV1DG"F\XLS\X9 0/94A/?!2M0BXP-4@J!8JH%]F4F7"2I710]/7(5+;[ M'E5X7;I*K>&PV>Z*WJ#=LAH#N]46 Z?EV0/1M>OMEM=K">$N]-U9?>SR>LM' MNCQRQZ$/G@..UI##-1[.:V!$")8GBU@0LFZ>6F#4:3E8H(R(:>/%1]S6IZ4N48!]9G]0.LL/Z"FO M/JJVY#P]/ (T2P@L%BS"]!<[^!C[#J^/,//)&4YU$ U1*AD[L.\Y%H\K7GTS:MSI.?SZKE;UAF??7ROTICY.QO MYV*Y6=6QS--K@QK0#)66D+]S0F#9KS(UL.QGS (L_KCC_?,8)[;[$/P\RY8J MITQTWQ:?Y\Z=DQD93Z !2 7?=L-_AK'QZN>5EYVS%CN5FLW+5/MZJZY+MN>[ MQ+<1N"][K4X)RV%;RW;JP/1/@15H_>ZT:"R^JT5;9[?-[Q+,+)#_A$8QG<@2 MW* G1 !7L#"!$U((YE2>[;'A JU01M6:E:W91WDPGERU;>VT/5C&?MYJ:!RB M^1QOZ^F_(7C+2XW%+C &N:VG?W1NC#\%A?"* GX+S_ZA?K ZYEI,M>!J/C-"T6YLO-Z4JY21\,R)]5V[Y/>H&QJ] M.>6 1H5LK;ZS:OB.&=&J=>W>737!=TR7'V".S=:=Q/YW3)5OE/'/B3*5_;\# M*I,P[\Q)^$(V[(E8_X^9R%:MU[ZS2JCH6/ <[,Y3\!P>,Q6?EEOQI"A9^1R[ MCK6K M7NW'=M+])J7("X)ULR+SYJ@C6LUA?=!HN8V!+>SAH.>TK4'3'=5;+=>RV^WN M0MM$Z_:XB\WQ5"(U4D:9/A>AC\CT69'Y_1T]M"6,FG"KK8\/Q'4= MQVW41=T>=.HC:V#;#6K'W[U< T,)]@&G)V<\!B8:#.>L9QA _9R?6 U+7M@NVY[T!-#9]!K MM=K"LX?-MCM:X)G6@$[F/@Y'T>-FF1:P# W5.,X! ;?(++?!(\N!^]>@-,.3 MV01N=JF_%:X_0^5[.&,,N8$]L 88FA]<1(/VH%GG#W;[S_3++]UW;S_/_G;J MA^D_?_UU>M-_8? \_OO"OT8"1*!5PY$3).*%$3H3F(QPO9\0!M.J#UM6/X[[ M? 3IV\"Y?$$K>.+$\2"Y_/@^FDRFP>?]3Z?IV9_-0[A\]=OO_SSR^&7JSO,.WQ4\YY;\]*I_S9.>Y];G=_' MGQN_^/_X;XZGOT6?[S)UL6SJFS[(O#^@]MM]WUSP;@35?K]>_(Z5X?T,LEU! MSF\URM"JH@Q5E.$;H@S%(SM::M ,?."T'1>,WT&OT6V!!S]R!T-WV!G4V\U6 MI^FXG9%3 GS0.OKC_?&;XXOS@5VWK4?>--X&X_CH>@RR)TU6UO#GN A/LAEY M7#8UR6::S,$7W2KMNK"1;NL>U3A1&P$BC^"!,TJ^J\^T'#^QM+D"2J[>0R%(16NST;K%M)$2?4UD3RFRM]6< MQ>UU6KKPWD3%=O;H-]&Y?$OC\MTU%+N3??V=L[)Q2,?^3@O!N3G9L+K:8I5J MW@F[=71:D%6RG!1-T]JL?.0A]D_G_@!'5BJM'0F(Y;SJJ!?N)\+=AX6-'3?] M23"7OM9'\:^_9U'Z>N58^++7+Z0C-$[3Z4^O7EU=79GP O,R^OJJ'[MC/##X ME? NG?B5YZ3.*ZO9J=NM^BO8VE;=[MCM7KT-_[7M[BNG874:S7KW'W&]WQQ8 MYCB=E(FQ#6FUT@][2P=$]N7Q2'30DB#@.L\XP.4=,2@E.&K'H1O%TR@_'>5W M/P@\&-X[\,&G-?S=-/;\["H^PP&H(QAE-HW*[LA.%SHCB"OY].S<[@RF['S? MJM'Y/=I!*N='!_A[?W:)QR13]U.]73SNZ2UB/YY$IM%L-O>M9MNV[9;0DY%-%\#+L(NF"#+N M7,82EW4TBT,\]T.B)<_!WF:G=N+VXY-3N( 1#[O$,^@=PXVF-[AOA>,BJC)L MKAEM*=H_L*>G\@03.I(U833V\'(?$=\-3PS312-#GL*#E@:==Y\F>!)*XGN^ M$S/(/6+\S])QQ&>P3F,0!_X4H^&W)J)0>^89<<#+D=47<]% MPVV\ Q_MGF;^XN=9*!Z4RKT2/_0YZX1&I1,JG7"/.J%Q/SJAE-TW41-MXTB> MA2 =6 5&2HIB?6'=V$5 +13/28XU+=/Z=R68*L$D!9,F59IU#,!;]V=IYD$P MF?H[&/MB!!L>G' R(S^-X%<1&]-9G,R>\)'ECM3SY M:98!$VO>?.;)]UURD*U>T^8@%G=\%-Z!S^^\YK9F?DK2LXHKB2&[N6&PTP."K! M40F.I8*C\4 61W*;R8$FQ3I2Q>KR=O]LGIL'II(OK?I:,J('GE$E(S!T8IG' M)^>5E'@Z4F)E..R8,#6,/]ZS8WM\5KS\VE-?9PDK9SK% M,T/E6;_'6#(,4@@WZ*&3.@8EG(?R/&],2]%K4D<>KXPGC'J>]/:S9^3C4>][ MN; 6W]VV.C]X7VVK[W1;73C741A-;D!]I2*DY/2Y.Q83)]MGWS]_'_0_5/S] M?/C[P G<6(L\XA)B:S0T3-D@M48 M.U\QM2%"(YKXZ7SV\#@5$Z-=M_:&=&;\F;A4T;#S_5^UC(BQY[\T?,ZEX*GU M,>8O4>7N^?##530+/#P4WHTF4Y'ZJ'>"&WAU/!G- L,?P3N'@>_"=QYC9@NO MXLWU>=-J/SW6[ >!D;@@C6:!;'Z3')D85\"CMW.C\W*O]9)SV@M<:1H5YVPB MU6YM'WB4PSX./>ID!K8!81."-T#)7+3NT2/ *BL2-&$"3!%>&E,L^H8OG3C& MTJKE;N]]'4!4 >K>$5"W70'J5H"ZWW9LCX3/%=UZN]L;U0?MD6,/;+LW'/0Z MW<:@WG"M7KMC];QFY\7/&GSN^?&[D_[%Y[.C<_GU[D]28QA=C;RW0=7EX[OG MLT:ZV?A.-57-UN;?,S\F>4L6Z+EP<3E4T1I7P^YY+[.:M%5EL/Q0A54!]F-B M> A00U:H!S^#!1IS*PX, >S-!.@*/X!A@';%4(R=8(0-/_@@*K_E"^C)L9B% M'44L%4WN[UE44"C:;9Z:I_3OW-"Z'N" MT*59;@,"7V''WA:&+6C4!DC\Q[4&=\;+77_.7;/S5*?\%#AODSS.'63 CE([ M<];1G/K9WY)=+;D4!#=^^=\7C1?K<*S=,Y?FANZ52,L)0'=^=6(?U.-/"5A4 MP;X+J@DN^_WXPX?#_HGQ[NS3YU,%M')RL"3*4O'-]\@WJT[M78>3-B%5Q4J[ M8:6[H6T_G(AZE;PRUA13!S$]! SV7TWCR(F#FXJKGH^ *A"@C!4J'GA>// ? MOR1\Y* O?LG68XA@LL5#/R'_NN MBRB'F$C0&6PN3F1$_-O+BM6V4J;VK?&1^^ O"5';9#2?C2>U<0#D$;@%&YO_ M]Y52TRZ597G>Z1YOLX.\GQZ[%VFV K1]^)W&')NUDO3@U\CWRO/#N;1 MT&'DW<"?<3H)?OY_4$L#!!0 ( /J5 U<3,0NDTP@ ! K 8 =VQD M;BTR,#(S,#8S,'AE>#,Q9#$N:'1M[5IK;]NX$OTKW!2[30 _X[1)Y31 ZKA; M ]O'IN[=>S]2$FT1D44M2=GQ_?7W#"G;LIVT+M;=^F);H([%YW#FS)D9T9<_ MU>O]+.%9)&+V9OCV-Q:KJ)B(S+)("V[1.I,V84.5YSQC;X76,DW9*RWCL6#L M1:-]UF@U7CROUZ\NL52OG*.R@%TT.\W3UFF'M2Z"L_.@W6$?WK+C3\/>B1M\ M\[XW_,^'OM_TPZ=7OPUZ[*C>;/[1Z36;-\,;WX'5VVRH>6:DE2KC:;/9?W?$ MCA)K\Z#9G,UFC5FGH?2X.;QM)G:2GC53I8QHQ#8^NKJD%GP*'E]=3H3E+$JX M-L*^//HT?%V_P @K;2JN+IN+OWYLJ.+YU64LI\S8>2I>'DVX'LNL;E4>=%JY M[6)F$]T;8^[K,QG;)&BW6C]W2&6V/N(3FUKS M+?AKA):CIUTWVLC_"BR- Z8R$_5$>#D;[1==*^YMG:=RC-VHM>M5$F PH__M M4_^%1 C71)CY54*5QNCLWROW;X>#UH'=-S>S]:]9[,^B_9OU_]WN?AH-_]=&$WO[M MMS[AX^<9U-@PP:*&W33(:4THLQJ+A+9R-&K*)-.S/@FN@(9VC/5?:@K38:Z4G?DJ[ M5?^=J1'[ W07@_E^U:K(:^5R6=3H'J[>3O>@MU?<.!IGDSF[R]0L%>#[FE=< MJ:Y8X9"90J# :;C,&,_FK,BL+@2T@C#@H@A4R-D$3UKRE(UXA";-U$1:9I4? MMS4@$Y$PANLY#9GP.X%]*VL:M,40!ENFI#/:@P9$4B-T81B"F8$DL=!LEL@H M8::@C]7\F="B7(0.,)$&%$L:]\%."Y.+R E(Z^803<4XYA338A;.JVHX8!QT M]N8_CZ)!L)',H&\RW4J_-4 !P]&M*_TR&\&[.,4K?(_2(L::L&%%F3787Y)' MYC !H8=0A71C"8_2,F9C:R P=H&P1B.*% . "07#N>V,DR?B)F&C5,W, C!: MC*6Q2"XLX]3HY8:4M8K=S4*8+6D/V/1G>S/]<$U/OSRY.&V?=TUIW#*0D..H MT4CB\=B<."4.&-?"F0OJEV$J2*U, "-A*DU",VC8!+Q!W$'/L311JDR!><0H M6J7>;KE62$[1;-@QS!0+V-W;HG^/="Y#'GH-9[TM4F%*[N[P>OO9L?"BM)_% M_LD_2DH!,@\:VH216U>PY&U+ GW=;J.UW4;8C4Z\"3.,H%!TD%'7=1Q=\9-] M8>=&&&1=T)[CWR_;MT:A(>*%V7T*<70H8*9R)\_ZJM!8 /X[E<:Q D:)S*U# M.<^*3ZJ1:T@&D#TZ.)3-: MJ3 4,)R[&!=='(>@0H% J#GFA; KBSOC.LQ^;:T$HBXTCUOCQ07F@4A# T12HL5HA)P" MU7.&K',[-UC&O!W8R#\^G"XXZ& BF,3XI"14A7U<@EWXDB]'"\JX1E_.5UFX MR.6<-PBO" M>_E4FKGF^5EF4Y5.!9%TQL?E.S1=\H68Y*F:"_3.$N49@J^!"$;?2P1K?)_7 MU3?01<"NBW%A%A<$-49W2$X<=]]B77I=RA4"G MVQ,Z.71:"N$AP0NK%@W^9L:UK,&&!%R_O:&6REW,$7-W#"^/_"4#72WIA9R+ MT_L[!ALOVJ?$_XCAY?6$57FYXMEYXZS]5"PW2& M/+H;:U5D,17D2@<+XJW\?G&]HQ3J=$/(UEIQ7OY(#,Q9#(N:'1M[5MM4]NX M%OXKNNGL%F;B."'04HG?VHV'*L0;:\DIR0^^OO.9*=."^T MM%VXT,(,B2T=24?R\YP763GZE^<-LH1F(8O(^]''#R2289&RS)!0,6J@=,9- M0D8RSVE&/C*EN!#DG>+1A!'RIM79;[5;;UYYWO$1=-4OV\@L((=^U]]K[W5) M^S#8?QUTNN3R(]GY-.KO6N'3B_[HK\N!&_3RT[L/PSYI>+[_9[?O^Z>C4U^/YO-6K-N2ZJ)/[KR$Y.*?5](J5DK,E'C M^ A+X)/1Z/@H98:2,*%*,_.V\6ETYAV"A.%&L.,CO_IVLF,9S8^/(CXEVLP% M>]M(J9KPS#,R#[KMW/2@I0_5:S(WWHQ')@DZ[?8OO9Q&$<\FGF"Q@9)6]V!9 MIO@D619*-[E ,4$-GS+LO=9O*!A5P5B:I+<^Q+:6>=4NEIGQ8IIR,0]>CGC* M-#EG,W(E4YJ];+H2^-9,\?AESTIK_E\&7<,$!<^8ES"G9ZOSIF?8C?&HX!,8 M#4M[;DD"$";XW]ES%ZC">$6%F>ME+$4$E8.;A(^Y^?5%YU6[U^VT]H[\,2QF M_A"*AX!KIKY5\W\/^J/AQ7FI>7N/] =7H^'9L'^"Q>3BC/3?#P=GY&QX?G+> M'YY\@"*H'5S=]PQOG\^P28"2*"DS\GN+#*@2\R8)F3(\GA.34!-8S0P="T;& M4D5,O6VT&R B1(G6Q;W.:5C>0PL%_U$UH2GV&%)1+K1=(;"WB.'PCNJK8)1GA&9S4F1&%0ST!@]M'3Q@@Y(4[A2G@L0TA")%9,H-,=+);0AD+&1: M4S5'D91>,QBWUJ>&L@B4@2$%S@K'0(&0*X@J0 SB# V: +0(X"%,B"[P8]E^ MQA0K.\$)I%R#]\.5=W&(8CIGH540^\U!-1G!- %TL"CC>7T9G@&^'4#=IPIP M1F*> 800C4O(- '=( [5JE;/LQ@L(<7H"*Y#4430)\"RAH\F0)JC]Q #*#EZ#&\B',DCD3L"D7A6"Z3)TZ%*O<[##G"J=@\C= MN5N.,73F>("#$#2^-7HXN*)"7S=:O#):#*/AC->9 Q(8"07WQ(;;(;X&L*=. M&[K[N&ESRC2L*P#'!@A?AG838Y>0%OKN33"(&#- :#F2"TMDH: #L,93KJV- M!RF6V7XP75IZA[J'!RLY> K014O!([M-HHNQYA&GBN,$ MN(N>K,_+L*="8T1C+86VX8_U"%(S4,B !\)&.44<%@(3.P+3LDHL(R-HX>*L M>G@(5V.&@N!KH#V+[LNW_#1L&C\I-MW9@F^0ZNZV_\[< CY.>824H5IF%G!4 M ]TP54 >4155F :6<3KF@ILY!E7;AD6&6_A;9#MRKHC64@WK4&_*">6%RH%9 MV@:!80B0MPK8I&/",HCM!! ,:EB.S$412*@^-#S]:D.4[-S2) 8J@3U?DRX5AXR= MV3TQW"[+BH5>NTZKA.I%[(>>P%*/1=9%VO4HW=><"'[-1+E!MB;?_.XEND^Z M/746'?RH6P%V[S^J.-A+,TR(ODKXKR-O&6A'87,7F. M<^LV]7,@]1,DXB<0+\4*3&@3P,>LX0?XVC==)*[IR#A4<2RQ;V'Q W&8.RNO1FLP!>/'BWJZ5A+41C6JZ"\.L5[QP,.@M(K MX[B64(G;2D8^B[OB-.[%5?G[>[BV>P$&K\P36_UMFAMC: M?XISLY;H\YG+W0ET'\C=._@,=&V?__G2?G:)YLF: JQ'7C60*>0Y7LAN! 0[5\-AK^]'UV!C0__F*=)G+#]C^9O"B@>9,5\-%/$ZX 9T#1', M"6]9_-Y33"?-OVEU%U& *VK;#,C] M',G^ONGX?U!+ P04 " #ZE0-7[Z-0-S ' !^,@ & '=L9&XM,C R M,S V,S!X97@S,F0Q+FAT;>U;>U/;.!#_*KITVL),_$HH#R=EAH:TY:X\"N$Z M_5.VY5A3QW(EF9#[]+>2[,1)2H&V%"AA!DBDU6IW]=O52EYW_[*L?I;@+"01 M>C\X_( B%A8CDDD4L-I-"0([=C>ANW:.YN6 MM=L%5KUR#,M\M.VTG9;;:B-WV]_8\KTV.CE$:^>#WKHFWC_N#3Z?],VD)^=O M/AST4,-RG$_MGN/L#_9-!W#WT(#C3%!)6893Q^D?-5 CD3+W'6<\'MOCMLWX MT!F<.HD:R R,=Z%Z@N;3&-)*)[[GN M\TZ.HXAF0RLEL806N[4S:^-TF,P:F5'.YR3%DEX0Q;W&-TP)YG[ 9-)9G.); M(_-J7,PR:<5X1-.)_W) 1T2@(S)&IVR$LY=-TP+_!>$T?MG1U(+^1X U*)C2 MC%@),7+:WDY'DDMIX90.83;5VC$F\8$8J5^O93XH$8(Y$<:&2\#2"#K[EPD- MJ'SQS-MT.^V6[76= (R9_P[!0\ UX37)KQ.V1[BD,0VQLC)B,>HEE,2H?TG" M0MD;'!/%Z;3OI."BP.!1DB%OVRA^;I_9/1MY[5=N\SX- M<*NEPP+M12Q7#E[726FTU3%Z[;B;RDPR(>@,\P!G1%C'ERF9H+U0JIZ6Z[9^ MB\(TBT!9O[V9?P^J!QD*69:14"^P#G5*]H\%YF"H=().2 M:WU4NGR"4!A!5'S'69$W3=]!%MIH3?%X\6R[U7([/3:"R#G1W[S..HH9UU-\ MG4Z1@U8L0@0$CM#?1490VVTB%3J;"$P>T[2*PMJL #T.7@\F4J#K7T)(RR 6 MPSPC*H3&::8I(PC%*"&<@*AUB8Q*E4!--$C S,*(OV^KV"X"FNFYKX)[N<2E M;DT#?ZZ7 ";_QT9]#)K56"Q[Q2(+@L-$2QM,4&C=^1VY1X)&Y5D(U\Y6:>V;9JYU[QU;; %M1Z.@ -8[]+G MXR(%[PP!H*GRMJD'Z.C'&AF%T>!P]&86D'KYM!J/0)HT0SB_\BD$[#Q2 R,(FC5**EPAZG> M%C@1"F)-U8TAZ89A( R$4.C( 7.BJ4?%T] *#".=#^IX#%1%:A#*8(O18R +1"EJ8X%\2O/M0MH_!0&D4EJDH_4* RA,Z#<2%9U6"2 M8-TRERN[,UB5-*JEEO8VD(8H9,8ZG=&0K^2L%L6L]M7H9A6*-[;L#>]Y/2=< M0$PM$Z\Q9\ P3MG83V@$B<;TNZ4DKEI-*QL:N2!K?=Z3J*\$YSN*OEJHV$SAM*:0YKY=_O MQ[T9,NR-S4< C!]2;=OV'@/HEW3346I^@_MQS[X+Z+:V%@_^0%(_D%BZ9?%$ M,CN U:%^S3;CW@+_OPCS=V2R*\WQ9N+?3GX#['*WJK;C_!(!S&B$GKGZYP$I MZ @'+8>W"PP;/8!%C&#CMT+8:%7^\/[X<.\,J2/:Z<'9FX.CI05>>:?_@W?O!\9%^2KMW^N'S"O!/%?#W M;8Y'=7VP7-ZP]/UBN %(/J?^%3^B$$T$5#!_^E<*2%JLKA54D M6$6"A2L%].W;A*JZQ#S/?6(%#;3:HLF H(B0$1";FM5R2%EKI"M? M0>"<":+KD.;J-[=O6"IGBCQ'NEC61GM(@$.H%PXX!6-"6-9>>T]AKD)KOFWZ"D2.A\0R-1\XEH3[^(+1J Q,6SMZ;RMS>]/F MZHH.\VJ%?E=C]W]02P$"% ,4 " #ZE0-7!(//TE03 "NO0 $0 M @ $ =VQD;BTR,#(S,#8S,"YX&UL4$L! A0#% @ ^I4#5\H1%%60*0 5UX" !4 M ( !02< '=L9&XM,C R,S V,S!?9&5F+GAM;%!+ 0(4 Q0 ( /J5 U=+ M41ZJ^6H %KA!@ 5 " 011 !W;&1N+3(P,C,P-C,P7VQA M8BYX;6Q02P$"% ,4 " #ZE0-7^B(F@YI( ^.P4 %0 M@ $PO =VQD;BTR,#(S,#8S,%]P&UL4$L! A0#% @ ^I4#5W74 M9&CU@P( 4/@C !4 ( !_00! '=L9&XM,C R,S V,S!X,3!Q M+FAT;5!+ 0(4 Q0 ( /J5 U<3,0NDTP@ ! K 8 " M 26) P!W;&1N+3(P,C,P-C,P>&5X,S%D,2YH=&U02P$"% ,4 " #ZE0-7 M,:R#,Q9#(N:'1M4$L! A0#% @ ^I4#5^^C4#