0001628280-23-036602.txt : 20231103 0001628280-23-036602.hdr.sgml : 20231103 20231103115340 ACCESSION NUMBER: 0001628280-23-036602 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 77 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231103 DATE AS OF CHANGE: 20231103 FILER: COMPANY DATA: COMPANY CONFORMED NAME: NV5 Global, Inc. CENTRAL INDEX KEY: 0001532961 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-MISCELLANEOUS BUSINESS SERVICES [7380] IRS NUMBER: 453458017 STATE OF INCORPORATION: DE FISCAL YEAR END: 1230 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-35849 FILM NUMBER: 231375105 BUSINESS ADDRESS: STREET 1: 200 SOUTH PARK ROAD STREET 2: SUITE 350 CITY: HOLLYWOOD STATE: FL ZIP: 33021 BUSINESS PHONE: (954) 495-2112 MAIL ADDRESS: STREET 1: 200 SOUTH PARK ROAD STREET 2: SUITE 350 CITY: HOLLYWOOD STATE: FL ZIP: 33021 FORMER COMPANY: FORMER CONFORMED NAME: NV5 Holdings, Inc. DATE OF NAME CHANGE: 20111018 10-Q 1 nvee-20230930.htm 10-Q nvee-20230930
00015329612023Q3false12/30P2Y00015329612023-01-012023-09-3000015329612023-10-27xbrli:shares00015329612023-09-30iso4217:USD00015329612022-12-31iso4217:USDxbrli:shares00015329612023-07-022023-09-3000015329612022-07-032022-10-0100015329612022-01-022022-10-010001532961us-gaap:CommonStockMember2022-07-020001532961us-gaap:AdditionalPaidInCapitalMember2022-07-020001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-020001532961us-gaap:RetainedEarningsMember2022-07-0200015329612022-07-020001532961us-gaap:AdditionalPaidInCapitalMember2022-07-032022-10-010001532961us-gaap:CommonStockMember2022-07-032022-10-010001532961us-gaap:RetainedEarningsMember2022-07-032022-10-010001532961us-gaap:CommonStockMember2022-10-010001532961us-gaap:AdditionalPaidInCapitalMember2022-10-010001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-10-010001532961us-gaap:RetainedEarningsMember2022-10-0100015329612022-10-010001532961us-gaap:CommonStockMember2023-07-010001532961us-gaap:AdditionalPaidInCapitalMember2023-07-010001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-010001532961us-gaap:RetainedEarningsMember2023-07-0100015329612023-07-010001532961us-gaap:AdditionalPaidInCapitalMember2023-07-022023-09-300001532961us-gaap:CommonStockMember2023-07-022023-09-300001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-022023-09-300001532961us-gaap:RetainedEarningsMember2023-07-022023-09-300001532961us-gaap:CommonStockMember2023-09-300001532961us-gaap:AdditionalPaidInCapitalMember2023-09-300001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001532961us-gaap:RetainedEarningsMember2023-09-300001532961us-gaap:CommonStockMember2022-01-010001532961us-gaap:AdditionalPaidInCapitalMember2022-01-010001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-010001532961us-gaap:RetainedEarningsMember2022-01-0100015329612022-01-010001532961us-gaap:AdditionalPaidInCapitalMember2022-01-022022-10-010001532961us-gaap:CommonStockMember2022-01-022022-10-010001532961us-gaap:RetainedEarningsMember2022-01-022022-10-010001532961us-gaap:CommonStockMember2022-12-310001532961us-gaap:AdditionalPaidInCapitalMember2022-12-310001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001532961us-gaap:RetainedEarningsMember2022-12-310001532961us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001532961us-gaap:CommonStockMember2023-01-012023-09-300001532961us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001532961us-gaap:RetainedEarningsMember2023-01-012023-09-3000015329612023-10-012023-09-300001532961nvee:PeriodOneMember2023-10-012023-09-3000015329612023-10-01nvee:PeriodTwoMember2023-09-300001532961us-gaap:RestrictedStockMember2023-01-012023-09-300001532961us-gaap:RestrictedStockMember2022-01-022022-10-010001532961nvee:VisualInformationSolutionsMember2023-04-062023-04-060001532961nvee:AximGeospatialLLCMember2023-02-222023-02-220001532961nvee:AximGeospatialLLCMembernvee:UncollateralizedPromissoryNoteMember2023-02-220001532961nvee:AximGeospatialLLCMember2023-02-220001532961nvee:OtherAcquisitionMember2023-01-012023-09-30nvee:acquisition0001532961nvee:OtherAcquisitionMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2022-01-022022-12-310001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMembernvee:UncollateralizedPromissoryNoteMember2022-12-310001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2022-12-310001532961nvee:VisualInformationSolutionsMember2023-09-300001532961nvee:AximGeospatialLLCMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2023-09-300001532961us-gaap:CustomerRelationshipsMembernvee:VisualInformationSolutionsMember2023-09-300001532961us-gaap:CustomerRelationshipsMembernvee:AximGeospatialLLCMember2023-09-300001532961us-gaap:CustomerRelationshipsMembernvee:OtherAcquisitionMember2023-09-300001532961us-gaap:CustomerRelationshipsMemberus-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2023-09-300001532961us-gaap:CustomerRelationshipsMemberus-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2022-12-310001532961nvee:VisualInformationSolutionsMemberus-gaap:TradeNamesMember2023-09-300001532961nvee:AximGeospatialLLCMemberus-gaap:TradeNamesMember2023-09-300001532961nvee:OtherAcquisitionMemberus-gaap:TradeNamesMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:TradeNamesMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:TradeNamesMember2022-12-310001532961us-gaap:CustomerListsMembernvee:VisualInformationSolutionsMember2023-09-300001532961us-gaap:CustomerListsMembernvee:AximGeospatialLLCMember2023-09-300001532961us-gaap:CustomerListsMembernvee:OtherAcquisitionMember2023-09-300001532961us-gaap:CustomerListsMemberus-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2023-09-300001532961us-gaap:CustomerListsMemberus-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2022-12-310001532961nvee:VisualInformationSolutionsMemberus-gaap:TechnologyBasedIntangibleAssetsMember2023-09-300001532961nvee:AximGeospatialLLCMemberus-gaap:TechnologyBasedIntangibleAssetsMember2023-09-300001532961nvee:OtherAcquisitionMemberus-gaap:TechnologyBasedIntangibleAssetsMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:TechnologyBasedIntangibleAssetsMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:TechnologyBasedIntangibleAssetsMember2022-12-310001532961nvee:VisualInformationSolutionsMemberus-gaap:NoncompeteAgreementsMember2023-09-300001532961nvee:AximGeospatialLLCMemberus-gaap:NoncompeteAgreementsMember2023-09-300001532961nvee:OtherAcquisitionMemberus-gaap:NoncompeteAgreementsMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:NoncompeteAgreementsMember2023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMemberus-gaap:NoncompeteAgreementsMember2022-12-310001532961nvee:VisualInformationSolutionsMember2023-01-012023-09-300001532961nvee:AximGeospatialLLCMember2023-01-012023-09-300001532961us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember2023-01-012023-09-300001532961us-gaap:FurnitureAndFixturesMember2023-09-300001532961us-gaap:FurnitureAndFixturesMember2022-12-310001532961us-gaap:ComputerEquipmentMember2023-09-300001532961us-gaap:ComputerEquipmentMember2022-12-310001532961nvee:SurveyAndFieldEquipmentMember2023-09-300001532961nvee:SurveyAndFieldEquipmentMember2022-12-310001532961us-gaap:LeaseholdImprovementsMember2023-09-300001532961us-gaap:LeaseholdImprovementsMember2022-12-310001532961nvee:OtherDirectCostsMember2023-07-022023-09-300001532961nvee:OtherDirectCostsMember2023-01-012023-09-300001532961nvee:OtherDirectCostsMember2022-07-032022-10-010001532961nvee:OtherDirectCostsMember2022-01-022022-10-010001532961nvee:INFMember2022-12-310001532961nvee:INFMember2023-01-012023-09-300001532961nvee:INFMember2023-09-300001532961nvee:BTSMember2022-12-310001532961nvee:BTSMember2023-01-012023-09-300001532961nvee:BTSMember2023-09-300001532961nvee:GEOMember2022-12-310001532961nvee:GEOMember2023-01-012023-09-300001532961nvee:GEOMember2023-09-300001532961us-gaap:CustomerRelationshipsMember2023-09-300001532961us-gaap:CustomerRelationshipsMember2022-12-310001532961us-gaap:TradeNamesMember2023-09-300001532961us-gaap:TradeNamesMember2022-12-310001532961us-gaap:CustomerListsMember2023-09-300001532961us-gaap:CustomerListsMember2022-12-310001532961us-gaap:NoncompeteAgreementsMember2023-09-300001532961us-gaap:NoncompeteAgreementsMember2022-12-310001532961nvee:DevelopedTechnologyMember2023-09-300001532961nvee:DevelopedTechnologyMember2022-12-310001532961us-gaap:CustomerRelationshipsMembersrt:MinimumMember2023-09-300001532961us-gaap:CustomerRelationshipsMembersrt:MaximumMember2023-09-300001532961us-gaap:TradeNamesMembersrt:MinimumMember2023-09-300001532961srt:MaximumMemberus-gaap:TradeNamesMember2023-09-300001532961us-gaap:CustomerListsMembersrt:MinimumMember2023-09-300001532961us-gaap:CustomerListsMembersrt:MaximumMember2023-09-300001532961us-gaap:NoncompeteAgreementsMembersrt:MinimumMember2023-09-300001532961srt:MaximumMemberus-gaap:NoncompeteAgreementsMember2023-09-300001532961nvee:DevelopedTechnologyMembersrt:MinimumMember2023-09-300001532961nvee:DevelopedTechnologyMembersrt:MaximumMember2023-09-300001532961us-gaap:CustomerRelationshipsMember2023-01-012023-09-300001532961us-gaap:TradeNamesMember2023-01-012023-09-300001532961us-gaap:CustomerListsMember2023-01-012023-09-300001532961us-gaap:NoncompeteAgreementsMember2023-01-012023-09-300001532961nvee:DevelopedTechnologyMember2023-01-012023-09-300001532961nvee:SeniorCreditFacilityMember2023-09-300001532961nvee:SeniorCreditFacilityMember2022-12-310001532961nvee:UncollateralizedPromissoryNoteMember2023-09-300001532961nvee:UncollateralizedPromissoryNoteMember2022-12-310001532961nvee:StockPayableMember2023-09-300001532961nvee:StockPayableMember2022-12-310001532961us-gaap:LineOfCreditMembernvee:SeniorCreditFacilityMember2016-12-070001532961us-gaap:RevolvingCreditFacilityMembernvee:SeniorCreditFacilityMember2016-12-070001532961us-gaap:RevolvingCreditFacilityMembernvee:SecondARCreditAgreementMember2021-08-130001532961us-gaap:RevolvingCreditFacilityMembernvee:SecondARCreditAgreementMember2021-08-132021-08-130001532961us-gaap:RevolvingCreditFacilityMembernvee:SeniorCreditFacilityMember2023-09-300001532961us-gaap:RevolvingCreditFacilityMembernvee:SeniorCreditFacilityMember2022-12-310001532961us-gaap:RevolvingCreditFacilityMembernvee:SecondARCreditAgreementMember2023-01-012023-09-30xbrli:pure0001532961us-gaap:RevolvingCreditFacilityMembernvee:SecondARCreditAgreementMember2023-09-300001532961nvee:SecondARCreditAgreementMember2023-09-300001532961nvee:ARCreditAgreementMember2023-09-300001532961nvee:ARCreditAgreementMember2023-07-022023-09-300001532961nvee:ARCreditAgreementMember2023-01-012023-09-300001532961nvee:ARCreditAgreementMember2022-07-032022-10-010001532961nvee:ARCreditAgreementMember2022-01-022022-10-0100015329612022-01-022022-12-310001532961nvee:EquityPlan2011Member2023-09-300001532961us-gaap:RestrictedStockMembernvee:EquityPlan2011Membersrt:MinimumMember2023-01-012023-09-300001532961us-gaap:RestrictedStockMembernvee:EquityPlan2011Membersrt:MaximumMember2023-01-012023-09-300001532961us-gaap:RestrictedStockMember2022-12-310001532961us-gaap:RestrictedStockMember2023-01-012023-09-300001532961us-gaap:RestrictedStockMember2023-09-300001532961us-gaap:RestrictedStockMember2023-07-022023-09-300001532961us-gaap:RestrictedStockMember2022-07-032022-10-010001532961us-gaap:RestrictedStockMember2022-01-022022-10-010001532961nvee:LiabilityBasedAwardsMember2023-07-022023-09-300001532961nvee:LiabilityBasedAwardsMember2023-01-012023-09-300001532961nvee:LiabilityBasedAwardsMember2022-07-032022-10-010001532961nvee:LiabilityBasedAwardsMember2022-01-022022-10-010001532961nvee:LiabilityBasedAwardsMember2023-09-30nvee:segment0001532961us-gaap:OperatingSegmentsMembernvee:INFMember2023-07-022023-09-300001532961us-gaap:OperatingSegmentsMembernvee:INFMember2022-07-032022-10-010001532961us-gaap:OperatingSegmentsMembernvee:INFMember2023-01-012023-09-300001532961us-gaap:OperatingSegmentsMembernvee:INFMember2022-01-022022-10-010001532961us-gaap:OperatingSegmentsMembernvee:BTSMember2023-07-022023-09-300001532961us-gaap:OperatingSegmentsMembernvee:BTSMember2022-07-032022-10-010001532961us-gaap:OperatingSegmentsMembernvee:BTSMember2023-01-012023-09-300001532961us-gaap:OperatingSegmentsMembernvee:BTSMember2022-01-022022-10-010001532961us-gaap:OperatingSegmentsMembernvee:GEOMember2023-07-022023-09-300001532961us-gaap:OperatingSegmentsMembernvee:GEOMember2022-07-032022-10-010001532961us-gaap:OperatingSegmentsMembernvee:GEOMember2023-01-012023-09-300001532961us-gaap:OperatingSegmentsMembernvee:GEOMember2022-01-022022-10-010001532961us-gaap:OperatingSegmentsMember2023-07-022023-09-300001532961us-gaap:OperatingSegmentsMember2022-07-032022-10-010001532961us-gaap:OperatingSegmentsMember2023-01-012023-09-300001532961us-gaap:OperatingSegmentsMember2022-01-022022-10-010001532961us-gaap:CorporateNonSegmentMember2023-07-022023-09-300001532961us-gaap:CorporateNonSegmentMember2022-07-032022-10-010001532961us-gaap:CorporateNonSegmentMember2023-01-012023-09-300001532961us-gaap:CorporateNonSegmentMember2022-01-022022-10-010001532961country:USnvee:INFMember2023-07-022023-09-300001532961country:USnvee:BTSMember2023-07-022023-09-300001532961country:USnvee:GEOMember2023-07-022023-09-300001532961country:US2023-07-022023-09-300001532961country:USnvee:INFMember2023-01-012023-09-300001532961country:USnvee:BTSMember2023-01-012023-09-300001532961country:USnvee:GEOMember2023-01-012023-09-300001532961country:US2023-01-012023-09-300001532961nvee:INFMemberus-gaap:NonUsMember2023-07-022023-09-300001532961nvee:BTSMemberus-gaap:NonUsMember2023-07-022023-09-300001532961nvee:GEOMemberus-gaap:NonUsMember2023-07-022023-09-300001532961us-gaap:NonUsMember2023-07-022023-09-300001532961nvee:INFMemberus-gaap:NonUsMember2023-01-012023-09-300001532961nvee:BTSMemberus-gaap:NonUsMember2023-01-012023-09-300001532961nvee:GEOMemberus-gaap:NonUsMember2023-01-012023-09-300001532961us-gaap:NonUsMember2023-01-012023-09-300001532961nvee:INFMember2023-07-022023-09-300001532961nvee:BTSMember2023-07-022023-09-300001532961nvee:GEOMember2023-07-022023-09-300001532961country:USnvee:INFMember2022-07-032022-10-010001532961country:USnvee:BTSMember2022-07-032022-10-010001532961country:USnvee:GEOMember2022-07-032022-10-010001532961country:US2022-07-032022-10-010001532961country:USnvee:INFMember2022-01-022022-10-010001532961country:USnvee:BTSMember2022-01-022022-10-010001532961country:USnvee:GEOMember2022-01-022022-10-010001532961country:US2022-01-022022-10-010001532961nvee:INFMemberus-gaap:NonUsMember2022-07-032022-10-010001532961nvee:BTSMemberus-gaap:NonUsMember2022-07-032022-10-010001532961nvee:GEOMemberus-gaap:NonUsMember2022-07-032022-10-010001532961us-gaap:NonUsMember2022-07-032022-10-010001532961nvee:INFMemberus-gaap:NonUsMember2022-01-022022-10-010001532961nvee:BTSMemberus-gaap:NonUsMember2022-01-022022-10-010001532961nvee:GEOMemberus-gaap:NonUsMember2022-01-022022-10-010001532961us-gaap:NonUsMember2022-01-022022-10-010001532961nvee:INFMember2022-07-032022-10-010001532961nvee:BTSMember2022-07-032022-10-010001532961nvee:GEOMember2022-07-032022-10-010001532961nvee:INFMember2022-01-022022-10-010001532961nvee:BTSMember2022-01-022022-10-010001532961nvee:GEOMember2022-01-022022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:INFMember2023-07-022023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:BTSMember2023-07-022023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:GEOMember2023-07-022023-09-300001532961nvee:PublicAndQuasiPublicSectorMember2023-07-022023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:INFMember2023-01-012023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:BTSMember2023-01-012023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:GEOMember2023-01-012023-09-300001532961nvee:PublicAndQuasiPublicSectorMember2023-01-012023-09-300001532961nvee:INFMembernvee:PrivateSectorMember2023-07-022023-09-300001532961nvee:BTSMembernvee:PrivateSectorMember2023-07-022023-09-300001532961nvee:GEOMembernvee:PrivateSectorMember2023-07-022023-09-300001532961nvee:PrivateSectorMember2023-07-022023-09-300001532961nvee:INFMembernvee:PrivateSectorMember2023-01-012023-09-300001532961nvee:BTSMembernvee:PrivateSectorMember2023-01-012023-09-300001532961nvee:GEOMembernvee:PrivateSectorMember2023-01-012023-09-300001532961nvee:PrivateSectorMember2023-01-012023-09-300001532961nvee:PublicAndQuasiPublicSectorMembernvee:INFMember2022-07-032022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:BTSMember2022-07-032022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:GEOMember2022-07-032022-10-010001532961nvee:PublicAndQuasiPublicSectorMember2022-07-032022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:INFMember2022-01-022022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:BTSMember2022-01-022022-10-010001532961nvee:PublicAndQuasiPublicSectorMembernvee:GEOMember2022-01-022022-10-010001532961nvee:PublicAndQuasiPublicSectorMember2022-01-022022-10-010001532961nvee:INFMembernvee:PrivateSectorMember2022-07-032022-10-010001532961nvee:BTSMembernvee:PrivateSectorMember2022-07-032022-10-010001532961nvee:GEOMembernvee:PrivateSectorMember2022-07-032022-10-010001532961nvee:PrivateSectorMember2022-07-032022-10-010001532961nvee:INFMembernvee:PrivateSectorMember2022-01-022022-10-010001532961nvee:BTSMembernvee:PrivateSectorMember2022-01-022022-10-010001532961nvee:GEOMembernvee:PrivateSectorMember2022-01-022022-10-010001532961nvee:PrivateSectorMember2022-01-022022-10-010001532961nvee:CostReimbursableContractsMembernvee:INFMember2023-07-022023-09-300001532961nvee:BTSMembernvee:CostReimbursableContractsMember2023-07-022023-09-300001532961nvee:CostReimbursableContractsMembernvee:GEOMember2023-07-022023-09-300001532961nvee:CostReimbursableContractsMember2023-07-022023-09-300001532961nvee:CostReimbursableContractsMembernvee:INFMember2023-01-012023-09-300001532961nvee:BTSMembernvee:CostReimbursableContractsMember2023-01-012023-09-300001532961nvee:CostReimbursableContractsMembernvee:GEOMember2023-01-012023-09-300001532961nvee:CostReimbursableContractsMember2023-01-012023-09-300001532961nvee:INFMemberus-gaap:FixedPriceContractMember2023-07-022023-09-300001532961nvee:BTSMemberus-gaap:FixedPriceContractMember2023-07-022023-09-300001532961nvee:GEOMemberus-gaap:FixedPriceContractMember2023-07-022023-09-300001532961us-gaap:FixedPriceContractMember2023-07-022023-09-300001532961nvee:INFMemberus-gaap:FixedPriceContractMember2023-01-012023-09-300001532961nvee:BTSMemberus-gaap:FixedPriceContractMember2023-01-012023-09-300001532961nvee:GEOMemberus-gaap:FixedPriceContractMember2023-01-012023-09-300001532961us-gaap:FixedPriceContractMember2023-01-012023-09-300001532961nvee:CostReimbursableContractsMembernvee:INFMember2022-07-032022-10-010001532961nvee:BTSMembernvee:CostReimbursableContractsMember2022-07-032022-10-010001532961nvee:CostReimbursableContractsMembernvee:GEOMember2022-07-032022-10-010001532961nvee:CostReimbursableContractsMember2022-07-032022-10-010001532961nvee:CostReimbursableContractsMembernvee:INFMember2022-01-022022-10-010001532961nvee:BTSMembernvee:CostReimbursableContractsMember2022-01-022022-10-010001532961nvee:CostReimbursableContractsMembernvee:GEOMember2022-01-022022-10-010001532961nvee:CostReimbursableContractsMember2022-01-022022-10-010001532961nvee:INFMemberus-gaap:FixedPriceContractMember2022-07-032022-10-010001532961nvee:BTSMemberus-gaap:FixedPriceContractMember2022-07-032022-10-010001532961nvee:GEOMemberus-gaap:FixedPriceContractMember2022-07-032022-10-010001532961us-gaap:FixedPriceContractMember2022-07-032022-10-010001532961nvee:INFMemberus-gaap:FixedPriceContractMember2022-01-022022-10-010001532961nvee:BTSMemberus-gaap:FixedPriceContractMember2022-01-022022-10-010001532961nvee:GEOMemberus-gaap:FixedPriceContractMember2022-01-022022-10-010001532961us-gaap:FixedPriceContractMember2022-01-022022-10-010001532961us-gaap:AccumulatedTranslationAdjustmentMember2022-12-310001532961us-gaap:AccumulatedTranslationAdjustmentMember2023-09-30

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
_______________________________________________________
FORM 10-Q
_______________________________________________________
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended September 30, 2023
OR
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from                      to
Commission File Number 001-35849
_______________________________________________________
NV5 Global, Inc.
(Exact name of registrant as specified in its charter)
_______________________________________________________
Delaware45-3458017
(State or other jurisdiction of incorporation or organization)(I.R.S. Employer Identification No.)
200 South Park Road,Suite 350
Hollywood,Florida33021
(Address of principal executive offices)(Zip Code)

(954495-2112
(Registrant’s telephone number, including area code)
_______________________________________________________
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, $0.01 par valueNVEEThe NASDAQ Stock 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 October 27, 2023, there were 15,895,937 shares outstanding of the registrant’s common stock, $0.01 par value.




NV5 GLOBAL, INC.
INDEX
Page



PART I – FINANCIAL INFORMATION

ITEM 1.    FINANCIAL STATEMENTS.
NV5 Global, Inc. and Subsidiaries
CONSOLIDATED BALANCE SHEETS
(UNAUDITED)
(in thousands, except share data)
September 30, 2023December 31, 2022
Assets
Current assets:  
Cash and cash equivalents$46,439 $38,541 
Billed receivables, net166,859 145,637 
Unbilled receivables, net122,049 92,862 
Prepaid expenses and other current assets14,239 13,636 
Total current assets349,586 290,676 
Property and equipment, net49,930 41,640 
Right-of-use lease assets, net39,105 39,314 
Intangible assets, net236,433 160,431 
Goodwill527,030 400,957 
Other assets3,881 2,705 
Total assets$1,205,965 $935,723 
Liabilities and Stockholders’ Equity
Current liabilities:
Accounts payable$67,144 $57,771 
Accrued liabilities64,538 44,313 
Billings in excess of costs and estimated earnings on uncompleted contracts42,808 31,183 
Other current liabilities2,286 1,597 
Current portion of contingent consideration3,845 10,854 
Current portion of notes payable and other obligations12,989 15,176 
Total current liabilities193,610 160,894 
Contingent consideration, less current portion1,897 4,481 
Other long-term liabilities29,102 29,542 
Notes payable and other obligations, less current portion215,642 39,673 
Deferred income tax liabilities, net5,797 6,893 
Total liabilities446,048 241,483 
Commitments and contingencies
Stockholders’ equity:
Preferred stock, $0.01 par value; 5,000,000 shares authorized, no shares issued and outstanding
  
Common stock, $0.01 par value; 45,000,000 shares authorized, 15,892,912 and 15,523,300 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively
159 155 
Additional paid-in capital502,909 471,300 
Accumulated other comprehensive income (loss) (612) 
Retained earnings257,461 222,785 
Total stockholders’ equity759,917 694,240 
Total liabilities and stockholders’ equity$1,205,965 $935,723 
See accompanying notes to consolidated financial statements (unaudited).
1


NV5 Global, Inc. and Subsidiaries
CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME
(UNAUDITED)
(in thousands, except share data)
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues$239,287 $204,075 $646,242 $596,960 
Direct costs:
Salaries and wages56,853 48,295 162,316 141,976 
Sub-consultant services45,522 41,253 112,827 116,557 
Other direct costs21,468 14,592 49,357 45,426 
Total direct costs123,843 104,140 324,500 303,959 
Gross profit115,444 99,935 321,742 293,001 
Operating expenses:
Salaries and wages, payroll taxes, and benefits60,262 49,670 171,883 146,719 
General and administrative20,257 16,730 49,728 47,611 
Facilities and facilities related6,011 5,441 17,208 15,822 
Depreciation and amortization13,840 9,771 38,426 29,373 
Total operating expenses100,370 81,612 277,245 239,525 
Income from operations15,074 18,323 44,497 53,476 
Interest expense(3,882)(1,003)(9,111)(2,804)
Income before income tax benefit (expense)11,192 17,320 35,386 50,672 
Income tax benefit (expense)2,124 (1,257)(710)(8,699)
Net income$13,316 $16,063 $34,676 $41,973 
Earnings per share:
Basic$0.88 $1.09 $2.31 $2.85 
Diluted$0.86 $1.05 $2.24 $2.75 
Weighted average common shares outstanding:
Basic15,210,100 14,768,689 15,035,898 14,732,726 
Diluted15,497,836 15,301,545 15,448,693 15,242,453 
Comprehensive income:
Net income$13,316 $16,063 $34,676 $41,973 
Foreign currency translation losses, net of tax(421) (612) 
Comprehensive income$12,895 $16,063 $34,064 $41,973 
See accompanying notes to consolidated financial statements (unaudited).
2


NV5 Global, Inc. and Subsidiaries
CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY
(UNAUDITED)
(in thousands, except share data)
Three Months Ended
Common StockAdditional
Paid-In
Capital
Accumulated Other Comprehensive Income (Loss)Retained
Earnings
SharesAmountTotal
Balance, July 2, 202215,537,134 $155 $462,066 $ $198,722 $660,943 
Stock-based compensation— — 5,351 — — 5,351 
Restricted stock issuance, net22,787 1 (1)— —  
Net income— — — — 16,063 16,063 
Balance, October 1, 202215,559,921 $156 $467,416 $ $214,785 $682,357 
Balance, July 1, 202315,890,908 $159 $497,035 $(191)$244,145 $741,148 
Stock-based compensation— — 5,459 — — 5,459 
Restricted stock issuance, net(2,213)— — — — — 
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation(730)— (81)— — (81)
Stock issuance for acquisitions2,091 — 196 — — 196 
Payment of contingent consideration with common stock 2,856 — 300 — — 300 
Other comprehensive income (loss)— — — (421)— (421)
Net income— — — — 13,316 13,316 
Balance, September 30, 202315,892,912 $159 $502,909 $(612)$257,461 $759,917 

See accompanying notes to consolidated financial statements (unaudited).











3


NV5 Global, Inc. and Subsidiaries
CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY
(UNAUDITED)
(in thousands, except share data)
Nine Months Ended
Common StockAdditional
Paid-In
Capital
Accumulated Other Comprehensive Income (Loss)Retained
Earnings
SharesAmountTotal
Balance, January 1, 202215,414,005 $154 $451,754 $ $172,812 $624,720 
Stock-based compensation— — 14,312 — — 14,312 
Restricted stock issuance, net133,397 2 (2)— —  
Stock issuance for acquisitions12,519 — 1,352 — — 1,352 
Net income— — — — 41,973 41,973 
Balance, October 1, 202215,559,921 $156 $467,416 $ $214,785 $682,357 
Balance, December 31, 202215,523,300 $155 $471,300 $ $222,785 $694,240 
Stock-based compensation— — 15,031 — — 15,031 
Restricted stock issuance, net244,050 3 (3)— —  
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation(730)— (81)— — (81)
Stock issuance for acquisitions123,436 1 14,665 — — 14,666 
Reclassification of liability-classified awards to equity-classified awards— — 1,697 — — 1,697 
Payment of contingent consideration with common stock2,856 — 300 — — 300 
Other comprehensive income (loss)— — — (612)— (612)
Net income— — — — 34,676 34,676 
Balance, September 30, 202315,892,912 $159 $502,909 $(612)$257,461 $759,917 
See accompanying notes to consolidated financial statements (unaudited).
4



NV5 Global, Inc. and Subsidiaries
CONSOLIDATED STATEMENTS OF CASH FLOWS
(UNAUDITED)
(in thousands)
Nine Months Ended
September 30, 2023October 1, 2022
Cash flows from operating activities:
Net income$34,676 $41,973 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation and amortization42,498 33,091 
Non-cash lease expense10,346 9,409 
Provision for doubtful accounts940 1,252 
Stock-based compensation16,504 15,249 
Change in fair value of contingent consideration(7,518)(543)
Gain on disposals of property and equipment(633)(100)
Deferred income taxes(25,447)(4,288)
Amortization of debt issuance costs573 556 
Changes in operating assets and liabilities, net of impact of acquisitions:
Billed receivables(6,364)13,281 
Unbilled receivables(24,442)(8,633)
Prepaid expenses and other assets1,944 (8,105)
Accounts payable3,846 (7,937)
Accrued liabilities and other long-term liabilities1,243 (1,608)
Billings in excess of costs and estimated earnings on uncompleted contracts(2,113)(2,902)
Contingent consideration(1,307) 
Other current liabilities689 (304)
Net cash provided by operating activities45,435 80,391 
Cash flows from investing activities:
Cash paid for acquisitions (net of cash received from acquisitions)(189,109)(5,020)
Proceeds from sale of assets295 87 
Purchase of property and equipment(14,257)(14,874)
Net cash used in investing activities(203,071)(19,807)
Cash flows from financing activities:
Borrowings from Senior Credit Facility188,000  
Payments on notes payable(6,399)(7,796)
Payments of contingent consideration(793)(1,597)
Payments of borrowings from Senior Credit Facility(15,000)(45,000)
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation(81) 
Net cash provided by (used in) financing activities165,727 (54,393)
Effect of exchange rate changes on cash and cash equivalents(193) 
Net increase in cash and cash equivalents7,898 6,191 
Cash and cash equivalents – beginning of period38,541 47,980 
Cash and cash equivalents – end of period$46,439 $54,171 
See accompanying notes to consolidated financial statements (unaudited).
5


NV5 Global, Inc. and Subsidiaries
CONSOLIDATED STATEMENTS OF CASH FLOWS
(UNAUDITED)
(in thousands)
Nine Months Ended
September 30, 2023October 1, 2022
Non-cash investing and financing activities:
Contingent consideration (earn-out)$325 $5,849 
Notes payable and other obligations issued for acquisitions$6,326 $2,933 
Stock issuance for acquisitions$14,666 $1,352 
Reclassification of liability-classified awards to equity-classified awards$1,697 $ 
Finance leases$888 $644 
Payment of contingent consideration with common stock$300 $ 
See accompanying notes to consolidated financial statements (unaudited).
6


NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Note 1 – Organization and Nature of Business Operations
Business
NV5 Global, Inc. and its subsidiaries (collectively, the “Company” or “NV5 Global”) is a provider of technology, conformity assessment, consulting solutions, and software applications to public and private sector clients in the infrastructure, utility services, construction, real estate, environmental, and geospatial markets, operating nationwide and abroad. The Company’s clients include the U.S. Federal, state and local governments, and the private sector. NV5 Global provides a wide range of services, including, but not limited to:
Utility servicesMEP & technology design
LNG servicesCommissioning
EngineeringBuilding program management
Civil program managementEnvironmental health & safety
SurveyingReal estate transaction services
Construction quality assuranceEnergy efficiency & clean energy services
Code compliance consulting3D geospatial data modeling
Forensic servicesEnvironmental & natural resources
Litigation supportRobotic survey solutions
Ecological studiesGeospatial data applications & software
Fiscal Year
The Company operates on a "52/53 week" fiscal year ending on the Saturday closest to the calendar quarter end.
Note 2 – Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The consolidated financial statements of the Company are presented in U.S. dollars in conformity with accounting principles generally accepted in the United States (“U.S. GAAP”) and have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”) for reporting of interim financial information. Pursuant to such rules and regulations, certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted. The consolidated financial statements include the accounts of the Company and its subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.
In the opinion of management, the accompanying unaudited interim consolidated financial statements of the Company contain all adjustments necessary to present fairly the financial position and results of operations of the Company as of the dates and for the periods presented. Accordingly, these statements should be read in conjunction with the consolidated financial statements and notes contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”). The results of operations and cash flows for the interim periods presented are not necessarily indicative of the results to be expected for any future interim period or for the full 2023 fiscal year.
7

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Performance Obligations
To determine the proper revenue recognition method, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined or single contract should be accounted for as more than one performance obligation. The majority of the Company's contracts have a single performance obligation as the promise to transfer the individual goods or services that is not separately identifiable from other promises in the contracts and therefore, is not distinct.
The Company’s performance obligations are satisfied as work progresses or at a point in time. Revenue on the Company's cost-reimbursable contracts is recognized over time using direct costs incurred or direct costs incurred to date as compared to the estimated total direct costs for performance obligations because it depicts the transfer of control to the customer. Contract costs include labor, sub-consultant services, and other direct costs.
Gross revenue from services transferred to customers at a point in time is recognized when the customer obtains control of the asset, which is generally upon delivery and acceptance by the customer of the reports and/or analysis performed.
As of September 30, 2023, the Company had $853,829 of remaining performance obligations, of which $694,544 is expected to be recognized over the next 12 months and the majority of the balance over the next 24 months. Contracts for which work authorizations have been received are included in performance obligations. Performance obligations include only those amounts that have been funded and authorized and does not reflect the full amounts the Company may receive over the term of such contracts. In the case of non-government contracts and project awards, performance obligations include future revenue at contract or customary rates, excluding contract renewals or extensions that are at the discretion of the client. For contracts with a not-to-exceed maximum amount, the Company includes revenue from such contracts in performance obligations to the extent of the remaining estimated amount.
Contract Balances
The timing of revenue recognition, billings and cash collections results in billed receivables, unbilled receivables (contract assets), and billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities) on the Consolidated Balance Sheet. The liability “Billings in excess of costs and estimated earnings on uncompleted contracts” represents billings in excess of revenues recognized on these contracts as of the reporting date. This liability is generally classified as current. During the three and nine months ended September 30, 2023 the Company performed services and recognized $1,793 and $26,840, respectively, of revenue related to its contract liabilities that existed as of December 31, 2022.

Goodwill and Intangible Assets
Goodwill is the excess of consideration paid for an acquired entity over the amounts assigned to assets acquired, including other identifiable intangible assets and liabilities assumed in a business combination. To determine the amount of goodwill resulting from a business combination, the Company performs an assessment to determine the acquisition date fair value of the acquired company’s tangible and identifiable intangible assets and liabilities.
 
Goodwill is required to be evaluated for impairment on an annual basis or whenever events or changes in circumstances indicate the asset may be impaired. An entity has the option to first assess qualitative factors to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. These qualitative factors include macroeconomic and industry conditions, cost factors, overall financial performance, and other relevant entity-specific events. If the entity determines that this threshold is met, then the Company applies a one-step quantitative test and record the amount of goodwill impairment as the excess of a reporting unit's carrying amount over its fair value, not to exceed the total amount of goodwill allocated to the reporting unit. The Company determines fair value through multiple valuation techniques, and weights the results accordingly. Subjective and complex judgments are required in assessing whether an event of impairment of goodwill has occurred, including assumptions and estimates used to determine the fair value of its reporting units. The Company has elected to perform its annual goodwill impairment review as of August 1 of each year. The Company conducts its annual impairment tests on the goodwill using the quantitative method of evaluating goodwill.

8

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
As of August 1, 2023, the Company conducted its annual impairment tests using the quantitative method of evaluating goodwill. Based on the quantitative analyses the Company determined the fair value of each of the reporting units exceeded its carrying value. Therefore, the goodwill was not impaired and the Company did not recognize an impairment charge relating to goodwill as of August 1, 2023. Furthermore, there were no indicators, events or changes in circumstances that would indicate goodwill was impaired during the period from August 2, 2023 through September 30, 2023.
Identifiable intangible assets primarily include customer backlog, customer relationships, trade names, non-compete agreements, and developed technology. Amortizable intangible assets are amortized on a straight-line basis over their estimated useful lives and reviewed for impairment whenever events or changes in circumstances indicate that the assets may be impaired. If an indicator of impairment exists, the Company compares the estimated future cash flows of the asset, on an undiscounted basis, to the carrying value of the asset. If the undiscounted cash flows exceed the carrying value, no impairment is indicated. If the undiscounted cash flows do not exceed the carrying value, then impairment, if any, is measured as the difference between fair value and carrying value, with fair value typically based on a discounted cash flow model. There were no indicators, events or changes in circumstances that would indicate intangible assets were impaired during the nine months ended September 30, 2023. See Note 8, Goodwill and Intangible Assets, for further information on goodwill and identified intangibles.
There have been no material changes in the Company's significant accounting policies described in the audited financial statements included in the Company's Annual Report on Form 10-K for the year ended December 31, 2022.
Note 3 – Recent Accounting Pronouncements
None.
Note 4 – Earnings per Share
Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period, excluding unvested restricted shares. Diluted earnings per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the earnings of the Company. The effect of potentially dilutive securities is not considered during periods of loss or if the effect is anti-dilutive.
The weighted average number of shares outstanding in calculating basic earnings per share for the nine months ended September 30, 2023 and October 1, 2022 exclude 687,716 and 760,050 non-vested restricted shares, respectively. During the three and nine months ended September 30, 2023, there were 22,365 and 31,886 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met. During the three and nine months ended October 1, 2022, there were 36,794 and 25,282 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met.
9

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
The following table represents a reconciliation of the net income and weighted average shares outstanding for the calculation of basic and diluted earnings per share:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Numerator:
Net income – basic and diluted$13,316 $16,063 $34,676 $41,973 
Denominator:
Basic weighted average shares outstanding15,210,100 14,768,689 15,035,898 14,732,726 
Effect of dilutive non-vested restricted shares and units262,709 517,238 387,657 494,047 
Effect of issuable shares related to acquisitions25,027 15,618 25,138 15,680 
Diluted weighted average shares outstanding15,497,836 15,301,545 15,448,693 15,242,453 
Note 5 Business Acquisitions
2023 Acquisitions
On April 6, 2023, the Company acquired all of the outstanding equity interests in the Visual Information Solutions commercial geospatial technology and software business ("VIS") from L3Harris. VIS is a provider of subscription-based software solutions for the analysis and management of software applications and Analytics as a Service (AaaS) solutions. The Company acquired VIS for a cash purchase price of $75,371. The purchase price and other related costs associated with the transaction were financed through the Company's amended and restated credit agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility") with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.    
On February 22, 2023, the Company acquired all of the outstanding equity interests in Continental Mapping Acquisition Corp. and its subsidiaries, including Axim Geospatial, LLC (collectively "Axim"), a provider of comprehensive geospatial services and solutions addressing critical mission requirements for customers across the defense and intelligence and state and local government sectors. The aggregate purchase price of the acquisition was $139,562, including $119,736 in cash, a $6,326 promissory note, and $13,500 of the Company's common stock. The purchase price and other related costs associated with the transaction were financed through the Company's Second A&R Credit Agreement with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.
The Company has completed four other acquisitions during 2023. The aggregate purchase price for the four acquisitions was $7,725, including $6,900 in cash, $500 of the Company's common stock, and a potential earn-out of up to $340 payable in cash, which has been recorded at an estimated fair value of $325. A probability-weighted approach was used to determine the fair value of the earn-out, which is a generally accepted valuation technique that embodies all significant assumption types. The final
10

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2023 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, and deferred tax liabilities.
2022 Acquisitions    
The Company completed five acquisitions during 2022. The aggregate purchase price of all five acquisitions was $14,220, including $5,882 of cash, $1,606 of promissory notes, $433 of the Company's common stock, and potential earn-outs of up to $15,850 payable in cash and stock, which was recorded at an estimated fair value of $6,299. An option-based model was used to determine the fair value of the earn-outs, which is a generally accepted valuation technique that embodies all significant assumption types. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2022 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the acquisition date, including intangible assets, accounts receivable, and certain fixed assets. Purchase price allocation adjustments recorded during 2023 were immaterial.
The following table summarizes the fair values of the assets acquired and liabilities assumed as of the acquisition date for the acquisitions closed during the nine months ended September 30, 2023 and the fiscal year ended December 31, 2022:
20232022
VISAximOtherTotalTotal
Cash$7,027 $5,419 $1,316 $13,762 $ 
Billed and unbilled receivables, net5,042 13,937 1,609 20,588 1,794 
Right-of-use assets2,162 1,643 552 4,357 632 
Property and equipment118 2,870 38 3,026 1,510 
Prepaid expenses1,505 1,543 17 3,065  
Other assets 156 5 161  
Intangible assets:
Customer relationships34,339 53,518 2,146 90,003 3,606 
Trade name2,983 2,266 160 5,409 268 
Customer backlog882 3,862 583 5,327 459 
Developed technology4,578 1,942  6,520  
Non-compete26 580 197 803 298 
Total Assets$58,662 $87,736 $6,623 $153,021 $8,567 
Liabilities(16,535)(13,668)(2,297)(32,500)(5,623)
Deferred tax liabilities(9,369)(14,477)(506)(24,352) 
Net assets acquired$32,758 $59,591 $3,820 $96,169 $2,944 
Consideration paid (Cash, Notes and/or stock)$75,371 $139,562 $7,400 $222,333 $7,921 
Contingent earn-out liability (Cash and stock)  325 325 6,299 
Total Consideration$75,371 $139,562 $7,725 $222,658 $14,220 
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)$42,613 $79,971 $3,905 $126,489 $11,276 
Goodwill was recorded based on the amount by which the purchase price exceeded the fair value of the net assets acquired and the amount is attributable to the reputation of the business acquired, the workforce in place and the synergies to be
11

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
achieved from these acquisitions. See Note 8, Goodwill and Intangible Assets, for further information on fair value adjustments to goodwill and identified intangibles.
The consolidated financial statements of the Company include the results of operations from any business acquired from their respective dates of acquisition. The following table presents the results of operations of businesses acquired from their respective dates of acquisition for the three and nine months ended September 30, 2023. The revenue and earnings of the fiscal 2022 acquisitions included in the Company's results since the acquisition dates are not material to the Company's consolidated financial statements and have not been presented.
Three Months EndedNine Months Ended
September 30, 2023September 30, 2023
Gross revenues$32,970 $69,901 
Income before income taxes$5,739 $11,481 
General and administrative expenses for the three and nine months ended September 30, 2023 and October 1, 2022 include acquisition-related costs pertaining to the Company's acquisition activities. Acquisition-related costs were not material to the Company's consolidated financial statements.
The following table presents the unaudited, pro forma consolidated results of operations (in thousands, except per share amounts) for the three and nine months ended September 30, 2023 and October 1, 2022 as if the fiscal 2023 and 2022 acquisitions had occurred at the beginning of fiscal year 2022. The pro forma information provided below is compiled from pre-acquisition financial information and includes pro forma adjustments for amortization expense, adjustments to certain expenses, and the income tax impact of these adjustments. The pro forma results are not necessarily indicative of (i) the results of operations that would have occurred had the operations of these acquisitions actually been acquired at the beginning of fiscal year 2022 or (ii) future results of operations:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues$239,634 $236,507 $671,471 $690,657 
Net income$13,267 $16,763 $33,535 $40,926 
Basic earnings per share$0.87 $1.13 $2.23 $2.75 
Diluted earnings per share$0.86 $1.09 $2.17 $2.66 
Adjustments were made to the pro forma results to adjust amortization of intangible assets to reflect fair value of identified assets acquired, to record the effects of financing from the Company's Senior Credit Facility, to record the effects of promissory notes issued, and to record the income tax effect of these adjustments.
Note 6 Billed and Unbilled Receivables
Billed and unbilled receivables consists of the following:
September 30, 2023December 31, 2022
Billed receivables$170,466 $149,082 
Less: allowance for doubtful accounts(3,607)(3,445)
Billed receivables, net$166,859 $145,637 
Unbilled receivables$124,321 $95,104 
Less: allowance for doubtful accounts(2,272)(2,242)
Unbilled receivables, net$122,049 $92,862 

12

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Note 7 Property and Equipment, net
Property and equipment, net, consists of the following:
September 30, 2023December 31, 2022
Office furniture and equipment$3,451 $3,421 
Computer equipment30,609 25,816 
Survey and field equipment60,199 49,985 
Leasehold improvements6,853 6,546 
Total101,112 85,768 
Less: accumulated depreciation(51,182)(44,128)
Property and equipment, net$49,930 $41,640 
Depreciation expense was $3,703 and $10,574 for the three and nine months ended September 30, 2023, respectively, of which $1,453 and $4,072 was included in other direct costs. Depreciation expense was $2,988 and $8,727 for the three and nine months ended October 1, 2022, respectively, of which $1,262 and $3,718 was included in other direct costs.
Note 8 Goodwill and Intangible Assets
Goodwill
The changes in the carrying value by reportable segment for the nine months ended September 30, 2023 were as follows:
Nine Months Ended
December 31, 20222023 AcquisitionsAdjustmentsForeign Currency Translation of non-USD functional currency goodwillSeptember 30, 2023
INF$90,932 $726 $ $ $91,658 
BTS111,838 3,179 13 (46)114,984 
GEO198,187 122,584 (10)(373)320,388 
Total$400,957 $126,489 $3 $(419)$527,030 
Goodwill of $1,225 from acquisitions completed during the nine months ended September 30, 2023 is expected to be deductible for income tax purposes.
13

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Intangible Assets
Intangible assets, net, as of September 30, 2023 and December 31, 2022 consist of the following:
September 30, 2023December 31, 2022
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Finite-lived intangible assets:
Customer relationships(1)
$312,996 $(108,368)$204,628 $222,998 $(87,054)$135,944 
Trade name(2)
22,292 (17,665)4,627 16,883 (15,933)950 
Customer backlog(3)
34,745 (31,206)3,539 29,419 (27,333)2,086 
Non-compete(4)
14,932 (12,341)2,591 14,110 (11,298)2,812 
Developed technology(5)
39,464 (18,416)21,048 32,944 (14,305)18,639 
Total finite-lived intangible assets$424,429 $(187,996)$236,433 $316,354 $(155,923)$160,431 

(1) Amortized on a straight-line basis over estimated lives (1 to 17 years)
(2) Amortized on a straight-line basis over their estimated lives (1 to 5 years)
(3) Amortized on a straight-line basis over their estimated lives (1 to 10 years)
(4) Amortized on a straight-line basis over their contractual lives (2 to 5 years)
(5) Amortized on a straight-line basis over their estimated lives (5 to 10 years)
The identifiable intangible assets acquired during the nine months ended September 30, 2023 consist of customer relationships, trade name, customer backlog, non-compete, and developed technology with weighted average lives of 12.4 years, 3.6 years, 1.3 years, 3.6 years, and 6.5 years, respectively. Amortization expense was $11,590 and $31,924 during the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.
Note 9 Accrued Liabilities
Accrued liabilities consist of the following:
September 30, 2023December 31, 2022
Current portion of lease liability$14,436 $13,081 
Accrued vacation13,392 12,467 
Payroll and related taxes15,183 6,616 
Benefits6,660 5,160 
Accrued operating expenses8,004 4,540 
Other6,863 2,449 
Total$64,538 $44,313 


14

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Note 10 Notes Payable and Other Obligations
Notes payable and other obligations consists of the following:
September 30, 2023December 31, 2022
Senior credit facility$206,750 $33,750 
Uncollateralized promissory notes19,629 18,492 
Finance leases3,347 3,465 
Other obligations1,005 1,814 
Debt issuance costs, net of amortization(2,100)(2,672)
Total notes payable and other obligations228,631 54,849 
Current portion of notes payable and other obligations12,989 15,176 
Notes payable and other obligations, less current portion$215,642 $39,673 
As of September 30, 2023 and December 31, 2022, the carrying amount of debt obligations approximates their fair values based on Level 2 inputs as the terms are comparable to terms currently offered by local lending institutions for arrangements with similar terms to industry peers with comparable credit characteristics.
Senior Credit Facility
On August 13, 2021 (the "Closing Date"), the Company amended and restated its Credit Agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility"), originally dated December 7, 2016 and as amended to the Closing Date, with Bank of America, N.A. ("Bank of America"), as administrative agent, swingline lender and letter of credit issuer, the other lenders party thereto, and certain of the Company's subsidiaries as guarantors. Pursuant to the Second A&R Credit Agreement, the previously drawn term commitments of $150,000 and revolving commitments totaling $215,000 in the aggregate were converted into revolving commitments totaling $400,000 in the aggregate. These revolving commitments are available through August 13, 2026 (the "Maturity Date") and an aggregate amount of approximately $138,750 was drawn under the Second A&R Credit Amendment on the Closing Date to repay previously existing borrowings under the term and revolving facilities prior to such amendment and restatement. Borrowings under the Second A&R Credit Agreement are secured by a first priority lien on substantially all of the assets of the Company. The Second A&R Credit Agreement also includes an accordion feature permitting the Company to request an increase in the revolving facility under the Second A&R Credit Agreement by an additional amount of up to $200,000 in the aggregate. As of September 30, 2023 and December 31, 2022, the outstanding balance on the Second A&R Credit Agreement was $206,750 and $33,750, respectively.
The Company's Second A&R Credit Agreement provides for the replacement of LIBOR (London Interbank Offered Rate), which prior to April 1, 2023, was transitioned to SOFR (Secured Overnight Funding Rate), subject to the completion of the relevant existing interest period ("LIBOR Transition"). Borrowings under the Second A&R Credit Agreement bear interest at variable rates which are, at the Company's option, tied to a Eurocurrency rate equal to LIBOR or, from and after the LIBOR Transition, either Term SOFR or Daily Simple SOFR, plus in each case an applicable margin or a base rate denominated in U.S. dollars. Interest rates remain subject to change based on the Company's consolidated leverage ratio. As of September 30, 2023, the Company's interest rate was 6.7%.
The Second A&R Credit Agreement contains financial covenants that require NV5 Global to maintain a consolidated net leverage ratio (the ratio of the Company's pro forma consolidated net funded indebtedness to the Company's pro forma consolidated EBITDA for the most recently completed measurement period) of no greater than 4.00 to 1.00.
These financial covenants also require the Company to maintain a consolidated fixed charge coverage ratio of no less than 1.10 to 1.00 as of the end of any measurement period. As of September 30, 2023, the Company was in compliance with the financial covenants.

The Second A&R Credit Agreement contains covenants that may have the effect of limiting the Company's ability to, among other things, merge with or acquire other entities, enter into a transaction resulting in a Change in Control, create certain new liens, incur certain additional indebtedness, engage in certain transactions with affiliates, or engage in new lines of business
15

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
or sell a substantial part of their assets. The Second A&R Credit Agreement also contains customary events of default, including (but not limited to) a default in the payment of principal or, following an applicable grace period, interest, breaches of the Company's covenants or warranties under the Second A&R Credit Agreement, payment default or acceleration of certain indebtedness, certain events of bankruptcy, insolvency or liquidation, certain judgments or uninsured losses, changes in control and certain liabilities related to ERISA based plans.
The Second A&R Credit Agreement limits the payment of cash dividends (together with certain other payments that would constitute a "Restricted Payment" within the meaning of the Second A&R Credit Agreement and generally including dividends, stock repurchases and certain other payments in respect to warrants, options, and other rights to acquire equity securities), unless the Consolidated Leverage Ratio would be less than 3.25 to 1.00 and available liquidity (defined as unrestricted, domestically held cash plus revolver availability) would be at least $30,000, in each case after giving effect to such payment.
Total debt issuance costs incurred and capitalized in connection with the issuance of the Second A&R Credit Agreement were $3,702. Total amortization of debt issuance costs was $208 and $573 during the three and nine months ended September 30, 2023, respectively, and $185 and $556 during the three and nine months ended October 1, 2022, respectively.
Other Obligations
The Company has aggregate obligations related to acquisitions of $20,634 and $20,306 as of September 30, 2023 and December 31, 2022, respectively. As of September 30, 2023, the Company's weighted average interest rate on other outstanding obligations was 3.0%.
Note 11 Contingent Consideration
The following table summarizes the changes in the carrying value of estimated contingent consideration:
September 30, 2023December 31, 2022
Contingent consideration, beginning of the year$15,335 $8,328 
Additions for acquisitions325 6,299 
Reduction of liability for payments made(2,400)(2,264)
(Decrease) increase of liability related to re-measurement of fair value(7,518)2,972 
Total contingent consideration, end of the period5,742 15,335 
Current portion of contingent consideration3,845 10,854 
Contingent consideration, less current portion$1,897 $4,481 
During the nine months ended September 30, 2023, the Company recorded earn-out fair value adjustments of $7,518 that decreased the contingent consideration liability related to acquisitions.
Note 12 Commitments and Contingencies
Litigation, Claims and Assessments
The Company is subject to certain claims and lawsuits typically filed against the engineering, consulting and construction profession, alleging primarily professional errors or omissions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, against such claims. However, in some actions, parties are seeking damages that exceed our insurance coverage or for which we are not insured. While management does not believe that the resolution of these claims will have a material adverse effect, individually or in aggregate, on its financial position, results of operations or cash flows, management acknowledges the uncertainty surrounding the ultimate resolution of these matters.
Note 13 Stock-Based Compensation
In October 2011, the Company's stockholders approved the NV5 Global, Inc. 2011 Equity Incentive Plan, which was subsequently amended and restated in March 2013 (as amended, the “2011 Equity Plan”). The 2011 Equity Incentive Plan expired pursuant to its terms in March 2023, accordingly no further grants were made following the date of such expiration. Prior to such
16

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
expiration, the Company's Board adopted the NV5 Global, Inc. 2023 Equity Incentive Plan (the "2023 Equity Plan") to replace the 2011 Equity Plan, subject to stockholder approval. On June 13, 2023, the Company's stockholders approved the 2023 Equity Plan. The 2023 Equity Plan provides directors, executive officers, and other employees of the Company with additional incentives by allowing them to acquire ownership interest in the business and, as a result, encouraging them to contribute to the Company’s success. The Company may provide these incentives through the grant of stock options, stock appreciation rights, restricted stock, restricted stock units, performance shares and units, and other cash-based or stock-based awards. As of September 30, 2023, 2,148,768 shares of common stock are authorized, reserved, and registered for issuance under the 2023 Equity Plan. The restricted shares of common stock granted generally provide for service-based cliff vesting after two to four years following the grant date.
The following summarizes the activity of restricted stock awards during the nine months ended September 30, 2023:
Number of Unvested Restricted Shares of Common Stock and Restricted Stock UnitsWeighted Average
Grant Date Fair
Value
December 31, 2022713,793$81.25 
Granted278,825$106.70 
Vested(279,891)$48.41 
Forfeited(27,275)$92.34 
September 30, 2023685,452$104.54 
Stock-based compensation expense relating to restricted stock awards during the three and nine months ended September 30, 2023 was $5,777 and $16,504, respectively, and $5,634 and $15,249 during the three and nine months ended October 1, 2022, respectively. In connection with the Company's 401(k) Profit Sharing match, stock-based compensation expense during the three and nine months ended September 30, 2023 includes $318 and $1,473, respectively, of expense related to the Company's liability-classified awards. Stock-based compensation expense during the three and nine months ended October 1, 2022 includes $283 and $937, respectively, of expense related to the Company's liability-classified awards. The total estimated amount of the liability-classified awards for fiscal 2023 is approximately $5,314. The 401(k) Profit Sharing restricted stock awards are issued under the rules of the NV5 Global, Inc. 2023 Equity Incentive Plan and are not issued into the NV5 401(k) Profit Sharing plan. Approximately $41,103 of deferred compensation, which is expected to be recognized over the remaining weighted average vesting period of 1.67 years, is unrecognized at September 30, 2023. The total fair value of restricted shares vested during the nine months ended September 30, 2023 and October 1, 2022 was $29,235 and $14,624, respectively.
Note 14 Income Taxes
As of September 30, 2023 and December 31, 2022, the Company had net deferred income tax liabilities of $5,797 and $6,893, respectively. Deferred income tax liabilities primarily relate to intangible assets and accounting basis adjustments where we have a future obligation for tax purposes.
The Company's effective income tax rate was (19.0)% and 2.0% during the three and nine months ended September 30, 2023, respectively, and 7.3% and 17.2% during the three and nine months ended October 1, 2022, respectively. The difference between the effective income tax rate and the combined statutory federal and state income tax rate was primarily due to an increase in federal credits recorded in the third quarter of 2023 and 2022, including additional prior year credits, and the recognition of excess tax benefits from stock-based payments in the second and third quarter of 2023 and 2022.
The Company evaluates tax positions for recognition using a more-likely-than-not recognition threshold, and those tax positions eligible for recognition are measured as the largest amount of tax benefit that is greater than 50% likely of being realized upon the effective settlement with a taxing authority that has full knowledge of all relevant information. Fiscal years 2019 through 2022 are considered open tax years in the U.S. federal jurisdiction, state and foreign jurisdictions. Fiscal years 2012 - 2014 are considered open in the State of California. It is not expected that there will be a significant change in the unrecognized tax benefits within the next 12 months.
17

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Note 15 Reportable Segments
The Company reports segment information in accordance with ASC Topic No. 280 “Segment Reporting” (“Topic No. 280”). The Company's Chief Executive Officer, who is the chief operating decision maker ("CODM"), organized the Company into three operating and reportable segments: Infrastructure ("INF"), which includes the Company's engineering, civil program management, utility services, and construction quality assurance practices; Building, Technology & Sciences ("BTS"), which includes the Company's environmental health sciences, clean energy consulting, buildings and program management, and MEP & technology design practices; and Geospatial Solutions ("GEO"), which includes the Company's geospatial solution practices.
The Company evaluates the performance of these reportable segments based on their respective operating income before the effect of amortization expense related to acquisitions and other unallocated corporate expenses. The following tables set forth summarized financial information concerning our reportable segments:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues
INF$102,136 $98,754 $287,074 $301,354 
BTS57,235 58,579 164,113 180,364 
GEO79,916 46,742 195,055 115,242 
Total gross revenues$239,287 $204,075 $646,242 $596,960 
Segment income before taxes
INF$15,902 $17,692 $49,628 $53,149 
BTS10,226 10,171 26,757 35,606 
GEO15,963 12,588 37,798 28,727 
Total Segment income before taxes42,091 40,451 114,183 117,482 
Corporate(1)
(30,899)(23,131)(78,797)(66,810)
Total income before taxes$11,192 $17,320 $35,386 $50,672 
(1) Includes amortization of intangibles of $11,590 and $31,924 for the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.
The Company disaggregates its gross revenues from contracts with customers by geographic location, customer-type and contract-type for each of our reportable segments. Disaggregated revenues include the elimination of inter-segment revenues which has been allocated to each segment. The Company believes this best depicts how the nature, amount, timing and uncertainty of its revenues and cash flows are affected by economic factors. Gross revenue, classified by the major geographic areas in which the Company's customers were located, were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
United States$102,136 $46,986 $75,736 $224,858 $287,074 $137,932 $186,178 $611,184 
Foreign 10,249 4,180 14,429  26,181 8,877 35,058 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
United States$98,754 $50,039 $45,205 $193,998 $301,354 $157,560 $112,667 $571,581 
Foreign 8,540 1,537 10,077  22,804 2,575 25,379 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 

18

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Gross revenue by customer were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$81,236 $13,834 $69,082 $164,152 $228,298 $47,779 $166,491 $442,568 
Private sector20,900 43,401 10,834 75,135 58,776 116,334 28,564 203,674 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$78,643 $15,812 $37,942 $132,397 $237,901 $46,708 $92,576 $377,185 
Private sector20,111 42,767 8,800 71,678 63,453 133,656 22,666 219,775 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 

Gross revenues by contract type were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$98,651 $40,666 $77,251 $216,568 $275,693 $119,960 $190,752 $586,405 
Fixed-unit price contracts3,485 16,569 2,665 22,719 11,381 44,153 4,303 59,837 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$94,199 $48,702 $46,671 $189,572 $288,525 $127,194 $114,954 $530,673 
Fixed-unit price contracts4,555 9,877 71 14,503 12,829 53,170 288 66,287 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
19

NV5 Global, Inc. and Subsidiaries
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(UNAUDITED)
(in thousands, except share data)
Note 16 – Stockholders' Equity
Accumulated Other Comprehensive Income (Loss)
The Company's accumulated other comprehensive income (loss) consists of foreign currency translation adjustments related to the Company's foreign operations with functional currency other than the U.S. dollar. The after-tax changes in accumulated other comprehensive income (loss) by component were as follows:
Accumulated Other Comprehensive Income (Loss)
Foreign currency translation adjustments balance, December 31, 2022$ 
Other comprehensive income (loss)(612)
Foreign currency translation adjustments balance, September 30, 2023$(612)


20


ITEM 2.  MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS.
The following discussion and analysis of the financial condition and results of operations of NV5 Global, Inc. and its subsidiaries (collectively, the “Company,” “we,” “our,” “us,” or “NV5 Global”) should be read in conjunction with the financial statements included elsewhere in this Quarterly Report and the audited financial statements for the year ended December 31, 2022, included in our Annual Report on Form 10-K. This Quarterly Report contains, in addition to unaudited historical information, forward-looking statements, which involve risk and uncertainties. The words “believe,” “expect,” “estimate,” “may,” “will,” “could,” “plan,” or “continue,” and similar expressions are intended to identify forward-looking statements. Our actual results could differ materially from those anticipated in such forward-looking statements. Factors that could cause or contribute to such differences in results and outcomes include, those discussed under the headings “Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2022 and this Quarterly Report on Form 10-Q, if any. Readers are urged not to place undue reliance on these forward-looking statements, which speak only as of the date of this Quarterly Report on Form 10-Q. We undertake no obligation to (and we expressly disclaim any obligation to) revise or update any forward-looking statement, whether as a result of new information, subsequent events, or otherwise (except as may be required by law), in order to reflect any event or circumstance which may arise after the date of this Quarterly Report on Form 10-Q. Amounts presented are in thousands, except per share data.
Overview
We are a provider of technology, conformity assessment, consulting solutions, and software applications to public and private sector clients. We focus on the infrastructure, utility services, construction, real estate, environmental, and geospatial markets. Our primary clients include U.S. Federal, state, municipal, and local government agencies, and military and defense clients. We also serve quasi-public and private sector clients from the education, healthcare, utility services, and public utilities, including schools, universities, hospitals, health care providers, and insurance providers.
Fiscal Year
We operate on a "52/53 week" fiscal year ending on the Saturday closest to the calendar quarter end.
Recent Acquisitions
On April 6, 2023, we acquired all of the outstanding equity interests in the Visual Information Solutions commercial geospatial technology and software business ("VIS") from L3Harris. VIS is a provider of subscription-based software solutions for the analysis and management of software applications and Analytics as a Service (AaaS) solutions. We acquired VIS for a cash purchase price of $75,371. The purchase price and other related costs associated with the transaction were financed through our amended and restated credit agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility") with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, of the Notes to Consolidated Financial Statements included elsewhere herein for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, we engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.    
On February 22, 2023, we acquired all of the outstanding equity interests in Continental Mapping Acquisition Corp. and its subsidiaries, including Axim Geospatial, LLC (collectively "Axim"), a provider of comprehensive geospatial services and solutions addressing critical mission requirements for customers across the defense and intelligence and state and local government sectors. The aggregate purchase price of the acquisition was $139,562, including $119,736 in cash, a $6,326 promissory note, and $13,500 of our common stock. The purchase price and other related costs associated with the transaction were financed through our Second A&R Credit Agreement with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, of the Notes to Consolidated Financial Statements included elsewhere herein for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, we engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.
21


We have completed four other acquisitions during 2023. The aggregate purchase price of the four acquisitions was $7,725, including $6,900 in cash, $500 of our common stock, and a potential earn-out of up to $340 payable in cash and common stock, which was recorded at an estimated fair value of $325. A probability-weighted approach was used to determine the fair value of the earn-out, which is a generally accepted valuation technique that embodies all significant assumption types. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2023 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, and deferred tax liabilities.
Segments
Our operations are organized into three operating and reportable segments:
Infrastructure ("INF") – includes our engineering, civil program management, utility services, and construction quality assurance practices;
Building, Technology & Sciences ("BTS") includes our environmental health sciences, clean energy consulting, buildings and program management, and MEP & technology design practices; and
Geospatial Solutions ("GEO") includes our geospatial solution practices.

For additional information regarding our reportable segments, see Note 15, Reportable Segments, of the Notes to Consolidated Financial Statements included elsewhere herein.
Critical Accounting Policies and Estimates
    For a discussion of our critical accounting estimates, see Management’s Discussion and Analysis of Financial Condition and Results of Operations that is included in the 2022 Form 10-K.
Results of Operations
Consolidated Results of Operations
The following table represents our condensed results of operations for the periods indicated (dollars in thousands):
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues$239,287 $204,075 $646,242 $596,960 
Direct costs123,843 104,140 324,500 303,959 
Gross profit115,444 99,935 321,742 293,001 
Operating expenses100,370 81,612 277,245 239,525 
Income from operations15,074 18,323 44,497 53,476 
Interest expense(3,882)(1,003)(9,111)(2,804)
Income tax benefit (expense)2,124 (1,257)(710)(8,699)
Net income$13,316 $16,063 $34,676 $41,973 
Three Months Ended September 30, 2023 Compared to the Three Months Ended October 1, 2022
Gross Revenues 
Our consolidated gross revenues increased by $35,212, or 17.3%, for the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase in gross revenues was primarily due to incremental gross revenues from acquisitions of $32,970 completed since the third quarter of 2022 and organic increases in our LNG business of $6,467 and our geospatial solutions business of $1,879. These increases were partially offset by decreases in our real estate transactional services of $2,511 driven by market reactions to increases in interest rates.
22


Gross Profit
As a percentage of gross revenues, our gross profit margin was 48.2% and 49.0% for the three months ended September 30, 2023 and October 1, 2022, respectively. As a percentage of gross revenues, direct salaries and wages and other direct costs increased 0.2% and 1.8%, respectively. These increases were partially offset by a decrease in sub-consultant services as a percentage of gross revenues of 1.2%. The increase in other direct costs as a percentage of gross revenues was primarily driven by the mix of business in our LNG business. The decrease in sub-consultant services as a percentage of gross revenues was primarily driven by the mix of business in our civil program management, infrastructure, and power delivery and utility services.
Operating expenses 
Our operating expenses increased $18,758, or 23.0%, for the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase in operating expenses primarily resulted from increased payroll costs of $10,592, amortization expenses of $3,545, and general and administrative expenses of $3,527. The increase in payroll costs was primarily driven by an increase in employees as compared to the prior year period driven by our 2023 acquisitions. The increase in amortization expense was driven by acquisitions. The increase in general and administrative expenses was primarily due to incremental expenses from acquisitions of $2,513.
Interest Expense
Our interest expense increased $2,879 for the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase in interest expense resulted from a higher weighted average interest rate and an increase in our Senior Credit Facility indebtedness.
Income taxes
Our effective income tax rate was (19.0)% and 7.3% for the three months ended September 30, 2023 and October 1, 2022, respectively. The decrease in the effective income tax rate was primarily the result of an increase in net federal tax credits of $3,869.
Net income
Our net income decreased $2,747, or 17.1%, for three months ended September 30, 2023 compared to three months ended October 1, 2022. The decrease was primarily a result of increases in payroll costs of $10,592, amortization expenses of $3,545, general and administrative expenses of $3,527, and interest expense of $2,879, partially offset by an increase in gross profit of $15,509 and a lower effective income tax rate.
Nine Months Ended September 30, 2023 Compared to the Nine Months Ended October 1, 2022
Gross Revenues 
Our consolidated gross revenues increased by $49,282, or 8.3%, for the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The increase in gross revenues was primarily due to incremental gross revenues from acquisitions of $73,918 completed since the beginning of fiscal 2022 and organic increases in our geospatial solutions business of $8,232. These increases were partially offset by decreases in our real estate transactional services of $20,413 driven by market reactions to increases in interest rates, decreases in our construction quality assurance practices of $5,304 and decreases in our civil program management business of $4,123.
Gross Profit
As a percentage of gross revenues, our gross profit margin was 49.8% and 49.1% for the nine months ended September 30, 2023 and October 1, 2022, respectively. As a percentage of gross revenues, sub-consultant services decreased 2.0%. This decrease was partially offset by an increase in direct salaries and wages as a percentage of gross revenues of 1.3%. The decrease in sub-consultant services as a percentage of gross revenues was primarily driven by the mix of business in our real estate transactional and civil program management services.
23


Operating expenses 
Our operating expenses increased $37,720, or 15.7%, for the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The increase in operating expenses primarily resulted from increased payroll costs of $25,164, amortization expenses of $7,560, and general and administrative expenses of $2,117. The increase in payroll costs was primarily driven by an increase in employees as compared to the prior year period driven by our 2022 and 2023 acquisitions and an increase in stock-based compensation. The increase in amortization expense was driven by acquisitions. The increase in general and administrative expenses was primarily due to incremental expenses from acquisitions of $5,043 and increases in information technology costs of $2,099 and professional fees of $1,578. These increases were partially offset by earn-out fair value adjustments of $7,518 that decreased the contingent consideration liability related to acquisitions.
Interest Expense
Our interest expense increased $6,307 for the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The increase in interest expense resulted from a higher weighted average interest rate and an increase in our Senior Credit Facility indebtedness.
Income taxes
Our effective income tax rate was 2.0% and 17.2% for the nine months ended September 30, 2023 and October 1, 2022, respectively. The decrease in the effective income tax rate was primarily the result of an increase in net federal tax credits of $3,869 and an increase in excess tax benefits from stock-based payments of $1,693 during the nine months ended September 30, 2023.
Net income
Our net income decreased $7,297, or 17.4%, for nine months ended September 30, 2023 compared to nine months ended October 1, 2022. The decrease was primarily a result of increases in payroll costs of $25,164, amortization expenses of $7,560, interest expense of $6,307, and general and administrative expenses of $2,117, partially offset by an increase in gross profit of $28,741 and a lower effective income tax rate.
Segment Results of Operations
The following tables set forth summarized financial information concerning our reportable segments (dollars in thousands):
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues
INF$102,136 $98,754 $287,074 $301,354 
BTS57,235 58,579 164,113 180,364 
GEO79,916 46,742 195,055 115,242 
Total gross revenues$239,287 $204,075 $646,242 $596,960 
Segment income before taxes
INF$15,902 $17,692 $49,628 $53,149 
BTS$10,226 $10,171 $26,757 $35,606 
GEO$15,963 $12,588 $37,798 $28,727 
For additional information regarding our reportable segments, see Note 15, Reportable Segments, of the Notes to the Consolidated Financial Statements included elsewhere in this Quarterly Report on Form 10-Q.
Three Months Ended September 30, 2023 Compared to Three Months Ended October 1, 2022
INF Segment
Our gross revenues from INF increased $3,382, or 3.4%, during the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase in gross revenues was primarily due to increases in our LNG business of
24


$6,467 driven by project cycles, partially offset by decreases in our construction quality assurance practices of $1,516 and civil program management business of $1,498.
Segment income before taxes from INF decreased $1,790, or 10.1%, during the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The decrease was primarily due to decreased gross margins driven by the mix of business in our LNG business, partially offset by increased gross revenues.
BTS Segment
Our gross revenues from BTS decreased $1,344, or 2.3%, during the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The decrease in gross revenues was primarily due to decreases in our real estate transactional services of $2,511 driven by market reactions to increases in interest rates, partially offset by incremental gross revenues of $1,676 from acquisitions completed since the third quarter of 2022.
Segment income before taxes from BTS increased $55, or 0.5% during the three months ended September 30, 2023 compared to the three months ended October 1, 2022.
GEO Segment
Our gross revenues from GEO increased $33,174, or 71.0%, during the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase in gross revenues was primarily due to incremental revenue of $31,295 from acquisitions completed since the third quarter of 2022 and organic increases in our geospatial solution services of $1,879.
Segment income before taxes from GEO increased $3,375, or 26.8%, during the three months ended September 30, 2023 compared to the three months ended October 1, 2022. The increase was primarily due to increased gross revenues.
Nine Months Ended September 30, 2023 Compared to Nine Months Ended October 1, 2022
INF Segment
Our gross revenues from INF decreased $14,280, or 4.7%, during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The decrease in gross revenues was primarily due to decreases in our construction quality assurance practices of $5,304, decreases in our civil program management business of $4,123, and decreases in our LNG business of $2,820.
Segment income before taxes from INF decreased $3,521, or 6.6%, during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The decrease was primarily due to decreased gross revenues.
BTS Segment
Our gross revenues from BTS decreased $16,251, or 9.0%, during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The decrease in gross revenues was primarily due to decreases in our real estate transactional services of $20,413 driven by market reactions to increases in interest rates. These decreases were partially offset by increases in our energy and technology services of $3,042 and increases in our international engineering and consulting services of $2,775.
Segment income before taxes from BTS decreased $8,849, or 24.9% during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The decrease was primarily due to decreased gross revenues.
GEO Segment
Our gross revenues from GEO increased $79,813, or 69.3%, during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The increase in gross revenues was primarily due to incremental revenue of $71,581 from acquisitions completed since the beginning of fiscal 2022 and organic increases in our geospatial solution services of $8,232.
Segment income before taxes from GEO increased $9,071, or 31.6%, during the nine months ended September 30, 2023 compared to the nine months ended October 1, 2022. The increase was primarily due to increased gross revenues.
25


Liquidity and Capital Resources
Our principal sources of liquidity are our cash and cash equivalents balances, cash flows from operations, borrowing capacity under our Senior Credit Facility, and access to financial markets. Our principal uses of cash are operating expenses, working capital requirements, capital expenditures, repayment of debt, and acquisition expenditures. We believe our sources of liquidity, including cash flows from operations, existing cash and cash equivalents and borrowing capacity under our Senior Credit Facility will be sufficient to meet our projected cash requirements for at least the next twelve months. We will monitor our capital requirements thereafter to ensure our needs are in line with available capital resources and believe that there are no significant cash requirements currently known to us and affecting our business that cannot be met from our reasonably expected future operating cash flows, including upon the maturity of the Senior Credit Facility in 2026.
Operating activities
Net cash provided by operating activities was $45,435 for the nine months ended September 30, 2023, compared to $80,391 during the nine months ended October 1, 2022. The decrease was a result of decreases in net income and increases in working capital. The changes in our working capital that contributed to decreased cash flows from operations were primarily a result of increases in billed receivables of $19,645 and unbilled receivables of $15,809, partially offset by increases in accounts payable of $11,783 and decreases in prepaid expenses and other assets of $10,049. The increases in billed and unbilled receivables was primarily due to timing of project billing cycles. The increase in accounts payable primarily related to timing of payments, and the decrease in prepaid expenses and other assets resulted from a $9,536 decrease in prepaid income taxes.
Investing activities
During the nine months ended September 30, 2023 and October 1, 2022, net cash used in investing activities totaled $203,071 and $19,807, respectively. The increase in cash used in investing activities was primarily a result of increased cash paid for acquisitions of $184,089.
Financing activities
Net cash flows provided by financing activities totaled $165,727 during the nine months ended September 30, 2023 compared to net cash flows used in financing activities of $54,393 during the nine months ended October 1, 2022. The increase in cash provided by financing activities was primarily a result of borrowings on our Senior Credit Facility of $188,000 during the nine months ended September 30, 2023 and a decrease in principal payments on our Senior Credit Facility of $30,000 during the nine months ended September 30, 2023.
Financing
Senior Credit Facility
On August 13, 2021 (the "Closing Date"), we amended and restated our Credit Agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility"), originally dated December 7, 2016 and as amended to the Closing Date, with Bank of America, N.A. ("Bank of America"), as administrative agent, swingline lender and letter of credit issuer, the other lenders party thereto, and certain of our subsidiaries as guarantors. Pursuant to the Second A&R Credit Agreement, the previously drawn term commitments of $150,000 and revolving commitments totaling $215,000 in the aggregate were converted into revolving commitments totaling $400,000 in the aggregate. These revolving commitments are available through August 13, 2026 (the "Maturity Date") and an aggregate amount of approximately $138,750 was drawn under the Second A&R Credit Amendment on the Closing Date to repay previously existing borrowings under the term and revolving facilities prior to such amendment and restatement. Borrowings under the Second A&R Credit Agreement are secured by a first priority lien on substantially all of our assets. The Second A&R Credit Agreement also includes an accordion feature permitting us to request an increase in the revolving facility under the Second A&R Credit Agreement by an additional amount of up to $200,000 in the aggregate. As of September 30, 2023 and December 31, 2022, the outstanding balance on the Second A&R Credit Agreement was $206,750 and $33,750, respectively.
Our Second A&R Credit Agreement provides for the replacement of LIBOR (London Interbank Offered Rate), which prior to April 1, 2023, was transitioned to SOFR (Secured Overnight Funding Rate), subject to the completion of the relevant existing interest period ("LIBOR Transition"). Borrowings under the Second A&R Credit Agreement bear interest at variable rates which are, at our option, tied to a Eurocurrency rate equal to LIBOR or, from and after the LIBOR Transition, either Term SOFR or Daily Simple SOFR, plus in each case an applicable margin, or a base rate denominated in U.S. dollars. Interest rates remain subject to change based on our consolidated leverage ratio. As of September 30, 2023 our interest rate was 6.7%.
26


The Second A&R Credit Agreement contains financial covenants that require us to maintain a consolidated net leverage ratio (the ratio of our pro forma consolidated net funded indebtedness to our pro forma consolidated EBITDA for the most recently completed measurement period) of no greater than 4.00 to 1.00.
These financial covenants also require us to maintain a consolidated fixed charge coverage ratio of no less than 1.10 to 1.00 as of the end of any measurement period. As of September 30, 2023, we were in compliance with the financial covenants.
The Second A&R Credit Agreement contains covenants that may have the effect of limiting our ability to, among other things, merge with or acquire other entities, enter into a transaction resulting in a Change in Control, create certain new liens, incur certain additional indebtedness, engage in certain transactions with affiliates, or engage in new lines of business, or sell a substantial part of their assets. The Second A&R Credit Agreement also contains customary events of default, including (but not limited to) a default in the payment of principal or, following an applicable grace period, interest, breaches of our covenants or warranties under the Second A&R Credit Agreement, payment default or acceleration of certain indebtedness, certain events of bankruptcy, insolvency or liquidation, certain judgments or uninsured losses, changes in control, and certain liabilities related to ERISA based plans.
The Second A&R Credit Agreement limits the payment of cash dividends (together with certain other payments that would constitute a "Restricted Payment" within the meaning of the Second A&R Credit Agreement and generally including dividends, stock repurchases, and certain other payments in respect to warrants, options, and other rights to acquire equity securities), unless the Consolidated Leverage Ratio would be less than 3.25 to 1.00 and available liquidity (defined as unrestricted, domestically held cash plus revolver availability) would be at least $30,000, in each case after giving effect to such payment.
Total debt issuance costs incurred and capitalized in connection with the issuance of the Second A&R Credit Agreement were $3,702. Total amortization of debt issuance costs was $208 and $573 during the three and nine months ended September 30, 2023, respectively, and $185 and $556 during the three and nine months ended October 1, 2022, respectively.
Other Obligations
We have aggregate obligations related to acquisitions of $7,338, $5,394, $3,892, and $4,010 due in the remainder of fiscal 2023, 2024, 2025, and 2026, respectively. As of September 30, 2023, our weighted average interest rate on other outstanding obligations was 3.0%.
Recently Issued Accounting Pronouncements
None.
Cautionary Statement about Forward-Looking Statements
Our disclosure and analysis in this Quarterly Report on Form 10-Q, contain “forward-looking” statements within the meaning of Section 27A of the Securities Act Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), and the Private Securities Litigation Reform Act of 1995. From time to time, we also provide forward-looking statements in other materials we release to the public, as well as oral forward-looking statements. Forward-looking statements include, but are not limited to, statements regarding our “expectations,” “hopes,” “beliefs,” “intentions,” or “strategies” regarding the future. In addition, any statements that refer to projections, forecasts, or other characterizations of future events or circumstances, including any underlying assumptions, are forward-looking statements. We have tried, wherever possible, to identify such statements by using words such as “anticipate,” “believe,” “expect,” “intend,” “estimate,” “predict,” “project,” “may,” “might,” “should,” “would,” “will,” “likely,” “will likely result,” “continue,” “could,” “future,” “plan,” “possible,” “potential,” “target,” “forecast,” “goal,” “observe,” “seek,” “strategy” and other words and terms of similar meaning, but the absence of these words does not mean that a statement is not forward looking. The forward-looking statements in this Quarterly Report on Form 10-Q reflect the Company’s current views with respect to future events and financial performance.
Forward-looking statements are not historical factors and should not be read as a guarantee or assurance of future performance or results, and will not necessarily be accurate indications of the times at, or by, or if such performance or results will be achieved. Forward-looking statements are based on information available at the time those statements are made or management’s good faith beliefs, expectations and assumptions as of that time with respect to future events. Because forward-looking statements relate to the future, they are subject to risks and uncertainties that could cause actual performance or results to differ materially from those expressed in or suggested by the forward-looking statements. Important factors that could cause such differences include, but are not limited to:
27


our ability to retain the continued service of our key professionals and to identify, hire and retain additional qualified professionals,
changes in demand from the local and state government and private clients that we serve,
any material outbreak or material escalation of international hostilities, including developments in the conflict involving Israel and Hamas or Russia and the Ukraine and the economic consequences of related events such as the imposition of economic sanctions and resulting market volatility,
changes in general domestic and international economic conditions such as inflation rates, interest rates, tax rates, higher labor and healthcare costs, recessions, and changing government policies, laws and regulations,
the U.S. government and other governmental and quasi-governmental budgetary and funding approval process,
the ongoing effects of the global COVID-19 pandemic,
our ability to successfully execute our mergers and acquisitions strategy, including the integration of new companies into our business,
the possibility that our contracts may be terminated by our clients,
our ability to win new contracts and renew existing contracts,
competitive pressures and trends in our industry and our ability to successfully compete with our competitors,
our dependence on a limited number of clients,
our ability to complete projects timely, in accordance with our customers’ expectations, or profitability,
our ability to successfully manage our growth strategy,
our ability to raise capital in the future,
the credit and collection risks associated with our clients,
our ability to comply with procurement laws and regulations,
weather conditions and seasonal revenue fluctuations may adversely impact our financial results,
the enactment of legislation that could limit the ability of local, state and federal agencies to contract for our privatized services,
our ability to complete our backlog of uncompleted projects as currently projected,
the risk of employee misconduct or our failure to comply with laws and regulations,
our ability to control, and operational issues pertaining to, business activities that we conduct with business partners and other third parties,
our need to comply with a number of restrictive covenants and similar provisions in our senior credit facility that generally limit our ability to (among other things) incur additional indebtedness, create liens, make acquisitions, pay dividends and undergo certain changes in control, which could affect our ability to finance future operations, acquisitions or capital needs,
significant influence by our principal stockholder and the existence of certain anti-takeover measures in our governing documents, and
other factors identified throughout this Quarterly Report on Form 10-Q, including those discussed under the headings “Risk Factors,” “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” and “Business.”
28


The forward-looking statements contained in this report are based on our current expectations and beliefs concerning future developments and their potential effects on us. There can be no assurance that future developments affecting us will be those that we have anticipated. These forward-looking statements involve a number of risks, uncertainties, or assumptions, many of which are beyond our control, which may cause actual results or performance to be materially different from those expressed or implied by these forward-looking statements. These risks and uncertainties include, those factors described in Item 1A. Risk Factors in our Annual Report on Form 10-K for the year ended December 31, 2022. We undertake no obligation to update or revise any forward-looking statements, whether as a result of new information, future events, or otherwise, except as may be required under applicable securities laws. You are advised, however, to consult any further disclosures we make on related subjects in our Form 10-Q, 8-K and 10-K reports filed with the SEC. Our Annual Report on Form 10-K filing for the fiscal year ended December 31, 2022 listed various important factors that could cause actual results to differ materially from expected and historic results. We note these factors for investors as permitted by the Private Securities Litigation Reform Act of 1995, as amended. Readers can find them in “Item 1A. Risk Factors” of that filing and under the same heading of this filing. You may obtain a copy of our Annual Report on Form 10-K through our website, www.nv5.com. Information contained on our website is not incorporated into this report. In addition to visiting our website, you may read and copy any document we file with the SEC at www.sec.gov.
ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.
We are exposed to certain market risks from transactions that are entered into during the normal course of business. We have not entered into derivative financial instruments for trading purposes. We have no significant market risk exposure to interest rate changes related to the promissory notes related to acquisitions since these contain fixed interest rates. Our only debt subject to interest rate risk is the Senior Credit Facility which rates are variable, at our option, tied to a Eurocurrency rate equal to LIBOR (London Interbank Offered Rate) or, from and after the LIBOR Transition, either Term SOFR or Daily Simple SOFR, plus in each case an applicable rate or a base rate denominated in U.S. dollars. Interest rates are subject to change based on our Consolidated Senior Leverage Ratio (as defined in the Credit Agreement). As of September 30, 2023, there was $206,750 outstanding on the Senior Credit Facility. A one percentage point change in the assumed interest rate of the Senior Credit Facility would change our annual interest expense by approximately $2,068 annually.
ITEM 4. CONTROLS AND PROCEDURES.
Disclosure Controls and Procedures
As of the end of the period covered by this Quarterly Report on Form 10-Q, the Company carried out an evaluation, under the supervision and with the participation of its management, including the Company's Chief Executive Officer and its Chief Financial Officer, of the effectiveness of the design and operation of the Company's disclosure controls and procedures (as such term is defined in rules 13a-15(e) and 15d-15(e) under the Exchange Act). Based on that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the end of the period covered by this Quarterly Report on Form 10-Q, the Company's disclosure controls and procedures were effective to provide reasonable assurance that information required to be disclosed by the Company in the reports that it files or submits under the Exchange Act is (i) recorded, processed, summarized and reported within the time periods specified by the Securities and Exchange Commission's rules and forms, and (ii) accumulated and communicated to the Company's management, including the Chief Executive Officer and Chief Financial Officer, in a manner that allows timely decisions regarding required disclosure.
Changes in Internal Control Over Financial Reporting
There were no changes to the Company’s internal control over financial reporting as defined in Exchange Act Rules 13a-15(e) and 15d-15(e) that occurred during the quarter ended September 30, 2023 that have materially affected, or are reasonably likely to materially affect, the Company’s internal control over financial reporting.
29


PART II – OTHER INFORMATION
ITEM 1. LEGAL PROCEEDINGS.
From time to time, we are subject to various legal proceedings that arise in the normal course of our business activities. As of the date of this Quarterly Report on Form 10-Q, we are not a party to any litigation the outcome of which, if determined adversely to us, would individually or in the aggregate be reasonably expected to have a material adverse effect on our results of operations or financial position.
ITEM 1A. RISK FACTORS.
There have been no material changes to any of the principal risks that we believe are material to our business, results of operations and financial condition, from the risk factors previously disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.
ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS.
Recent Sales of Unregistered Securities

On July 31, 2023, we agreed to issue $800 of shares of our common stock as partial consideration in an acquisition and up to $300 of additional shares of our common stock as contingent consideration based on the then-current market price on the first, second, and third earn-out target dates. These shares were sold in reliance upon Section 4(a)(2) of the Securities Act of 1933, as amended, as a transaction by an issuer not involving a public offering.
Issuer Purchase of Equity Securities
The following table summarizes the purchases of shares of our common stock made by us during the three months ended September 30, 2023 (in thousands, except for share data and average price per share):
PeriodTotal Number of Shares Purchased (1)Average Price Paid per ShareTotal Number of Shares Purchased as Part of Publicly Announced Plans or ProgramsApproximate Dollar Value of Shares that May Yet Be Purchased Under the Plans or Programs
7/2/2023 - 7/29/2023730 $111.23 — $— 
7/30/2023 - 8/26/2023— $— — $— 
8/27/2023 - 9/30/2023— $— — $— 
(1) Represents purchases of common stock tendered by employees to satisfy required tax withholding obligations arising from the vesting of restricted shares of common stock. These shares were not purchased as part of a publicly announced program to purchase common stock.
ITEM 3. DEFAULTS UPON SENIOR SECURITIES.
None.
ITEM 4. MINE SAFETY DISCLOSURES.
Not applicable.
ITEM 5. OTHER INFORMATION.
None.
30


ITEM 6.    EXHIBITS.
NumberDescription
101.INSXBRL Instance Document
101.SCHXBRL Taxonomy Extension Schema Document
101.CALXBRL Taxonomy Extension Calculation Linkbase Document
101.LABXBRL Taxonomy Extension Label Linkbase Document
101.PREXBRL Taxonomy Extension Presentation Linkbase Document
101.DEFXBRL Taxonomy Extension Definition Linkbase Document
†    Indicates a management contract or compensatory plan, contract, or arrangement.
*    Filed herewith.
**    Furnished herewith. This certification is being furnished solely to accompany this report pursuant to 18 U.S.C. Section 1350, and is not being filed for purposes of Section 18 of the Exchange Act of 1934, as amended, and is not to be incorporated by reference into any filings of the Company, whether made before or after the date hereof, regardless of any general incorporation language in such filing.

31


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.
NV5 GLOBAL, INC.
/s/ Edward Codispoti
Date: November 3, 2023Edward Codispoti
Chief Financial Officer
(Principal Financial and Accounting Officer)

32
EX-31.1 2 nvee-2023x09x30xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Dickerson Wright, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2023 of NV5 Global, 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: November 3, 2023
/s/ Dickerson Wright
Dickerson Wright
Chairman & Chief Executive Officer
(Principal Executive Officer)


EX-31.2 3 nvee-2023x09x30xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Edward Codispoti, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2023 of NV5 Global, 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: November 3, 2023
/s/ Edward Codispoti
Edward Codispoti
Chief Financial Officer
(Principal Financial Officer)


EX-32.1 4 nvee-2023x09x30xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of NV5 Global, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), Dickerson Wright, Chief Executive Officer of the Company, and Edward Codispoti, Chief Financial Officer of the Company, each certify, to the best of his knowledge, pursuant to Rule 13a-14(b) or 15d-14(b) of the Securities Exchange Act of 1934, as amended, and 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: November 3, 2023
/s/ Dickerson Wright
Dickerson Wright
Chairman & Chief Executive Officer
Date: November 3, 2023
/s/ Edward Codispoti
Edward Codispoti
Chief Financial Officer
This certification accompanies this Quarterly Report on Form 10-Q pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 and shall not, except to the extent required by such Act, be deemed filed by the Company for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). Such certification will not be deemed to be incorporated by reference into any filing under the Securities Act of 1933, as amended, or the Exchange Act, except to the extent the Company specifically incorporates it by reference.
A signed original of this written statement required by Rule 13a-14(b) or 15d-14(b) of the Exchange Act and Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.

EX-101.SCH 5 nvee-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Organization and Nature of Business Operations link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Recent Accounting Pronouncements link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Earnings per Share link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Business Acquisitions link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Billed and Unbilled Receivables link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Property and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Notes Payable and Other Obligations link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Contingent Consideration link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Reportable Segments link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Earnings per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Business Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Billed and Unbilled Receivables (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Property and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Notes Payable and Other Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Contingent Consideration (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Reportable Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Earnings per Share - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Business Acquisitions - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Business Acquisitions - Results of Operations From any Business Acquired (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Business Acquisitions - Pro Forma Consolidated Results of Operations (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Billed and Unbilled Receivables (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Property and Equipment, net - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Goodwill and Intangible Assets - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Goodwill and Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Notes Payable and Other Obligations - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Contingent Consideration (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Stock-Based Compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Reportable Segments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Reportable Segments - Summarized Financial Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Reportable Segments - Revenue by Customer Type (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Reportable Segments - Revenue by Contract Type (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 nvee-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 nvee-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 nvee-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Schedule Of Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Accrued liabilities Total Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Changes in operating assets and liabilities, net of impact of acquisitions: Increase (Decrease) in Operating Capital [Abstract] Cash Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Other direct costs Other Direct Costs Other cost of labor directly related to good produced and service rendered. Contingent Consideration Contingencies Disclosure [Text Block] Schedule Of Revenue From External Customers By Products And Services Revenue from External Customers by Products and Services [Table Text Block] Award Type [Domain] Award Type [Domain] Remaining performance obligation expected timing of satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Beginning (in shares) Ending (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Notes Payable and Other Obligations Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Payments to acquire businesses Payments to Acquire Businesses, Gross Schedule Of The Fair Values Of The Assets Acquires And Liabilities Assumed Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Revolving Credit Facility Revolving Credit Facility [Member] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Payment of contingent consideration with common stock Stock Issued During Period, Value, Other Deferred income tax liabilities, net Deferred income tax liabilities, net Deferred Income Tax Liabilities, Net Segment Reporting [Abstract] Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Computer equipment Computer Equipment [Member] Period Two Period Two [Member] Period Two [Member] Commitments and contingencies Commitments and Contingencies Weighted Average Grant Date Fair Value Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Roll Forward] [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Roll Forward] [Roll Forward] Sub-consultant services Sub-consultant Services The cost of sub-consultant services. Stockholders' Equity Equity [Text Block] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Geographical [Axis] Geographical [Axis] Income Taxes Income Tax Disclosure [Text Block] Billings in excess of costs and estimated earnings on uncompleted contracts Increase (Decrease) in Contract with Customer, Liability Schedule of Revenue by Major Customers, by Reporting Segments [Table] Schedule of Revenue by Major Customers, by Reporting Segments [Table] Restricted stock issuance, net (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Total Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Property and equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Customer [Axis] Customer [Axis] Current liabilities: Liabilities, Current [Abstract] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.01 par value; 5,000,000 shares authorized, no shares issued and outstanding Preferred Stock, Value, Issued Business Acquisition [Line Items] Business Acquisition [Line Items] Revenue, Remaining Performance Obligation, Satisfaction Period [Domain] Revenue, Remaining Performance Obligation, Satisfaction Period [Domain] Revenue, Remaining Performance Obligation, Satisfaction Period [Domain] Payments of contingent consideration Payment for Contingent Consideration Liability, Financing Activities Diluted (in dollars per share) Earnings Per Share, Diluted Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Billed receivables, net Billed receivables, net Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] BTS BTS [Member] Represents the operating and reportable segment Buildings, Energy & Science (BES), which includes energy and environmental practices as well as buildings program management. Line of Credit Line of Credit [Member] Benefits Accrued Employee Benefits, Current Private sector Private Sector [Member] Information related to the private sector. Trading Symbol Trading Symbol Non-compete Noncompete Agreements [Member] Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Debt covenant, liquidity availability Debt Covenant, Liquidity Availability Debt Covenant, Liquidity Availability Survey and field equipment Survey and Field Equipment [Member] Represents the property and equipment that are classified as survey and field equipment. Property and equipment, net Property and equipment, net Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization Acquired Finite-Lived Intangible Assets [Line Items] Acquired Finite-Lived Intangible Assets [Line Items] Liabilities and Stockholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Finance leases Lease Obligation Incurred Stockholders’ equity: Equity, Attributable to Parent [Abstract] Billings in excess of costs and estimated earnings on uncompleted contracts Contract with Customer, Liability Schedule Of Reconciliation Of The Net Income And Weighted Average Shares Outstanding For The Calculation Of Basic And Diluted Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Award vesting period (n years) Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Proceeds from sale of assets Proceeds from Sale of Productive Assets Intangible assets, useful life (in years) Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Number of Unvested Restricted Shares of Common Stock and Restricted Stock Units Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Payment of contingent consideration with common stock Payment of Contingent Consideration and Other Obligations With Common Stock Common stock issued as payment for contingent consideration. Goodwill Beginning balance Ending balance Goodwill Schedule Of Property And Equipment Property, Plant and Equipment [Table Text Block] Unbilled receivables Increase Decrease in Contract With Customer From Unbilled Receivables The increase (decrease) during the reporting period of the amount of unbilled receivables from contracts with customers for work performed for which billing has not occurred, net of uncollectible accounts. Equity Components [Axis] Equity Components [Axis] Weighted average common shares outstanding: Weighted Average Common Shares Outstanding [Abstract] Weighted Average Common Shares Outstanding [Abstract] Accrued operating expenses Accrued Operating Expenses Accrued Operating Expenses Other Other Acquisition [Member] Other Acquisition Other Direct Costs Other Direct Costs [Member] Other Direct Costs [Member] Entity Small Business Entity Small Business Salaries and wages, payroll taxes, and benefits Salaries and Wages, Payroll Taxes and Benefits Labor and Related Expense Excluding Stock Based Compensation Local Phone Number Local Phone Number Billed receivables Increase (Decrease) in Accounts Receivable Depreciation expense Depreciation Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] VIS Visual Information Solutions [Member] Visual Information Solutions Income Statement Location [Axis] Income Statement Location [Axis] Schedule Of Notes Payable And Other Obligations Schedule of Long-Term Debt Instruments [Table Text Block] Payables and Accruals [Abstract] Payables and Accruals [Abstract] Payment of contingent consideration with common stock (in shares) Stock Issued During Period, Shares, Other Unbilled receivables, net Unbilled receivables, net Contract with Customer, Asset, after Allowance for Credit Loss, Current Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Award Type [Axis] Award Type [Axis] Antidilutive securities (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Interest expense Interest Expense Number of shares authorized (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Goodwill [Line Items] Goodwill [Line Items] Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (in shares) Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation Entity File Number Entity File Number Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Current portion of lease liability Operating Lease, Liability, Current Share-based Payment Arrangement, Restricted Stock Unit, Activity Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Other obligations Stock Payable [Member] Represents the stock payable. Amortization expense Amortization of Intangible Assets Entity Shell Company Entity Shell Company Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Net Amount Finite-Lived Intangible Assets, Net Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Consideration paid (Cash, Notes and/or stock) Consideration paid (Cash, Notes and/or stock) This item represents cash and common stock transferred plus the liabilities assumed on the sale date. Segment Reporting, Revenue Reconciling Item [Line Items] Segment Reporting, Revenue Reconciling Item [Line Items] Cash and cash equivalents – beginning of period Cash and cash equivalents – end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Billed receivables Accounts Receivable, before Allowance for Credit Loss Senior credit facility Senior Credit Facility Senior Credit Facility [Member] Represents the senior credit facility debt instrument. Common stock, shares issued (in shares) Common Stock, Shares, Issued Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Aggregate purchase price Total Consideration Business Combination, Consideration Transferred Gross profit Gross Profit Current portion of notes payable and other obligations Current portion of notes payable and other obligations Long-Term Debt and Lease Obligation, Current Security Exchange Name Security Exchange Name Accumulated other comprehensive income (loss) Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated Other Comprehensive Income (Loss) Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Cost not yet recognized, term (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Maximum Maximum [Member] Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Weighted average vesting period (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Income before income taxes Business Combination Pro Forma Information Income Before Income Taxes of Acquiree Since Acquisition Date Actual This element represents the amount of income before income taxes of the acquiree since the acquisition date included in the consolidated income statement for the reporting period. 2023 Acquisitions Goodwill, Acquired During Period Interest rate during period (as a percent) Line of Credit Facility, Interest Rate During Period Uncollateralized Promissory Notes Uncollateralized promissory notes Uncollateralized Promissory Note [Member] A written promise to pay a note to a third party with no attached collateral. AR Credit Agreement AR Credit Agreement [Member] AR Credit Agreement [Member] Diluted earnings per share (in dollars per share) Business Acquisition, Pro Forma Earnings Per Share, Diluted Developed technology Developed Technology [Member] Developed Technology [Member] Entity Address, Address Line One Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Two Reduction of liability for payments made Business Combination, Contingent Consideration, Liability, Reduction of Liability for Payments Made Represents the amount of reduction of liability for payments made, effecting a change in the contingent consideration liability during the period. Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Stock-Based Compensation Share-Based Payment Arrangement [Text Block] Numerator: Numerator [Abstract] Numerator [Abstract] Business Acquisition [Axis] Business Acquisition [Axis] Less: allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Schedule Of Finite-lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Other current liabilities Other Liabilities, Current Income Statement [Abstract] Income Statement [Abstract] Gross revenues Revenue from Contract with Customer, Including Assessed Tax Contract with Customer, Basis of Pricing [Axis] Contract with Customer, Basis of Pricing [Axis] Title of 12(b) Security Title of 12(b) Security Denominator: Denominator [Abstract] Denominator [Abstract] Business Acquisitions Business Combination Disclosure [Text Block] Net income Business Acquisition, Pro Forma Net Income (Loss) Operating Segments Operating Segments [Member] Beginning (in dollars per share) Ending (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Schedule Of Accounts, Notes, Loans And Financing Receivable Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Foreign Currency Translation of non-USD functional currency goodwill Goodwill, Foreign Currency Translation Gain (Loss) Total direct costs Direct Operating Costs Statistical Measurement [Axis] Statistical Measurement [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Other assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Goodwill and Intangible Assets Goodwill and Intangible Assets, Policy [Policy Text Block] Segments [Domain] Segments [Domain] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Consolidation Items [Domain] Consolidation Items [Domain] Retained earnings Retained Earnings (Accumulated Deficit) Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Performance Obligations Revenue from Contract with Customer [Policy Text Block] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Entity Address, State or Province Entity Address, State or Province Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Accrued liabilities and other long-term liabilities Increase (Decrease) in Accrued Liabilities And Other Long-Term Liabilities Increase (Decrease) in Accrued Liabilities And Other Long-Term Liabilities Common stock, shares outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Series of Individually Immaterial Business Acquisitions Series of Individually Immaterial Business Acquisitions [Member] Notes payable outstanding balance Notes Payable Customer backlog Customer backlog Customer Lists [Member] Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Foreign currency translation losses, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Net income – basic Net Income (Loss) Available to Common Stockholders, Basic Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Debt Instrument [Axis] Debt Instrument [Axis] Gross revenues Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual Effective income tax rate (as a percent) Effective Income Tax Rate Reconciliation, Percent Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Direct costs: Direct Operating Costs [Abstract] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Property and Equipment, net Property, Plant and Equipment Disclosure [Text Block] Payments of borrowings from Senior Credit Facility Repayments of Long-Term Lines of Credit Indefinite-lived Intangible Assets Acquired as Part of Business Combination [Table] Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Plan Name [Axis] Plan Name [Axis] Accrued Liabilities Accounts Payable and Accrued Liabilities Disclosure [Text Block] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Number of reportable segments Number of Reportable Segments Basis of Presentation and Principles of Consolidation Basis of Presentation and Principles of Consolidation [Policy Text Block] Disclosure of accounting policy for the basis of presentation and principles of consolidation for the company. Earnings per share: Earnings Per Share [Abstract] Common stock, $0.01 par value; 45,000,000 shares authorized, 15,892,912 and 15,523,300 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively Common Stock, Value, Issued General and administrative General and Administrative Expense Trade name Trade name Trade Names [Member] Equity Plan 2011 Equity Plan 2011 [Member] Represents the 2011 equity incentive plan. Total current assets Assets, Current Earn-out of cash fair value Contingent consideration, beginning of the year Total contingent consideration, end of the period Business Combination, Contingent Consideration, Liability Entity Filer Category Entity Filer Category Statement [Table] Statement [Table] Contingent consideration, less current portion Contingent consideration, less current portion Business Combination, Contingent Consideration, Liability, Noncurrent Current Fiscal Year End Date Current Fiscal Year End Date Total notes payable and other obligations Long-Term Debt and Lease Obligation, Including Current Maturities Goodwill and Intangible Assets Goodwill and Intangible Assets Disclosure [Text Block] Recent Accounting Pronouncements Accounting Standards Update and Change in Accounting Principle [Text Block] Schedule of Accumulated Other Comprehensive Income (Loss) Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Schedule Of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Public and quasi-public sector Public and Quasi-public Sector [Member] Information related to the public and quasi public sector. Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Current portion of contingent consideration Current portion of contingent consideration Business Combination, Contingent Consideration, Liability, Current Notes payable and other obligations issued for acquisitions Noncash or Part Noncash Acquisition, Payables Assumed Other Other Accrued Liabilities, Current Corporate Corporate, Non-Segment [Member] Covenant, net leverage ratio Line of Credit Facility, Covenant, Net Leverage Ratio Line of Credit Facility, Covenant, Net Leverage Ratio Additions for acquisitions Business Combination, Contingent Consideration, Liability, Additions For Acquisitions Represents the additions for acquisitions during the period effecting a change in the contingent consideration liability. Depreciation and amortization Depreciation, Depletion and Amortization Office furniture and equipment Furniture and Fixtures [Member] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Period One Period One [Member] Period One [Member] Business Combination and Asset Acquisition [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Gross revenues Business Acquisition, Pro Forma Revenue Restricted Stock Restricted Stock [Member] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Income before income tax benefit (expense) Segment income before taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Notes payable and other obligations, less current portion Notes payable and other obligations, less current portion Long-Term Debt and Lease Obligation Second A&R Credit Agreement Second A&R Credit Agreement [Member] Second A&R Credit Agreement Deferred tax liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table] Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Depreciation and amortization Depreciation, Depletion and Amortization, Nonproduction Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities Accounting Standards Update and Change in Accounting Principle [Abstract] Accounting Standards Update and Change in Accounting Principle [Abstract] Entity Emerging Growth Company Entity Emerging Growth Company Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Debt issuance costs, net of amortization Debt Issuance Costs, Net Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Net assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Intangible assets: Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus Useful life (in years) Finite-Lived Intangible Asset, Useful Life Antidilutive Securities [Axis] Antidilutive Securities [Axis] Consideration of common stock Business Acquisition, Equity Interest Issued or Issuable, Value Assigned Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Facilities and facilities related Operating Lease, Expense Schedule Of Revenue From External Customers By Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Income from operations Income (Loss) from Continuing Operations before Interest Expense, Interest Income, Income Taxes, Noncontrolling Interests, Net City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Earnings per Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Weighted average interest rate (as a percent) Debt, Weighted Average Interest Rate Stock issuance for acquisitions Stock Issued During Period, Value, Acquisitions, Net Of Issuance Costs Stock Issued During Period, Value, Acquisitions, Net Of Issuance Costs Accrued vacation Accrued Vacation, Current Minimum Minimum [Member] Receivables [Abstract] Receivables [Abstract] Organization and Nature of Business Operations Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Minimum fixed charge coverage ratio Line of Credit Facility, Covenant, Minimum Fixed Charge Coverage Ratio The Minimum level of fixed charge coverage ratio under the line of credit facility. Contract with Customer, Basis of Pricing [Domain] Contract with Customer, Basis of Pricing [Domain] Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation Payment, Tax Withholding, Share-Based Payment Arrangement Debt issuance costs Debt Issuance Costs, Gross Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Non-cash lease expense Non-cash lease expense Amount of net increase (decrease) in right-of-use assets and operating lease liabilities during the period. Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Unbilled receivables Contract with Customer, Asset, before Allowance for Credit Loss, Current Retained Earnings Retained Earnings [Member] Goodwill Business Acquisition, Goodwill, Expected Tax Deductible Amount Total liabilities and stockholders’ equity Liabilities and Equity Other assets Other Assets, Noncurrent Basic (in dollars per share) Earnings Per Share, Basic Right-of-use lease assets, net Operating Lease, Right-of-Use Asset Schedule of Long-term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Accounting Policies [Abstract] Accounting Policies [Abstract] Contingent consideration Increase (Decrease) In Contingent Consideration Liability Increase (Decrease) In Contingent Consideration Liability Gain on disposals of property and equipment Gain (Loss) on Disposition of Assets GEO GEO [Member] GEO [Member] Net income – diluted Net Income (Loss) Available to Common Stockholders, Diluted Reclassification of liability-classified awards to equity-classified awards APIC, Share-Based Payment Arrangement, Reclassifications, Increase for Cost Recognition APIC, Share-Based Payment Arrangement, Reclassifications, Increase for Cost Recognition Entity Address, City or Town Entity Address, City or Town Schedule Of Segment Reporting Information, By Segment Schedule of Segment Reporting Information, by Segment [Table Text Block] INF INF [Member] Represents the operating and reportable segment Infrastructure (INF), which includes engineering, civil program management, and construction quality assurance practices. Stock issuance for acquisitions Stock Issued (Decrease) increase of liability related to re-measurement of fair value Business Combination, Contingent Consideration, Liability, Increase (Decrease) Of Liability Related To Re-measurement Of Fair Value Represents the amount of increase (reduction) of the contingent consideration liability during the period related to re-measurement of fair value. Schedule Of Changes Carrying Value Of Estimated Contingent Consideration Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table Text Block] Document Transition Report Document Transition Report Adjustments Goodwill, Purchase Accounting Adjustments Developed technology Technology-Based Intangible Assets [Member] Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Schedule Of Revenue By Major Customers By Reporting Segments Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block] Right-of-use assets Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Right-Of-Use Assets Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Right-Of-Use Assets Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Less: allowance for doubtful accounts Contract with Customer, Asset, Allowance for Credit Loss, Current Available increase in borrowing capacity Line of Credit Facility, Available Increase in Borrowing Capacity Line of Credit Facility, Available Increase in Borrowing Capacity Long-term debt, gross Long-Term Debt, Gross Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Less: accumulated depreciation Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization Total Assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Fair value of restricted shares vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Revenue, Remaining Performance Obligation, Satisfaction Period [Axis] Revenue, Remaining Performance Obligation, Satisfaction Period [Axis] Revenue, Remaining Performance Obligation, Satisfaction Period [Axis] Provision for doubtful accounts Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Contingent earn-out liability (Cash and stock) Business Combination, Consideration Transferred, Liabilities Incurred Finance leases Finance Lease, Liability Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Total estimated fair value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Entity Registrant Name Entity Registrant Name Effect of dilutive non-vested restricted shares and units (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Stock issuance for acquisitions (in shares) Stock Issued During Period, Shares, Acquisitions Other current liabilities Increase (Decrease) in Other Current Liabilities Change in fair value of contingent consideration Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Document Period End Date Document Period End Date Aggregate credit agreement Proceeds from Lines of Credit Restricted stock issuance, net Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Schedule Of Pro Forma Consolidated Results Of Operations Business Acquisition, Pro Forma Information [Table Text Block] Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation 1 Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation 1 Entity Central Index Key Entity Central Index Key Deferred compensation Share-Based Payment Arrangement, Expense Gross Carrying Amount Finite-Lived Intangible Assets, Gross Income tax benefit (expense) Income Tax Expense (Benefit) Foreign Non-US [Member] Billed and unbilled receivables, net Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables Effect of issuable shares related to acquisitions (in shares) Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares Basic earnings per share (in dollars per share) Business Acquisition, Pro Forma Earnings Per Share, Basic Prepaid expenses Prepaid expenses Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, acquired at the acquisition date. Number of operating segments Number of Operating Segments Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Equity [Abstract] Excess consideration over the amounts assigned to the net assets acquired (Goodwill) Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net Revenue from contract liability Revenue from Contract with Customer, Excluding Assessed Tax Amendment Flag Amendment Flag Finite-lived intangible assets: Finite-Lived Intangible Assets, Net [Abstract] Axim Axim Geospatial, LLC [Member] Axim Geospatial, LLC Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Payments on notes payable Repayments of Notes Payable Cash paid for acquisitions (net of cash received from acquisitions) Aggregate cash purchase price Payments to Acquire Businesses, Net of Cash Acquired Credit Facility [Domain] Credit Facility [Domain] Liability Based Awards Liability Based Awards [Member] Liability Based Awards Leasehold improvements Leasehold Improvements [Member] Diluted (in shares) Diluted weighted average shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Salaries and wages Cost, Direct Labor Other obligations Other Commitment Operating expenses: Operating Expenses [Abstract] Payroll and related taxes Payroll and Related Taxes Carrying value as of the balance sheet date of obligations incurred and payable for payroll and statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Additional Paid-In Capital Additional Paid-in Capital [Member] Total assets Assets Cover [Abstract] Cover [Abstract] Billed and Unbilled Receivables Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Amortization of debt issuance costs Amortization of Debt Issuance Costs United States UNITED STATES Number of businesses acquired Number of Businesses Acquired Other long-term liabilities Other Liabilities, Noncurrent Vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Remaining revenue performance obligation amount Revenue, Remaining Performance Obligation, Amount Total operating expenses Operating Expenses Reportable Segments Segment Reporting Disclosure [Text Block] Net increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Equity Component [Domain] Equity Component [Domain] Potential earn-out in cash and stock Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Debt Instrument [Line Items] Debt Instrument [Line Items] Basic (in shares) Basic weighted average shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Fixed-unit price contracts Fixed-Price Contract [Member] Cost-reimbursable contracts Cost-reimbursable Contracts [Member] Contract with customer in which amount of contract may be cost-reimbursable. Contingent consideration (earn-out) Contingent Consideration Earn-out, Non-cash Contingent Consideration Earn-out, Non-cash Commitments and Contingencies Disclosure [Roll Forward] Commitments and Contingencies Disclosure [Roll Forward] Commitments and Contingencies Disclosure [Roll Forward] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Comprehensive income: Other Comprehensive Income (Loss), Net of Tax [Abstract] Customer relationships Customer relationships Customer Relationships [Member] Borrowings from Senior Credit Facility Proceeds from Long-Term Lines of Credit EX-101.PRE 9 nvee-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Cover - shares
9 Months Ended
Sep. 30, 2023
Oct. 27, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-35849  
Entity Registrant Name NV5 Global, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 45-3458017  
Entity Address, Address Line One 200 South Park Road,  
Entity Address, Address Line Two Suite 350  
Entity Address, City or Town Hollywood,  
Entity Address, State or Province FL  
Entity Address, Postal Zip Code 33021  
City Area Code 954  
Local Phone Number 495-2112  
Title of 12(b) Security Common Stock, $0.01 par value  
Trading Symbol NVEE  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   15,895,937
Entity Central Index Key 0001532961  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Amendment Flag false  
Current Fiscal Year End Date --12-30  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 46,439 $ 38,541
Billed receivables, net 166,859 145,637
Unbilled receivables, net 122,049 92,862
Prepaid expenses and other current assets 14,239 13,636
Total current assets 349,586 290,676
Property and equipment, net 49,930 41,640
Right-of-use lease assets, net 39,105 39,314
Intangible assets, net 236,433 160,431
Goodwill 527,030 400,957
Other assets 3,881 2,705
Total assets 1,205,965 935,723
Current liabilities:    
Accounts payable 67,144 57,771
Accrued liabilities 64,538 44,313
Billings in excess of costs and estimated earnings on uncompleted contracts 42,808 31,183
Other current liabilities 2,286 1,597
Current portion of contingent consideration 3,845 10,854
Current portion of notes payable and other obligations 12,989 15,176
Total current liabilities 193,610 160,894
Contingent consideration, less current portion 1,897 4,481
Other long-term liabilities 29,102 29,542
Notes payable and other obligations, less current portion 215,642 39,673
Deferred income tax liabilities, net 5,797 6,893
Total liabilities 446,048 241,483
Commitments and contingencies
Stockholders’ equity:    
Preferred stock, $0.01 par value; 5,000,000 shares authorized, no shares issued and outstanding 0 0
Common stock, $0.01 par value; 45,000,000 shares authorized, 15,892,912 and 15,523,300 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively 159 155
Additional paid-in capital 502,909 471,300
Accumulated other comprehensive income (loss) (612) 0
Retained earnings 257,461 222,785
Total stockholders’ equity 759,917 694,240
Total liabilities and stockholders’ equity $ 1,205,965 $ 935,723
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.3
CONSOLIDATED BALANCE SHEETS (Parentheticals) - $ / shares
Sep. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 45,000,000 45,000,000
Common stock, shares issued (in shares) 15,892,912 15,523,300
Common stock, shares outstanding (in shares) 15,892,912 15,523,300
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.3
CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Income Statement [Abstract]        
Gross revenues $ 239,287 $ 204,075 $ 646,242 $ 596,960
Direct costs:        
Salaries and wages 56,853 48,295 162,316 141,976
Sub-consultant services 45,522 41,253 112,827 116,557
Other direct costs 21,468 14,592 49,357 45,426
Total direct costs 123,843 104,140 324,500 303,959
Gross profit 115,444 99,935 321,742 293,001
Operating expenses:        
Salaries and wages, payroll taxes, and benefits 60,262 49,670 171,883 146,719
General and administrative 20,257 16,730 49,728 47,611
Facilities and facilities related 6,011 5,441 17,208 15,822
Depreciation and amortization 13,840 9,771 38,426 29,373
Total operating expenses 100,370 81,612 277,245 239,525
Income from operations 15,074 18,323 44,497 53,476
Interest expense (3,882) (1,003) (9,111) (2,804)
Income before income tax benefit (expense) 11,192 17,320 35,386 50,672
Income tax benefit (expense) 2,124 (1,257) (710) (8,699)
Net income $ 13,316 $ 16,063 $ 34,676 $ 41,973
Earnings per share:        
Basic (in dollars per share) $ 0.88 $ 1.09 $ 2.31 $ 2.85
Diluted (in dollars per share) $ 0.86 $ 1.05 $ 2.24 $ 2.75
Weighted average common shares outstanding:        
Basic (in shares) 15,210,100 14,768,689 15,035,898 14,732,726
Diluted (in shares) 15,497,836 15,301,545 15,448,693 15,242,453
Comprehensive income:        
Net income $ 13,316 $ 16,063 $ 34,676 $ 41,973
Foreign currency translation losses, net of tax (421) 0 (612) 0
Comprehensive income $ 12,895 $ 16,063 $ 34,064 $ 41,973
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.3
CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Income (Loss)
Retained Earnings
Beginning balance (in shares) at Jan. 01, 2022   15,414,005      
Beginning balance at Jan. 01, 2022 $ 624,720 $ 154 $ 451,754 $ 0 $ 172,812
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 14,312   14,312    
Restricted stock issuance, net (in shares)   133,397      
Restricted stock issuance, net 0 $ 2 (2)    
Stock issuance for acquisitions (in shares)   12,519      
Stock issuance for acquisitions 1,352   1,352    
Reclassification of liability-classified awards to equity-classified awards 0        
Net income 41,973       41,973
Ending balance (in shares) at Oct. 01, 2022   15,559,921      
Ending balance at Oct. 01, 2022 682,357 $ 156 467,416 0 214,785
Beginning balance (in shares) at Jul. 02, 2022   15,537,134      
Beginning balance at Jul. 02, 2022 660,943 $ 155 462,066 0 198,722
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 5,351   5,351    
Restricted stock issuance, net (in shares)   22,787      
Restricted stock issuance, net 0 $ 1 (1)    
Net income 16,063       16,063
Ending balance (in shares) at Oct. 01, 2022   15,559,921      
Ending balance at Oct. 01, 2022 $ 682,357 $ 156 467,416 0 214,785
Beginning balance (in shares) at Dec. 31, 2022 15,523,300 15,523,300      
Beginning balance at Dec. 31, 2022 $ 694,240 $ 155 471,300 0 222,785
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 15,031   15,031    
Restricted stock issuance, net (in shares)   244,050      
Restricted stock issuance, net 0 $ 3 (3)    
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (in shares)   (730)      
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (81)   (81)    
Stock issuance for acquisitions (in shares)   123,436      
Stock issuance for acquisitions 14,666 $ 1 14,665    
Reclassification of liability-classified awards to equity-classified awards 1,697   1,697    
Payment of contingent consideration with common stock (in shares)   2,856      
Payment of contingent consideration with common stock 300   300    
Other comprehensive income (loss) (612)     (612)  
Net income $ 34,676       34,676
Ending balance (in shares) at Sep. 30, 2023 15,892,912 15,892,912      
Ending balance at Sep. 30, 2023 $ 759,917 $ 159 502,909 (612) 257,461
Beginning balance (in shares) at Jul. 01, 2023   15,890,908      
Beginning balance at Jul. 01, 2023 741,148 $ 159 497,035 (191) 244,145
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Stock-based compensation 5,459   5,459    
Restricted stock issuance, net (in shares)   (2,213)      
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (in shares)   (730)      
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (81)   (81)    
Stock issuance for acquisitions (in shares)   2,091      
Stock issuance for acquisitions 196   196    
Payment of contingent consideration with common stock (in shares)   2,856      
Payment of contingent consideration with common stock 300   300    
Other comprehensive income (loss) (421)     (421)  
Net income $ 13,316       13,316
Ending balance (in shares) at Sep. 30, 2023 15,892,912 15,892,912      
Ending balance at Sep. 30, 2023 $ 759,917 $ 159 $ 502,909 $ (612) $ 257,461
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.3
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Cash flows from operating activities:    
Net income $ 34,676 $ 41,973
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 42,498 33,091
Non-cash lease expense 10,346 9,409
Provision for doubtful accounts 940 1,252
Stock-based compensation 16,504 15,249
Change in fair value of contingent consideration (7,518) (543)
Gain on disposals of property and equipment (633) (100)
Deferred income taxes (25,447) (4,288)
Amortization of debt issuance costs 573 556
Changes in operating assets and liabilities, net of impact of acquisitions:    
Billed receivables (6,364) 13,281
Unbilled receivables (24,442) (8,633)
Prepaid expenses and other assets 1,944 (8,105)
Accounts payable 3,846 (7,937)
Accrued liabilities and other long-term liabilities 1,243 (1,608)
Billings in excess of costs and estimated earnings on uncompleted contracts (2,113) (2,902)
Contingent consideration (1,307) 0
Other current liabilities 689 (304)
Net cash provided by operating activities 45,435 80,391
Cash flows from investing activities:    
Cash paid for acquisitions (net of cash received from acquisitions) (189,109) (5,020)
Proceeds from sale of assets 295 87
Purchase of property and equipment (14,257) (14,874)
Net cash used in investing activities (203,071) (19,807)
Cash flows from financing activities:    
Borrowings from Senior Credit Facility 188,000 0
Payments on notes payable (6,399) (7,796)
Payments of contingent consideration (793) (1,597)
Payments of borrowings from Senior Credit Facility (15,000) (45,000)
Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (81) 0
Net cash provided by (used in) financing activities 165,727 (54,393)
Effect of exchange rate changes on cash and cash equivalents (193) 0
Net increase in cash and cash equivalents 7,898 6,191
Cash and cash equivalents – beginning of period 38,541 47,980
Cash and cash equivalents – end of period 46,439 54,171
Non-cash investing and financing activities:    
Contingent consideration (earn-out) 325 5,849
Notes payable and other obligations issued for acquisitions 6,326 2,933
Stock issuance for acquisitions 14,666 1,352
Reclassification of liability-classified awards to equity-classified awards 1,697 0
Finance leases 888 644
Payment of contingent consideration with common stock $ 300 $ 0
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Organization and Nature of Business Operations
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Organization and Nature of Business Operations Organization and Nature of Business Operations
Business
NV5 Global, Inc. and its subsidiaries (collectively, the “Company” or “NV5 Global”) is a provider of technology, conformity assessment, consulting solutions, and software applications to public and private sector clients in the infrastructure, utility services, construction, real estate, environmental, and geospatial markets, operating nationwide and abroad. The Company’s clients include the U.S. Federal, state and local governments, and the private sector. NV5 Global provides a wide range of services, including, but not limited to:
Utility servicesMEP & technology design
LNG servicesCommissioning
EngineeringBuilding program management
Civil program managementEnvironmental health & safety
SurveyingReal estate transaction services
Construction quality assuranceEnergy efficiency & clean energy services
Code compliance consulting3D geospatial data modeling
Forensic servicesEnvironmental & natural resources
Litigation supportRobotic survey solutions
Ecological studiesGeospatial data applications & software
Fiscal Year
The Company operates on a "52/53 week" fiscal year ending on the Saturday closest to the calendar quarter end.
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The consolidated financial statements of the Company are presented in U.S. dollars in conformity with accounting principles generally accepted in the United States (“U.S. GAAP”) and have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”) for reporting of interim financial information. Pursuant to such rules and regulations, certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted. The consolidated financial statements include the accounts of the Company and its subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.
In the opinion of management, the accompanying unaudited interim consolidated financial statements of the Company contain all adjustments necessary to present fairly the financial position and results of operations of the Company as of the dates and for the periods presented. Accordingly, these statements should be read in conjunction with the consolidated financial statements and notes contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”). The results of operations and cash flows for the interim periods presented are not necessarily indicative of the results to be expected for any future interim period or for the full 2023 fiscal year.
Performance Obligations
To determine the proper revenue recognition method, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined or single contract should be accounted for as more than one performance obligation. The majority of the Company's contracts have a single performance obligation as the promise to transfer the individual goods or services that is not separately identifiable from other promises in the contracts and therefore, is not distinct.
The Company’s performance obligations are satisfied as work progresses or at a point in time. Revenue on the Company's cost-reimbursable contracts is recognized over time using direct costs incurred or direct costs incurred to date as compared to the estimated total direct costs for performance obligations because it depicts the transfer of control to the customer. Contract costs include labor, sub-consultant services, and other direct costs.
Gross revenue from services transferred to customers at a point in time is recognized when the customer obtains control of the asset, which is generally upon delivery and acceptance by the customer of the reports and/or analysis performed.
As of September 30, 2023, the Company had $853,829 of remaining performance obligations, of which $694,544 is expected to be recognized over the next 12 months and the majority of the balance over the next 24 months. Contracts for which work authorizations have been received are included in performance obligations. Performance obligations include only those amounts that have been funded and authorized and does not reflect the full amounts the Company may receive over the term of such contracts. In the case of non-government contracts and project awards, performance obligations include future revenue at contract or customary rates, excluding contract renewals or extensions that are at the discretion of the client. For contracts with a not-to-exceed maximum amount, the Company includes revenue from such contracts in performance obligations to the extent of the remaining estimated amount.
Contract Balances
The timing of revenue recognition, billings and cash collections results in billed receivables, unbilled receivables (contract assets), and billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities) on the Consolidated Balance Sheet. The liability “Billings in excess of costs and estimated earnings on uncompleted contracts” represents billings in excess of revenues recognized on these contracts as of the reporting date. This liability is generally classified as current. During the three and nine months ended September 30, 2023 the Company performed services and recognized $1,793 and $26,840, respectively, of revenue related to its contract liabilities that existed as of December 31, 2022.

Goodwill and Intangible Assets
Goodwill is the excess of consideration paid for an acquired entity over the amounts assigned to assets acquired, including other identifiable intangible assets and liabilities assumed in a business combination. To determine the amount of goodwill resulting from a business combination, the Company performs an assessment to determine the acquisition date fair value of the acquired company’s tangible and identifiable intangible assets and liabilities.
 
Goodwill is required to be evaluated for impairment on an annual basis or whenever events or changes in circumstances indicate the asset may be impaired. An entity has the option to first assess qualitative factors to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. These qualitative factors include macroeconomic and industry conditions, cost factors, overall financial performance, and other relevant entity-specific events. If the entity determines that this threshold is met, then the Company applies a one-step quantitative test and record the amount of goodwill impairment as the excess of a reporting unit's carrying amount over its fair value, not to exceed the total amount of goodwill allocated to the reporting unit. The Company determines fair value through multiple valuation techniques, and weights the results accordingly. Subjective and complex judgments are required in assessing whether an event of impairment of goodwill has occurred, including assumptions and estimates used to determine the fair value of its reporting units. The Company has elected to perform its annual goodwill impairment review as of August 1 of each year. The Company conducts its annual impairment tests on the goodwill using the quantitative method of evaluating goodwill.
As of August 1, 2023, the Company conducted its annual impairment tests using the quantitative method of evaluating goodwill. Based on the quantitative analyses the Company determined the fair value of each of the reporting units exceeded its carrying value. Therefore, the goodwill was not impaired and the Company did not recognize an impairment charge relating to goodwill as of August 1, 2023. Furthermore, there were no indicators, events or changes in circumstances that would indicate goodwill was impaired during the period from August 2, 2023 through September 30, 2023.
Identifiable intangible assets primarily include customer backlog, customer relationships, trade names, non-compete agreements, and developed technology. Amortizable intangible assets are amortized on a straight-line basis over their estimated useful lives and reviewed for impairment whenever events or changes in circumstances indicate that the assets may be impaired. If an indicator of impairment exists, the Company compares the estimated future cash flows of the asset, on an undiscounted basis, to the carrying value of the asset. If the undiscounted cash flows exceed the carrying value, no impairment is indicated. If the undiscounted cash flows do not exceed the carrying value, then impairment, if any, is measured as the difference between fair value and carrying value, with fair value typically based on a discounted cash flow model. There were no indicators, events or changes in circumstances that would indicate intangible assets were impaired during the nine months ended September 30, 2023. See Note 8, Goodwill and Intangible Assets, for further information on goodwill and identified intangibles.
There have been no material changes in the Company's significant accounting policies described in the audited financial statements included in the Company's Annual Report on Form 10-K for the year ended December 31, 2022.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Recent Accounting Pronouncements
9 Months Ended
Sep. 30, 2023
Accounting Standards Update and Change in Accounting Principle [Abstract]  
Recent Accounting Pronouncements Recent Accounting PronouncementsNone
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Earnings per Share Earnings per Share
Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period, excluding unvested restricted shares. Diluted earnings per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the earnings of the Company. The effect of potentially dilutive securities is not considered during periods of loss or if the effect is anti-dilutive.
The weighted average number of shares outstanding in calculating basic earnings per share for the nine months ended September 30, 2023 and October 1, 2022 exclude 687,716 and 760,050 non-vested restricted shares, respectively. During the three and nine months ended September 30, 2023, there were 22,365 and 31,886 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met. During the three and nine months ended October 1, 2022, there were 36,794 and 25,282 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met.
The following table represents a reconciliation of the net income and weighted average shares outstanding for the calculation of basic and diluted earnings per share:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Numerator:
Net income – basic and diluted$13,316 $16,063 $34,676 $41,973 
Denominator:
Basic weighted average shares outstanding15,210,100 14,768,689 15,035,898 14,732,726 
Effect of dilutive non-vested restricted shares and units262,709 517,238 387,657 494,047 
Effect of issuable shares related to acquisitions25,027 15,618 25,138 15,680 
Diluted weighted average shares outstanding15,497,836 15,301,545 15,448,693 15,242,453 
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Business Acquisitions Business Acquisitions
2023 Acquisitions
On April 6, 2023, the Company acquired all of the outstanding equity interests in the Visual Information Solutions commercial geospatial technology and software business ("VIS") from L3Harris. VIS is a provider of subscription-based software solutions for the analysis and management of software applications and Analytics as a Service (AaaS) solutions. The Company acquired VIS for a cash purchase price of $75,371. The purchase price and other related costs associated with the transaction were financed through the Company's amended and restated credit agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility") with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.    
On February 22, 2023, the Company acquired all of the outstanding equity interests in Continental Mapping Acquisition Corp. and its subsidiaries, including Axim Geospatial, LLC (collectively "Axim"), a provider of comprehensive geospatial services and solutions addressing critical mission requirements for customers across the defense and intelligence and state and local government sectors. The aggregate purchase price of the acquisition was $139,562, including $119,736 in cash, a $6,326 promissory note, and $13,500 of the Company's common stock. The purchase price and other related costs associated with the transaction were financed through the Company's Second A&R Credit Agreement with Bank of America, N.A. and other lenders party thereto. See Note 10, Notes Payable and Other Obligations, for further detail on the Second A&R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.
The Company has completed four other acquisitions during 2023. The aggregate purchase price for the four acquisitions was $7,725, including $6,900 in cash, $500 of the Company's common stock, and a potential earn-out of up to $340 payable in cash, which has been recorded at an estimated fair value of $325. A probability-weighted approach was used to determine the fair value of the earn-out, which is a generally accepted valuation technique that embodies all significant assumption types. The final
determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2023 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, and deferred tax liabilities.
2022 Acquisitions    
The Company completed five acquisitions during 2022. The aggregate purchase price of all five acquisitions was $14,220, including $5,882 of cash, $1,606 of promissory notes, $433 of the Company's common stock, and potential earn-outs of up to $15,850 payable in cash and stock, which was recorded at an estimated fair value of $6,299. An option-based model was used to determine the fair value of the earn-outs, which is a generally accepted valuation technique that embodies all significant assumption types. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2022 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the acquisition date, including intangible assets, accounts receivable, and certain fixed assets. Purchase price allocation adjustments recorded during 2023 were immaterial.
The following table summarizes the fair values of the assets acquired and liabilities assumed as of the acquisition date for the acquisitions closed during the nine months ended September 30, 2023 and the fiscal year ended December 31, 2022:
20232022
VISAximOtherTotalTotal
Cash$7,027 $5,419 $1,316 $13,762 $— 
Billed and unbilled receivables, net5,042 13,937 1,609 20,588 1,794 
Right-of-use assets2,162 1,643 552 4,357 632 
Property and equipment118 2,870 38 3,026 1,510 
Prepaid expenses1,505 1,543 17 3,065 — 
Other assets— 156 161 — 
Intangible assets:
Customer relationships34,339 53,518 2,146 90,003 3,606 
Trade name2,983 2,266 160 5,409 268 
Customer backlog882 3,862 583 5,327 459 
Developed technology4,578 1,942 — 6,520 — 
Non-compete26 580 197 803 298 
Total Assets$58,662 $87,736 $6,623 $153,021 $8,567 
Liabilities(16,535)(13,668)(2,297)(32,500)(5,623)
Deferred tax liabilities(9,369)(14,477)(506)(24,352)— 
Net assets acquired$32,758 $59,591 $3,820 $96,169 $2,944 
Consideration paid (Cash, Notes and/or stock)$75,371 $139,562 $7,400 $222,333 $7,921 
Contingent earn-out liability (Cash and stock)— — 325 325 6,299 
Total Consideration$75,371 $139,562 $7,725 $222,658 $14,220 
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)$42,613 $79,971 $3,905 $126,489 $11,276 
Goodwill was recorded based on the amount by which the purchase price exceeded the fair value of the net assets acquired and the amount is attributable to the reputation of the business acquired, the workforce in place and the synergies to be
achieved from these acquisitions. See Note 8, Goodwill and Intangible Assets, for further information on fair value adjustments to goodwill and identified intangibles.
The consolidated financial statements of the Company include the results of operations from any business acquired from their respective dates of acquisition. The following table presents the results of operations of businesses acquired from their respective dates of acquisition for the three and nine months ended September 30, 2023. The revenue and earnings of the fiscal 2022 acquisitions included in the Company's results since the acquisition dates are not material to the Company's consolidated financial statements and have not been presented.
Three Months EndedNine Months Ended
September 30, 2023September 30, 2023
Gross revenues$32,970 $69,901 
Income before income taxes$5,739 $11,481 
General and administrative expenses for the three and nine months ended September 30, 2023 and October 1, 2022 include acquisition-related costs pertaining to the Company's acquisition activities. Acquisition-related costs were not material to the Company's consolidated financial statements.
The following table presents the unaudited, pro forma consolidated results of operations (in thousands, except per share amounts) for the three and nine months ended September 30, 2023 and October 1, 2022 as if the fiscal 2023 and 2022 acquisitions had occurred at the beginning of fiscal year 2022. The pro forma information provided below is compiled from pre-acquisition financial information and includes pro forma adjustments for amortization expense, adjustments to certain expenses, and the income tax impact of these adjustments. The pro forma results are not necessarily indicative of (i) the results of operations that would have occurred had the operations of these acquisitions actually been acquired at the beginning of fiscal year 2022 or (ii) future results of operations:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues$239,634 $236,507 $671,471 $690,657 
Net income$13,267 $16,763 $33,535 $40,926 
Basic earnings per share$0.87 $1.13 $2.23 $2.75 
Diluted earnings per share$0.86 $1.09 $2.17 $2.66 
Adjustments were made to the pro forma results to adjust amortization of intangible assets to reflect fair value of identified assets acquired, to record the effects of financing from the Company's Senior Credit Facility, to record the effects of promissory notes issued, and to record the income tax effect of these adjustments.
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Billed and Unbilled Receivables
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Billed and Unbilled Receivables Billed and Unbilled Receivables
Billed and unbilled receivables consists of the following:
September 30, 2023December 31, 2022
Billed receivables$170,466 $149,082 
Less: allowance for doubtful accounts(3,607)(3,445)
Billed receivables, net$166,859 $145,637 
Unbilled receivables$124,321 $95,104 
Less: allowance for doubtful accounts(2,272)(2,242)
Unbilled receivables, net$122,049 $92,862 
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Property and Equipment, net Property and Equipment, net
Property and equipment, net, consists of the following:
September 30, 2023December 31, 2022
Office furniture and equipment$3,451 $3,421 
Computer equipment30,609 25,816 
Survey and field equipment60,199 49,985 
Leasehold improvements6,853 6,546 
Total101,112 85,768 
Less: accumulated depreciation(51,182)(44,128)
Property and equipment, net$49,930 $41,640 
Depreciation expense was $3,703 and $10,574 for the three and nine months ended September 30, 2023, respectively, of which $1,453 and $4,072 was included in other direct costs. Depreciation expense was $2,988 and $8,727 for the three and nine months ended October 1, 2022, respectively, of which $1,262 and $3,718 was included in other direct costs.
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Intangible Assets Goodwill and Intangible Assets
Goodwill
The changes in the carrying value by reportable segment for the nine months ended September 30, 2023 were as follows:
Nine Months Ended
December 31, 20222023 AcquisitionsAdjustmentsForeign Currency Translation of non-USD functional currency goodwillSeptember 30, 2023
INF$90,932 $726 $— $— $91,658 
BTS111,838 3,179 13 (46)114,984 
GEO198,187 122,584 (10)(373)320,388 
Total$400,957 $126,489 $$(419)$527,030 
Goodwill of $1,225 from acquisitions completed during the nine months ended September 30, 2023 is expected to be deductible for income tax purposes.
Intangible Assets
Intangible assets, net, as of September 30, 2023 and December 31, 2022 consist of the following:
September 30, 2023December 31, 2022
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Finite-lived intangible assets:
Customer relationships(1)
$312,996 $(108,368)$204,628 $222,998 $(87,054)$135,944 
Trade name(2)
22,292 (17,665)4,627 16,883 (15,933)950 
Customer backlog(3)
34,745 (31,206)3,539 29,419 (27,333)2,086 
Non-compete(4)
14,932 (12,341)2,591 14,110 (11,298)2,812 
Developed technology(5)
39,464 (18,416)21,048 32,944 (14,305)18,639 
Total finite-lived intangible assets$424,429 $(187,996)$236,433 $316,354 $(155,923)$160,431 

(1) Amortized on a straight-line basis over estimated lives (1 to 17 years)
(2) Amortized on a straight-line basis over their estimated lives (1 to 5 years)
(3) Amortized on a straight-line basis over their estimated lives (1 to 10 years)
(4) Amortized on a straight-line basis over their contractual lives (2 to 5 years)
(5) Amortized on a straight-line basis over their estimated lives (5 to 10 years)
The identifiable intangible assets acquired during the nine months ended September 30, 2023 consist of customer relationships, trade name, customer backlog, non-compete, and developed technology with weighted average lives of 12.4 years, 3.6 years, 1.3 years, 3.6 years, and 6.5 years, respectively. Amortization expense was $11,590 and $31,924 during the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued Liabilities
9 Months Ended
Sep. 30, 2023
Payables and Accruals [Abstract]  
Accrued Liabilities Accrued Liabilities
Accrued liabilities consist of the following:
September 30, 2023December 31, 2022
Current portion of lease liability$14,436 $13,081 
Accrued vacation13,392 12,467 
Payroll and related taxes15,183 6,616 
Benefits6,660 5,160 
Accrued operating expenses8,004 4,540 
Other6,863 2,449 
Total$64,538 $44,313 
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Notes Payable and Other Obligations
9 Months Ended
Sep. 30, 2023
Payables and Accruals [Abstract]  
Notes Payable and Other Obligations Notes Payable and Other Obligations
Notes payable and other obligations consists of the following:
September 30, 2023December 31, 2022
Senior credit facility$206,750 $33,750 
Uncollateralized promissory notes19,629 18,492 
Finance leases3,347 3,465 
Other obligations1,005 1,814 
Debt issuance costs, net of amortization(2,100)(2,672)
Total notes payable and other obligations228,631 54,849 
Current portion of notes payable and other obligations12,989 15,176 
Notes payable and other obligations, less current portion$215,642 $39,673 
As of September 30, 2023 and December 31, 2022, the carrying amount of debt obligations approximates their fair values based on Level 2 inputs as the terms are comparable to terms currently offered by local lending institutions for arrangements with similar terms to industry peers with comparable credit characteristics.
Senior Credit Facility
On August 13, 2021 (the "Closing Date"), the Company amended and restated its Credit Agreement (the "Second A&R Credit Agreement" or "Senior Credit Facility"), originally dated December 7, 2016 and as amended to the Closing Date, with Bank of America, N.A. ("Bank of America"), as administrative agent, swingline lender and letter of credit issuer, the other lenders party thereto, and certain of the Company's subsidiaries as guarantors. Pursuant to the Second A&R Credit Agreement, the previously drawn term commitments of $150,000 and revolving commitments totaling $215,000 in the aggregate were converted into revolving commitments totaling $400,000 in the aggregate. These revolving commitments are available through August 13, 2026 (the "Maturity Date") and an aggregate amount of approximately $138,750 was drawn under the Second A&R Credit Amendment on the Closing Date to repay previously existing borrowings under the term and revolving facilities prior to such amendment and restatement. Borrowings under the Second A&R Credit Agreement are secured by a first priority lien on substantially all of the assets of the Company. The Second A&R Credit Agreement also includes an accordion feature permitting the Company to request an increase in the revolving facility under the Second A&R Credit Agreement by an additional amount of up to $200,000 in the aggregate. As of September 30, 2023 and December 31, 2022, the outstanding balance on the Second A&R Credit Agreement was $206,750 and $33,750, respectively.
The Company's Second A&R Credit Agreement provides for the replacement of LIBOR (London Interbank Offered Rate), which prior to April 1, 2023, was transitioned to SOFR (Secured Overnight Funding Rate), subject to the completion of the relevant existing interest period ("LIBOR Transition"). Borrowings under the Second A&R Credit Agreement bear interest at variable rates which are, at the Company's option, tied to a Eurocurrency rate equal to LIBOR or, from and after the LIBOR Transition, either Term SOFR or Daily Simple SOFR, plus in each case an applicable margin or a base rate denominated in U.S. dollars. Interest rates remain subject to change based on the Company's consolidated leverage ratio. As of September 30, 2023, the Company's interest rate was 6.7%.
The Second A&R Credit Agreement contains financial covenants that require NV5 Global to maintain a consolidated net leverage ratio (the ratio of the Company's pro forma consolidated net funded indebtedness to the Company's pro forma consolidated EBITDA for the most recently completed measurement period) of no greater than 4.00 to 1.00.
These financial covenants also require the Company to maintain a consolidated fixed charge coverage ratio of no less than 1.10 to 1.00 as of the end of any measurement period. As of September 30, 2023, the Company was in compliance with the financial covenants.

The Second A&R Credit Agreement contains covenants that may have the effect of limiting the Company's ability to, among other things, merge with or acquire other entities, enter into a transaction resulting in a Change in Control, create certain new liens, incur certain additional indebtedness, engage in certain transactions with affiliates, or engage in new lines of business
or sell a substantial part of their assets. The Second A&R Credit Agreement also contains customary events of default, including (but not limited to) a default in the payment of principal or, following an applicable grace period, interest, breaches of the Company's covenants or warranties under the Second A&R Credit Agreement, payment default or acceleration of certain indebtedness, certain events of bankruptcy, insolvency or liquidation, certain judgments or uninsured losses, changes in control and certain liabilities related to ERISA based plans.
The Second A&R Credit Agreement limits the payment of cash dividends (together with certain other payments that would constitute a "Restricted Payment" within the meaning of the Second A&R Credit Agreement and generally including dividends, stock repurchases and certain other payments in respect to warrants, options, and other rights to acquire equity securities), unless the Consolidated Leverage Ratio would be less than 3.25 to 1.00 and available liquidity (defined as unrestricted, domestically held cash plus revolver availability) would be at least $30,000, in each case after giving effect to such payment.
Total debt issuance costs incurred and capitalized in connection with the issuance of the Second A&R Credit Agreement were $3,702. Total amortization of debt issuance costs was $208 and $573 during the three and nine months ended September 30, 2023, respectively, and $185 and $556 during the three and nine months ended October 1, 2022, respectively.
Other Obligations
The Company has aggregate obligations related to acquisitions of $20,634 and $20,306 as of September 30, 2023 and December 31, 2022, respectively. As of September 30, 2023, the Company's weighted average interest rate on other outstanding obligations was 3.0%
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Contingent Consideration
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Contingent Consideration Contingent Consideration
The following table summarizes the changes in the carrying value of estimated contingent consideration:
September 30, 2023December 31, 2022
Contingent consideration, beginning of the year$15,335 $8,328 
Additions for acquisitions325 6,299 
Reduction of liability for payments made(2,400)(2,264)
(Decrease) increase of liability related to re-measurement of fair value(7,518)2,972 
Total contingent consideration, end of the period5,742 15,335 
Current portion of contingent consideration3,845 10,854 
Contingent consideration, less current portion$1,897 $4,481 
During the nine months ended September 30, 2023, the Company recorded earn-out fair value adjustments of $7,518 that decreased the contingent consideration liability related to acquisitions.
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Litigation, Claims and Assessments
The Company is subject to certain claims and lawsuits typically filed against the engineering, consulting and construction profession, alleging primarily professional errors or omissions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, against such claims. However, in some actions, parties are seeking damages that exceed our insurance coverage or for which we are not insured. While management does not believe that the resolution of these claims will have a material adverse effect, individually or in aggregate, on its financial position, results of operations or cash flows, management acknowledges the uncertainty surrounding the ultimate resolution of these matters.
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Stock-Based Compensation Stock-Based CompensationIn October 2011, the Company's stockholders approved the NV5 Global, Inc. 2011 Equity Incentive Plan, which was subsequently amended and restated in March 2013 (as amended, the “2011 Equity Plan”). The 2011 Equity Incentive Plan expired pursuant to its terms in March 2023, accordingly no further grants were made following the date of such expiration. Prior to such
expiration, the Company's Board adopted the NV5 Global, Inc. 2023 Equity Incentive Plan (the "2023 Equity Plan") to replace the 2011 Equity Plan, subject to stockholder approval. On June 13, 2023, the Company's stockholders approved the 2023 Equity Plan. The 2023 Equity Plan provides directors, executive officers, and other employees of the Company with additional incentives by allowing them to acquire ownership interest in the business and, as a result, encouraging them to contribute to the Company’s success. The Company may provide these incentives through the grant of stock options, stock appreciation rights, restricted stock, restricted stock units, performance shares and units, and other cash-based or stock-based awards. As of September 30, 2023, 2,148,768 shares of common stock are authorized, reserved, and registered for issuance under the 2023 Equity Plan. The restricted shares of common stock granted generally provide for service-based cliff vesting after two to four years following the grant date.
The following summarizes the activity of restricted stock awards during the nine months ended September 30, 2023:
Number of Unvested Restricted Shares of Common Stock and Restricted Stock UnitsWeighted Average
Grant Date Fair
Value
December 31, 2022713,793$81.25 
Granted278,825$106.70 
Vested(279,891)$48.41 
Forfeited(27,275)$92.34 
September 30, 2023685,452$104.54 
Stock-based compensation expense relating to restricted stock awards during the three and nine months ended September 30, 2023 was $5,777 and $16,504, respectively, and $5,634 and $15,249 during the three and nine months ended October 1, 2022, respectively. In connection with the Company's 401(k) Profit Sharing match, stock-based compensation expense during the three and nine months ended September 30, 2023 includes $318 and $1,473, respectively, of expense related to the Company's liability-classified awards. Stock-based compensation expense during the three and nine months ended October 1, 2022 includes $283 and $937, respectively, of expense related to the Company's liability-classified awards. The total estimated amount of the liability-classified awards for fiscal 2023 is approximately $5,314. The 401(k) Profit Sharing restricted stock awards are issued under the rules of the NV5 Global, Inc. 2023 Equity Incentive Plan and are not issued into the NV5 401(k) Profit Sharing plan. Approximately $41,103 of deferred compensation, which is expected to be recognized over the remaining weighted average vesting period of 1.67 years, is unrecognized at September 30, 2023. The total fair value of restricted shares vested during the nine months ended September 30, 2023 and October 1, 2022 was $29,235 and $14,624, respectively.
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes
9 Months Ended
Sep. 30, 2023
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
As of September 30, 2023 and December 31, 2022, the Company had net deferred income tax liabilities of $5,797 and $6,893, respectively. Deferred income tax liabilities primarily relate to intangible assets and accounting basis adjustments where we have a future obligation for tax purposes.
The Company's effective income tax rate was (19.0)% and 2.0% during the three and nine months ended September 30, 2023, respectively, and 7.3% and 17.2% during the three and nine months ended October 1, 2022, respectively. The difference between the effective income tax rate and the combined statutory federal and state income tax rate was primarily due to an increase in federal credits recorded in the third quarter of 2023 and 2022, including additional prior year credits, and the recognition of excess tax benefits from stock-based payments in the second and third quarter of 2023 and 2022.
The Company evaluates tax positions for recognition using a more-likely-than-not recognition threshold, and those tax positions eligible for recognition are measured as the largest amount of tax benefit that is greater than 50% likely of being realized upon the effective settlement with a taxing authority that has full knowledge of all relevant information. Fiscal years 2019 through 2022 are considered open tax years in the U.S. federal jurisdiction, state and foreign jurisdictions. Fiscal years 2012 - 2014 are considered open in the State of California. It is not expected that there will be a significant change in the unrecognized tax benefits within the next 12 months.
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Reportable Segments Reportable Segments
The Company reports segment information in accordance with ASC Topic No. 280 “Segment Reporting” (“Topic No. 280”). The Company's Chief Executive Officer, who is the chief operating decision maker ("CODM"), organized the Company into three operating and reportable segments: Infrastructure ("INF"), which includes the Company's engineering, civil program management, utility services, and construction quality assurance practices; Building, Technology & Sciences ("BTS"), which includes the Company's environmental health sciences, clean energy consulting, buildings and program management, and MEP & technology design practices; and Geospatial Solutions ("GEO"), which includes the Company's geospatial solution practices.
The Company evaluates the performance of these reportable segments based on their respective operating income before the effect of amortization expense related to acquisitions and other unallocated corporate expenses. The following tables set forth summarized financial information concerning our reportable segments:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues
INF$102,136 $98,754 $287,074 $301,354 
BTS57,235 58,579 164,113 180,364 
GEO79,916 46,742 195,055 115,242 
Total gross revenues$239,287 $204,075 $646,242 $596,960 
Segment income before taxes
INF$15,902 $17,692 $49,628 $53,149 
BTS10,226 10,171 26,757 35,606 
GEO15,963 12,588 37,798 28,727 
Total Segment income before taxes42,091 40,451 114,183 117,482 
Corporate(1)
(30,899)(23,131)(78,797)(66,810)
Total income before taxes$11,192 $17,320 $35,386 $50,672 
(1) Includes amortization of intangibles of $11,590 and $31,924 for the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.
The Company disaggregates its gross revenues from contracts with customers by geographic location, customer-type and contract-type for each of our reportable segments. Disaggregated revenues include the elimination of inter-segment revenues which has been allocated to each segment. The Company believes this best depicts how the nature, amount, timing and uncertainty of its revenues and cash flows are affected by economic factors. Gross revenue, classified by the major geographic areas in which the Company's customers were located, were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
United States$102,136 $46,986 $75,736 $224,858 $287,074 $137,932 $186,178 $611,184 
Foreign— 10,249 4,180 14,429 — 26,181 8,877 35,058 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
United States$98,754 $50,039 $45,205 $193,998 $301,354 $157,560 $112,667 $571,581 
Foreign— 8,540 1,537 10,077 — 22,804 2,575 25,379 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
Gross revenue by customer were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$81,236 $13,834 $69,082 $164,152 $228,298 $47,779 $166,491 $442,568 
Private sector20,900 43,401 10,834 75,135 58,776 116,334 28,564 203,674 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$78,643 $15,812 $37,942 $132,397 $237,901 $46,708 $92,576 $377,185 
Private sector20,111 42,767 8,800 71,678 63,453 133,656 22,666 219,775 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 

Gross revenues by contract type were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$98,651 $40,666 $77,251 $216,568 $275,693 $119,960 $190,752 $586,405 
Fixed-unit price contracts3,485 16,569 2,665 22,719 11,381 44,153 4,303 59,837 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$94,199 $48,702 $46,671 $189,572 $288,525 $127,194 $114,954 $530,673 
Fixed-unit price contracts4,555 9,877 71 14,503 12,829 53,170 288 66,287 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Stockholders' Equity Stockholders' Equity
Accumulated Other Comprehensive Income (Loss)
The Company's accumulated other comprehensive income (loss) consists of foreign currency translation adjustments related to the Company's foreign operations with functional currency other than the U.S. dollar. The after-tax changes in accumulated other comprehensive income (loss) by component were as follows:
Accumulated Other Comprehensive Income (Loss)
Foreign currency translation adjustments balance, December 31, 2022$— 
Other comprehensive income (loss)(612)
Foreign currency translation adjustments balance, September 30, 2023$(612)
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation and Principles of Consolidation
Basis of Presentation and Principles of Consolidation
The consolidated financial statements of the Company are presented in U.S. dollars in conformity with accounting principles generally accepted in the United States (“U.S. GAAP”) and have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”) for reporting of interim financial information. Pursuant to such rules and regulations, certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted. The consolidated financial statements include the accounts of the Company and its subsidiaries. All intercompany transactions and balances have been eliminated in consolidation.
In the opinion of management, the accompanying unaudited interim consolidated financial statements of the Company contain all adjustments necessary to present fairly the financial position and results of operations of the Company as of the dates and for the periods presented. Accordingly, these statements should be read in conjunction with the consolidated financial statements and notes contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”). The results of operations and cash flows for the interim periods presented are not necessarily indicative of the results to be expected for any future interim period or for the full 2023 fiscal year.
Performance Obligations
Performance Obligations
To determine the proper revenue recognition method, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined or single contract should be accounted for as more than one performance obligation. The majority of the Company's contracts have a single performance obligation as the promise to transfer the individual goods or services that is not separately identifiable from other promises in the contracts and therefore, is not distinct.
The Company’s performance obligations are satisfied as work progresses or at a point in time. Revenue on the Company's cost-reimbursable contracts is recognized over time using direct costs incurred or direct costs incurred to date as compared to the estimated total direct costs for performance obligations because it depicts the transfer of control to the customer. Contract costs include labor, sub-consultant services, and other direct costs.
Gross revenue from services transferred to customers at a point in time is recognized when the customer obtains control of the asset, which is generally upon delivery and acceptance by the customer of the reports and/or analysis performed.
As of September 30, 2023, the Company had $853,829 of remaining performance obligations, of which $694,544 is expected to be recognized over the next 12 months and the majority of the balance over the next 24 months. Contracts for which work authorizations have been received are included in performance obligations. Performance obligations include only those amounts that have been funded and authorized and does not reflect the full amounts the Company may receive over the term of such contracts. In the case of non-government contracts and project awards, performance obligations include future revenue at contract or customary rates, excluding contract renewals or extensions that are at the discretion of the client. For contracts with a not-to-exceed maximum amount, the Company includes revenue from such contracts in performance obligations to the extent of the remaining estimated amount.
Contract Balances
The timing of revenue recognition, billings and cash collections results in billed receivables, unbilled receivables (contract assets), and billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities) on the Consolidated Balance Sheet. The liability “Billings in excess of costs and estimated earnings on uncompleted contracts” represents billings in excess of revenues recognized on these contracts as of the reporting date. This liability is generally classified as current.
Goodwill and Intangible Assets
Goodwill and Intangible Assets
Goodwill is the excess of consideration paid for an acquired entity over the amounts assigned to assets acquired, including other identifiable intangible assets and liabilities assumed in a business combination. To determine the amount of goodwill resulting from a business combination, the Company performs an assessment to determine the acquisition date fair value of the acquired company’s tangible and identifiable intangible assets and liabilities.
 
Goodwill is required to be evaluated for impairment on an annual basis or whenever events or changes in circumstances indicate the asset may be impaired. An entity has the option to first assess qualitative factors to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. These qualitative factors include macroeconomic and industry conditions, cost factors, overall financial performance, and other relevant entity-specific events. If the entity determines that this threshold is met, then the Company applies a one-step quantitative test and record the amount of goodwill impairment as the excess of a reporting unit's carrying amount over its fair value, not to exceed the total amount of goodwill allocated to the reporting unit. The Company determines fair value through multiple valuation techniques, and weights the results accordingly. Subjective and complex judgments are required in assessing whether an event of impairment of goodwill has occurred, including assumptions and estimates used to determine the fair value of its reporting units. The Company has elected to perform its annual goodwill impairment review as of August 1 of each year. The Company conducts its annual impairment tests on the goodwill using the quantitative method of evaluating goodwill.
As of August 1, 2023, the Company conducted its annual impairment tests using the quantitative method of evaluating goodwill. Based on the quantitative analyses the Company determined the fair value of each of the reporting units exceeded its carrying value. Therefore, the goodwill was not impaired and the Company did not recognize an impairment charge relating to goodwill as of August 1, 2023. Furthermore, there were no indicators, events or changes in circumstances that would indicate goodwill was impaired during the period from August 2, 2023 through September 30, 2023.Identifiable intangible assets primarily include customer backlog, customer relationships, trade names, non-compete agreements, and developed technology. Amortizable intangible assets are amortized on a straight-line basis over their estimated useful lives and reviewed for impairment whenever events or changes in circumstances indicate that the assets may be impaired. If an indicator of impairment exists, the Company compares the estimated future cash flows of the asset, on an undiscounted basis, to the carrying value of the asset. If the undiscounted cash flows exceed the carrying value, no impairment is indicated. If the undiscounted cash flows do not exceed the carrying value, then impairment, if any, is measured as the difference between fair value and carrying value, with fair value typically based on a discounted cash flow model. There were no indicators, events or changes in circumstances that would indicate intangible assets were impaired during the nine months ended September 30, 2023.
Recent Accounting Pronouncements Recent Accounting PronouncementsNone
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Schedule Of Reconciliation Of The Net Income And Weighted Average Shares Outstanding For The Calculation Of Basic And Diluted Earnings Per Share
The following table represents a reconciliation of the net income and weighted average shares outstanding for the calculation of basic and diluted earnings per share:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Numerator:
Net income – basic and diluted$13,316 $16,063 $34,676 $41,973 
Denominator:
Basic weighted average shares outstanding15,210,100 14,768,689 15,035,898 14,732,726 
Effect of dilutive non-vested restricted shares and units262,709 517,238 387,657 494,047 
Effect of issuable shares related to acquisitions25,027 15,618 25,138 15,680 
Diluted weighted average shares outstanding15,497,836 15,301,545 15,448,693 15,242,453 
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions (Tables)
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Schedule Of The Fair Values Of The Assets Acquires And Liabilities Assumed
The following table summarizes the fair values of the assets acquired and liabilities assumed as of the acquisition date for the acquisitions closed during the nine months ended September 30, 2023 and the fiscal year ended December 31, 2022:
20232022
VISAximOtherTotalTotal
Cash$7,027 $5,419 $1,316 $13,762 $— 
Billed and unbilled receivables, net5,042 13,937 1,609 20,588 1,794 
Right-of-use assets2,162 1,643 552 4,357 632 
Property and equipment118 2,870 38 3,026 1,510 
Prepaid expenses1,505 1,543 17 3,065 — 
Other assets— 156 161 — 
Intangible assets:
Customer relationships34,339 53,518 2,146 90,003 3,606 
Trade name2,983 2,266 160 5,409 268 
Customer backlog882 3,862 583 5,327 459 
Developed technology4,578 1,942 — 6,520 — 
Non-compete26 580 197 803 298 
Total Assets$58,662 $87,736 $6,623 $153,021 $8,567 
Liabilities(16,535)(13,668)(2,297)(32,500)(5,623)
Deferred tax liabilities(9,369)(14,477)(506)(24,352)— 
Net assets acquired$32,758 $59,591 $3,820 $96,169 $2,944 
Consideration paid (Cash, Notes and/or stock)$75,371 $139,562 $7,400 $222,333 $7,921 
Contingent earn-out liability (Cash and stock)— — 325 325 6,299 
Total Consideration$75,371 $139,562 $7,725 $222,658 $14,220 
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)$42,613 $79,971 $3,905 $126,489 $11,276 
Schedule Of Pro Forma Consolidated Results Of Operations The following table presents the results of operations of businesses acquired from their respective dates of acquisition for the three and nine months ended September 30, 2023. The revenue and earnings of the fiscal 2022 acquisitions included in the Company's results since the acquisition dates are not material to the Company's consolidated financial statements and have not been presented.
Three Months EndedNine Months Ended
September 30, 2023September 30, 2023
Gross revenues$32,970 $69,901 
Income before income taxes$5,739 $11,481 
The pro forma results are not necessarily indicative of (i) the results of operations that would have occurred had the operations of these acquisitions actually been acquired at the beginning of fiscal year 2022 or (ii) future results of operations:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues$239,634 $236,507 $671,471 $690,657 
Net income$13,267 $16,763 $33,535 $40,926 
Basic earnings per share$0.87 $1.13 $2.23 $2.75 
Diluted earnings per share$0.86 $1.09 $2.17 $2.66 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.3
Billed and Unbilled Receivables (Tables)
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Schedule Of Accounts, Notes, Loans And Financing Receivable
Billed and unbilled receivables consists of the following:
September 30, 2023December 31, 2022
Billed receivables$170,466 $149,082 
Less: allowance for doubtful accounts(3,607)(3,445)
Billed receivables, net$166,859 $145,637 
Unbilled receivables$124,321 $95,104 
Less: allowance for doubtful accounts(2,272)(2,242)
Unbilled receivables, net$122,049 $92,862 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net (Tables)
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Schedule Of Property And Equipment
Property and equipment, net, consists of the following:
September 30, 2023December 31, 2022
Office furniture and equipment$3,451 $3,421 
Computer equipment30,609 25,816 
Survey and field equipment60,199 49,985 
Leasehold improvements6,853 6,546 
Total101,112 85,768 
Less: accumulated depreciation(51,182)(44,128)
Property and equipment, net$49,930 $41,640 
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule Of Goodwill
The changes in the carrying value by reportable segment for the nine months ended September 30, 2023 were as follows:
Nine Months Ended
December 31, 20222023 AcquisitionsAdjustmentsForeign Currency Translation of non-USD functional currency goodwillSeptember 30, 2023
INF$90,932 $726 $— $— $91,658 
BTS111,838 3,179 13 (46)114,984 
GEO198,187 122,584 (10)(373)320,388 
Total$400,957 $126,489 $$(419)$527,030 
Schedule Of Finite-lived Intangible Assets
Intangible assets, net, as of September 30, 2023 and December 31, 2022 consist of the following:
September 30, 2023December 31, 2022
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Gross
Carrying
Amount
Accumulated AmortizationNet
Amount
Finite-lived intangible assets:
Customer relationships(1)
$312,996 $(108,368)$204,628 $222,998 $(87,054)$135,944 
Trade name(2)
22,292 (17,665)4,627 16,883 (15,933)950 
Customer backlog(3)
34,745 (31,206)3,539 29,419 (27,333)2,086 
Non-compete(4)
14,932 (12,341)2,591 14,110 (11,298)2,812 
Developed technology(5)
39,464 (18,416)21,048 32,944 (14,305)18,639 
Total finite-lived intangible assets$424,429 $(187,996)$236,433 $316,354 $(155,923)$160,431 

(1) Amortized on a straight-line basis over estimated lives (1 to 17 years)
(2) Amortized on a straight-line basis over their estimated lives (1 to 5 years)
(3) Amortized on a straight-line basis over their estimated lives (1 to 10 years)
(4) Amortized on a straight-line basis over their contractual lives (2 to 5 years)
(5) Amortized on a straight-line basis over their estimated lives (5 to 10 years)
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued Liabilities (Tables)
9 Months Ended
Sep. 30, 2023
Payables and Accruals [Abstract]  
Schedule Of Accrued Liabilities
Accrued liabilities consist of the following:
September 30, 2023December 31, 2022
Current portion of lease liability$14,436 $13,081 
Accrued vacation13,392 12,467 
Payroll and related taxes15,183 6,616 
Benefits6,660 5,160 
Accrued operating expenses8,004 4,540 
Other6,863 2,449 
Total$64,538 $44,313 
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Notes Payable and Other Obligations (Tables)
9 Months Ended
Sep. 30, 2023
Payables and Accruals [Abstract]  
Schedule Of Notes Payable And Other Obligations
Notes payable and other obligations consists of the following:
September 30, 2023December 31, 2022
Senior credit facility$206,750 $33,750 
Uncollateralized promissory notes19,629 18,492 
Finance leases3,347 3,465 
Other obligations1,005 1,814 
Debt issuance costs, net of amortization(2,100)(2,672)
Total notes payable and other obligations228,631 54,849 
Current portion of notes payable and other obligations12,989 15,176 
Notes payable and other obligations, less current portion$215,642 $39,673 
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Contingent Consideration (Tables)
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Schedule Of Changes Carrying Value Of Estimated Contingent Consideration
The following table summarizes the changes in the carrying value of estimated contingent consideration:
September 30, 2023December 31, 2022
Contingent consideration, beginning of the year$15,335 $8,328 
Additions for acquisitions325 6,299 
Reduction of liability for payments made(2,400)(2,264)
(Decrease) increase of liability related to re-measurement of fair value(7,518)2,972 
Total contingent consideration, end of the period5,742 15,335 
Current portion of contingent consideration3,845 10,854 
Contingent consideration, less current portion$1,897 $4,481 
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation (Tables)
9 Months Ended
Sep. 30, 2023
Share-Based Payment Arrangement [Abstract]  
Share-based Payment Arrangement, Restricted Stock Unit, Activity
The following summarizes the activity of restricted stock awards during the nine months ended September 30, 2023:
Number of Unvested Restricted Shares of Common Stock and Restricted Stock UnitsWeighted Average
Grant Date Fair
Value
December 31, 2022713,793$81.25 
Granted278,825$106.70 
Vested(279,891)$48.41 
Forfeited(27,275)$92.34 
September 30, 2023685,452$104.54 
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments (Tables)
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Schedule Of Segment Reporting Information, By Segment The following tables set forth summarized financial information concerning our reportable segments:
Three Months EndedNine Months Ended
September 30, 2023October 1, 2022September 30, 2023October 1, 2022
Gross revenues
INF$102,136 $98,754 $287,074 $301,354 
BTS57,235 58,579 164,113 180,364 
GEO79,916 46,742 195,055 115,242 
Total gross revenues$239,287 $204,075 $646,242 $596,960 
Segment income before taxes
INF$15,902 $17,692 $49,628 $53,149 
BTS10,226 10,171 26,757 35,606 
GEO15,963 12,588 37,798 28,727 
Total Segment income before taxes42,091 40,451 114,183 117,482 
Corporate(1)
(30,899)(23,131)(78,797)(66,810)
Total income before taxes$11,192 $17,320 $35,386 $50,672 
(1) Includes amortization of intangibles of $11,590 and $31,924 for the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.
Schedule Of Revenue From External Customers By Geographic Areas Gross revenue, classified by the major geographic areas in which the Company's customers were located, were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
United States$102,136 $46,986 $75,736 $224,858 $287,074 $137,932 $186,178 $611,184 
Foreign— 10,249 4,180 14,429 — 26,181 8,877 35,058 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
United States$98,754 $50,039 $45,205 $193,998 $301,354 $157,560 $112,667 $571,581 
Foreign— 8,540 1,537 10,077 — 22,804 2,575 25,379 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
Schedule Of Revenue By Major Customers By Reporting Segments
Gross revenue by customer were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$81,236 $13,834 $69,082 $164,152 $228,298 $47,779 $166,491 $442,568 
Private sector20,900 43,401 10,834 75,135 58,776 116,334 28,564 203,674 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Public and quasi-public sector$78,643 $15,812 $37,942 $132,397 $237,901 $46,708 $92,576 $377,185 
Private sector20,111 42,767 8,800 71,678 63,453 133,656 22,666 219,775 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
Schedule Of Revenue From External Customers By Products And Services
Gross revenues by contract type were as follows:
Three Months Ended September 30, 2023Nine Months Ended September 30, 2023
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$98,651 $40,666 $77,251 $216,568 $275,693 $119,960 $190,752 $586,405 
Fixed-unit price contracts3,485 16,569 2,665 22,719 11,381 44,153 4,303 59,837 
Total gross revenues$102,136 $57,235 $79,916 $239,287 $287,074 $164,113 $195,055 $646,242 
Three Months Ended October 1, 2022Nine Months Ended October 1, 2022
INFBTSGEOTotalINFBTSGEOTotal
Cost-reimbursable contracts$94,199 $48,702 $46,671 $189,572 $288,525 $127,194 $114,954 $530,673 
Fixed-unit price contracts4,555 9,877 71 14,503 12,829 53,170 288 66,287 
Total gross revenues$98,754 $58,579 $46,742 $204,075 $301,354 $180,364 $115,242 $596,960 
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity (Tables)
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss) The after-tax changes in accumulated other comprehensive income (loss) by component were as follows:
Accumulated Other Comprehensive Income (Loss)
Foreign currency translation adjustments balance, December 31, 2022$— 
Other comprehensive income (loss)(612)
Foreign currency translation adjustments balance, September 30, 2023$(612)
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies - Revenue Recognition (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining revenue performance obligation amount $ 853,829
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining revenue performance obligation amount $ 694,544
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01 | Period One  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation expected timing of satisfaction 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-10-01 | Period Two  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation expected timing of satisfaction 24 months
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.3
Summary of Significant Accounting Policies - Contract Balances (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Accounting Policies [Abstract]    
Revenue from contract liability $ 1,793 $ 26,840
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share - Narrative (Details) - shares
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities (in shares) 22,365 36,794 31,886 25,282
Restricted Stock        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Antidilutive securities (in shares)     687,716 760,050
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Numerator:        
Net income – basic $ 13,316 $ 16,063 $ 34,676 $ 41,973
Net income – diluted $ 13,316 $ 16,063 $ 34,676 $ 41,973
Denominator:        
Basic weighted average shares outstanding (in shares) 15,210,100 14,768,689 15,035,898 14,732,726
Effect of dilutive non-vested restricted shares and units (in shares) 262,709 517,238 387,657 494,047
Effect of issuable shares related to acquisitions (in shares) 25,027 15,618 25,138 15,680
Diluted weighted average shares outstanding (in shares) 15,497,836 15,301,545 15,448,693 15,242,453
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions - Narrative (Details)
$ in Thousands
9 Months Ended 12 Months Ended
Apr. 06, 2023
USD ($)
Feb. 22, 2023
USD ($)
Sep. 30, 2023
USD ($)
acquisition
Oct. 01, 2022
USD ($)
Dec. 31, 2022
USD ($)
acquisition
Jan. 01, 2022
USD ($)
Business Acquisition [Line Items]            
Aggregate cash purchase price     $ 189,109 $ 5,020    
Earn-out of cash fair value     5,742   $ 15,335 $ 8,328
Axim            
Business Acquisition [Line Items]            
Aggregate purchase price   $ 139,562 139,562      
Payments to acquire businesses   119,736        
Consideration of common stock   13,500        
Axim | Uncollateralized Promissory Notes            
Business Acquisition [Line Items]            
Notes payable outstanding balance   $ 6,326        
Other            
Business Acquisition [Line Items]            
Aggregate purchase price     7,725      
Payments to acquire businesses     6,900      
Consideration of common stock     $ 500      
Number of businesses acquired | acquisition     4      
Potential earn-out in cash and stock     $ 340      
Earn-out of cash fair value     325      
Series of Individually Immaterial Business Acquisitions            
Business Acquisition [Line Items]            
Aggregate purchase price     222,658   14,220  
Payments to acquire businesses         5,882  
Consideration of common stock         $ 433  
Number of businesses acquired | acquisition         5  
Potential earn-out in cash and stock         $ 15,850  
Earn-out of cash fair value         6,299  
Series of Individually Immaterial Business Acquisitions | Uncollateralized Promissory Notes            
Business Acquisition [Line Items]            
Notes payable outstanding balance         $ 1,606  
VIS            
Business Acquisition [Line Items]            
Aggregate cash purchase price $ 75,371          
Aggregate purchase price     $ 75,371      
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Feb. 22, 2023
Sep. 30, 2023
Dec. 31, 2022
VIS      
Acquired Finite-Lived Intangible Assets [Line Items]      
Cash   $ 7,027  
Billed and unbilled receivables, net   5,042  
Right-of-use assets   2,162  
Property and equipment   118  
Prepaid expenses   1,505  
Other assets   0  
Total Assets   58,662  
Liabilities   (16,535)  
Deferred tax liabilities   (9,369)  
Net assets acquired   32,758  
Consideration paid (Cash, Notes and/or stock)   75,371  
Contingent earn-out liability (Cash and stock)   0  
Total Consideration   75,371  
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)   42,613  
VIS | Customer relationships      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   34,339  
VIS | Trade name      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   2,983  
VIS | Customer backlog      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   882  
VIS | Developed technology      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   4,578  
VIS | Non-compete      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   26  
Axim      
Acquired Finite-Lived Intangible Assets [Line Items]      
Cash   5,419  
Billed and unbilled receivables, net   13,937  
Right-of-use assets   1,643  
Property and equipment   2,870  
Prepaid expenses   1,543  
Other assets   156  
Total Assets   87,736  
Liabilities   (13,668)  
Deferred tax liabilities   (14,477)  
Net assets acquired   59,591  
Consideration paid (Cash, Notes and/or stock)   139,562  
Contingent earn-out liability (Cash and stock)   0  
Total Consideration $ 139,562 139,562  
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)   79,971  
Axim | Customer relationships      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   53,518  
Axim | Trade name      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   2,266  
Axim | Customer backlog      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   3,862  
Axim | Developed technology      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   1,942  
Axim | Non-compete      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   580  
Other      
Acquired Finite-Lived Intangible Assets [Line Items]      
Cash   1,316  
Billed and unbilled receivables, net   1,609  
Right-of-use assets   552  
Property and equipment   38  
Prepaid expenses   17  
Other assets   5  
Total Assets   6,623  
Liabilities   (2,297)  
Deferred tax liabilities   (506)  
Net assets acquired   3,820  
Consideration paid (Cash, Notes and/or stock)   7,400  
Contingent earn-out liability (Cash and stock)   325  
Total Consideration   7,725  
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)   3,905  
Other | Customer relationships      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   2,146  
Other | Trade name      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   160  
Other | Customer backlog      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   583  
Other | Developed technology      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   0  
Other | Non-compete      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   197  
Series of Individually Immaterial Business Acquisitions      
Acquired Finite-Lived Intangible Assets [Line Items]      
Cash   13,762 $ 0
Billed and unbilled receivables, net   20,588 1,794
Right-of-use assets   4,357 632
Property and equipment   3,026 1,510
Prepaid expenses   3,065 0
Other assets   161 0
Total Assets   153,021 8,567
Liabilities   (32,500) (5,623)
Deferred tax liabilities   (24,352) 0
Net assets acquired   96,169 2,944
Consideration paid (Cash, Notes and/or stock)   222,333 7,921
Contingent earn-out liability (Cash and stock)   325 6,299
Total Consideration   222,658 14,220
Excess consideration over the amounts assigned to the net assets acquired (Goodwill)   126,489 11,276
Series of Individually Immaterial Business Acquisitions | Customer relationships      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   90,003 3,606
Series of Individually Immaterial Business Acquisitions | Trade name      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   5,409 268
Series of Individually Immaterial Business Acquisitions | Customer backlog      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   5,327 459
Series of Individually Immaterial Business Acquisitions | Developed technology      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   6,520 0
Series of Individually Immaterial Business Acquisitions | Non-compete      
Acquired Finite-Lived Intangible Assets [Line Items]      
Intangible assets:   $ 803 $ 298
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions - Results of Operations From any Business Acquired (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]    
Gross revenues $ 32,970 $ 69,901
Income before income taxes $ 5,739 $ 11,481
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Business Acquisitions - Pro Forma Consolidated Results of Operations (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Business Combination and Asset Acquisition [Abstract]        
Gross revenues $ 239,634 $ 236,507 $ 671,471 $ 690,657
Net income $ 13,267 $ 16,763 $ 33,535 $ 40,926
Basic earnings per share (in dollars per share) $ 0.87 $ 1.13 $ 2.23 $ 2.75
Diluted earnings per share (in dollars per share) $ 0.86 $ 1.09 $ 2.17 $ 2.66
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Billed and Unbilled Receivables (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Receivables [Abstract]    
Billed receivables $ 170,466 $ 149,082
Less: allowance for doubtful accounts (3,607) (3,445)
Billed receivables, net 166,859 145,637
Unbilled receivables 124,321 95,104
Less: allowance for doubtful accounts (2,272) (2,242)
Unbilled receivables, net $ 122,049 $ 92,862
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Total $ 101,112 $ 85,768
Less: accumulated depreciation (51,182) (44,128)
Property and equipment, net 49,930 41,640
Office furniture and equipment    
Property, Plant and Equipment [Line Items]    
Total 3,451 3,421
Computer equipment    
Property, Plant and Equipment [Line Items]    
Total 30,609 25,816
Survey and field equipment    
Property, Plant and Equipment [Line Items]    
Total 60,199 49,985
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Total $ 6,853 $ 6,546
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Property, Plant and Equipment [Line Items]        
Depreciation expense $ 3,703 $ 2,988 $ 10,574 $ 8,727
Other Direct Costs        
Property, Plant and Equipment [Line Items]        
Depreciation expense $ 1,453 $ 1,262 $ 4,072 $ 3,718
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Schedule of Goodwill (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Goodwill [Roll Forward]  
Beginning balance $ 400,957
2023 Acquisitions 126,489
Adjustments 3
Foreign Currency Translation of non-USD functional currency goodwill (419)
Ending balance 527,030
INF  
Goodwill [Roll Forward]  
Beginning balance 90,932
2023 Acquisitions 726
Adjustments 0
Foreign Currency Translation of non-USD functional currency goodwill 0
Ending balance 91,658
BTS  
Goodwill [Roll Forward]  
Beginning balance 111,838
2023 Acquisitions 3,179
Adjustments 13
Foreign Currency Translation of non-USD functional currency goodwill (46)
Ending balance 114,984
GEO  
Goodwill [Roll Forward]  
Beginning balance 198,187
2023 Acquisitions 122,584
Adjustments (10)
Foreign Currency Translation of non-USD functional currency goodwill (373)
Ending balance $ 320,388
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Finite-Lived Intangible Assets [Line Items]        
Goodwill $ 1,225   $ 1,225  
Amortization expense $ 11,590 $ 8,045 $ 31,924 $ 24,364
Customer relationships        
Finite-Lived Intangible Assets [Line Items]        
Intangible assets, useful life (in years)     12 years 4 months 24 days  
Trade name        
Finite-Lived Intangible Assets [Line Items]        
Intangible assets, useful life (in years)     3 years 7 months 6 days  
Customer backlog        
Finite-Lived Intangible Assets [Line Items]        
Intangible assets, useful life (in years)     1 year 3 months 18 days  
Non-compete        
Finite-Lived Intangible Assets [Line Items]        
Intangible assets, useful life (in years)     3 years 7 months 6 days  
Developed technology        
Finite-Lived Intangible Assets [Line Items]        
Intangible assets, useful life (in years)     6 years 6 months  
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Finite-lived intangible assets:    
Gross Carrying Amount $ 424,429 $ 316,354
Accumulated Amortization (187,996) (155,923)
Net Amount 236,433 160,431
Customer relationships    
Finite-lived intangible assets:    
Gross Carrying Amount 312,996 222,998
Accumulated Amortization (108,368) (87,054)
Net Amount $ 204,628 135,944
Customer relationships | Minimum    
Finite-lived intangible assets:    
Useful life (in years) 1 year  
Customer relationships | Maximum    
Finite-lived intangible assets:    
Useful life (in years) 17 years  
Trade name    
Finite-lived intangible assets:    
Gross Carrying Amount $ 22,292 16,883
Accumulated Amortization (17,665) (15,933)
Net Amount $ 4,627 950
Trade name | Minimum    
Finite-lived intangible assets:    
Useful life (in years) 1 year  
Trade name | Maximum    
Finite-lived intangible assets:    
Useful life (in years) 5 years  
Customer backlog    
Finite-lived intangible assets:    
Gross Carrying Amount $ 34,745 29,419
Accumulated Amortization (31,206) (27,333)
Net Amount $ 3,539 2,086
Customer backlog | Minimum    
Finite-lived intangible assets:    
Useful life (in years) 1 year  
Customer backlog | Maximum    
Finite-lived intangible assets:    
Useful life (in years) 10 years  
Non-compete    
Finite-lived intangible assets:    
Gross Carrying Amount $ 14,932 14,110
Accumulated Amortization (12,341) (11,298)
Net Amount $ 2,591 2,812
Non-compete | Minimum    
Finite-lived intangible assets:    
Useful life (in years) 2 years  
Non-compete | Maximum    
Finite-lived intangible assets:    
Useful life (in years) 5 years  
Developed technology    
Finite-lived intangible assets:    
Gross Carrying Amount $ 39,464 32,944
Accumulated Amortization (18,416) (14,305)
Net Amount $ 21,048 $ 18,639
Developed technology | Minimum    
Finite-lived intangible assets:    
Useful life (in years) 5 years  
Developed technology | Maximum    
Finite-lived intangible assets:    
Useful life (in years) 10 years  
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Payables and Accruals [Abstract]    
Current portion of lease liability $ 14,436 $ 13,081
Accrued vacation 13,392 12,467
Payroll and related taxes 15,183 6,616
Benefits 6,660 5,160
Accrued operating expenses 8,004 4,540
Other 6,863 2,449
Total $ 64,538 $ 44,313
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Debt Instrument [Line Items]    
Finance leases $ 3,347 $ 3,465
Debt issuance costs, net of amortization (2,100) (2,672)
Total notes payable and other obligations 228,631 54,849
Current portion of notes payable and other obligations 12,989 15,176
Notes payable and other obligations, less current portion 215,642 39,673
Senior credit facility    
Debt Instrument [Line Items]    
Long-term debt, gross 206,750 33,750
Uncollateralized promissory notes    
Debt Instrument [Line Items]    
Long-term debt, gross 19,629 18,492
Other obligations    
Debt Instrument [Line Items]    
Long-term debt, gross $ 1,005 $ 1,814
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Notes Payable and Other Obligations - Narrative (Details)
3 Months Ended 9 Months Ended
Aug. 13, 2021
USD ($)
Sep. 30, 2023
USD ($)
Oct. 01, 2022
USD ($)
Sep. 30, 2023
USD ($)
Oct. 01, 2022
USD ($)
Dec. 31, 2022
USD ($)
Dec. 07, 2016
USD ($)
Debt Instrument [Line Items]              
Debt covenant, liquidity availability   $ 30,000,000   $ 30,000,000      
Amortization of debt issuance costs       573,000 $ 556,000    
Other obligations   $ 20,634,000   $ 20,634,000   $ 20,306,000  
Weighted average interest rate (as a percent)   3.00%   3.00%      
Senior Credit Facility              
Debt Instrument [Line Items]              
Long-term debt, gross   $ 206,750,000   $ 206,750,000   33,750,000  
Second A&R Credit Agreement              
Debt Instrument [Line Items]              
Minimum fixed charge coverage ratio   3.25   3.25      
AR Credit Agreement              
Debt Instrument [Line Items]              
Debt issuance costs   $ 3,702,000   $ 3,702,000      
Amortization of debt issuance costs   208,000 $ 185,000 573,000 $ 556,000    
Line of Credit | Senior Credit Facility              
Debt Instrument [Line Items]              
Maximum borrowing capacity             $ 150,000,000
Revolving Credit Facility | Senior Credit Facility              
Debt Instrument [Line Items]              
Maximum borrowing capacity             $ 215,000,000
Long-term debt, gross   $ 206,750,000   $ 206,750,000   $ 33,750,000  
Revolving Credit Facility | Second A&R Credit Agreement              
Debt Instrument [Line Items]              
Maximum borrowing capacity $ 400,000,000            
Aggregate credit agreement 138,750,000            
Available increase in borrowing capacity $ 200,000,000            
Interest rate during period (as a percent)       6.70%      
Covenant, net leverage ratio   4.00   4.00      
Minimum fixed charge coverage ratio   1.10   1.10      
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Contingent Consideration (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Commitments and Contingencies Disclosure [Roll Forward]    
Contingent consideration, beginning of the year $ 15,335 $ 8,328
Additions for acquisitions 325 6,299
Reduction of liability for payments made (2,400) (2,264)
(Decrease) increase of liability related to re-measurement of fair value (7,518) 2,972
Total contingent consideration, end of the period 5,742 15,335
Current portion of contingent consideration 3,845 10,854
Contingent consideration, less current portion $ 1,897 $ 4,481
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Deferred compensation $ 5,777 $ 5,634 $ 16,504 $ 15,249
Weighted average vesting period (in years) 41,103   $ 41,103  
Cost not yet recognized, term (in years)     1 year 8 months 1 day  
Fair value of restricted shares vested     $ 29,235 14,624
Liability Based Awards        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Deferred compensation 318 $ 283 1,473 $ 937
Total estimated fair value $ 5,314   $ 5,314  
Equity Plan 2011        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of shares authorized (in shares) 2,148,768   2,148,768  
Equity Plan 2011 | Minimum | Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting period (n years)     2 years  
Equity Plan 2011 | Maximum | Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting period (n years)     4 years  
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.3
Stock-Based Compensation - Restricted Stock Awards (Details) - Restricted Stock
9 Months Ended
Sep. 30, 2023
$ / shares
shares
Number of Unvested Restricted Shares of Common Stock and Restricted Stock Units  
Beginning (in shares) | shares 713,793
Granted (in shares) | shares 278,825
Vested (in shares) | shares (279,891)
Forfeited (in shares) | shares (27,275)
Ending (in shares) | shares 685,452
Weighted Average Grant Date Fair Value  
Beginning (in dollars per share) | $ / shares $ 81.25
Granted (in dollars per share) | $ / shares 106.70
Vested (in dollars per share) | $ / shares 48.41
Forfeited (in dollars per share) | $ / shares 92.34
Ending (in dollars per share) | $ / shares $ 104.54
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.3
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Dec. 31, 2022
Income Tax Disclosure [Abstract]          
Deferred income tax liabilities, net $ 5,797   $ 5,797   $ 6,893
Effective income tax rate (as a percent) 19.00% 7.30% 2.00% 17.20%  
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Narrative (Details)
9 Months Ended
Sep. 30, 2023
segment
Segment Reporting [Abstract]  
Number of reportable segments 3
Number of operating segments 3
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Summarized Financial Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues $ 239,287 $ 204,075 $ 646,242 $ 596,960
Segment income before taxes 11,192 17,320 35,386 50,672
Amortization expense 11,590 8,045 31,924 24,364
INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 57,235 58,579 164,113 180,364
GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 79,916 46,742 195,055 115,242
Operating Segments        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Segment income before taxes 42,091 40,451 114,183 117,482
Operating Segments | INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
Segment income before taxes 15,902 17,692 49,628 53,149
Operating Segments | BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 57,235 58,579 164,113 180,364
Segment income before taxes 10,226 10,171 26,757 35,606
Operating Segments | GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 79,916 46,742 195,055 115,242
Segment income before taxes 15,963 12,588 37,798 28,727
Corporate        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Segment income before taxes $ (30,899) $ (23,131) $ (78,797) $ (66,810)
XML 67 R58.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues $ 239,287 $ 204,075 $ 646,242 $ 596,960
INF        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
BTS        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 57,235 58,579 164,113 180,364
GEO        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 79,916 46,742 195,055 115,242
United States        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 224,858 193,998 611,184 571,581
United States | INF        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
United States | BTS        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 46,986 50,039 137,932 157,560
United States | GEO        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 75,736 45,205 186,178 112,667
Foreign        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 14,429 10,077 35,058 25,379
Foreign | INF        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 0 0 0 0
Foreign | BTS        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues 10,249 8,540 26,181 22,804
Foreign | GEO        
Revenues from External Customers and Long-Lived Assets [Line Items]        
Gross revenues $ 4,180 $ 1,537 $ 8,877 $ 2,575
XML 68 R59.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Revenue by Customer Type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues $ 239,287 $ 204,075 $ 646,242 $ 596,960
INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 57,235 58,579 164,113 180,364
GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 79,916 46,742 195,055 115,242
Public and quasi-public sector        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 164,152 132,397 442,568 377,185
Public and quasi-public sector | INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 81,236 78,643 228,298 237,901
Public and quasi-public sector | BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 13,834 15,812 47,779 46,708
Public and quasi-public sector | GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 69,082 37,942 166,491 92,576
Private sector        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 75,135 71,678 203,674 219,775
Private sector | INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 20,900 20,111 58,776 63,453
Private sector | BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 43,401 42,767 116,334 133,656
Private sector | GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues $ 10,834 $ 8,800 $ 28,564 $ 22,666
XML 69 R60.htm IDEA: XBRL DOCUMENT v3.23.3
Reportable Segments - Revenue by Contract Type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Oct. 01, 2022
Sep. 30, 2023
Oct. 01, 2022
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues $ 239,287 $ 204,075 $ 646,242 $ 596,960
INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 102,136 98,754 287,074 301,354
BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 57,235 58,579 164,113 180,364
GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 79,916 46,742 195,055 115,242
Cost-reimbursable contracts        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 216,568 189,572 586,405 530,673
Cost-reimbursable contracts | INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 98,651 94,199 275,693 288,525
Cost-reimbursable contracts | BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 40,666 48,702 119,960 127,194
Cost-reimbursable contracts | GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 77,251 46,671 190,752 114,954
Fixed-unit price contracts        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 22,719 14,503 59,837 66,287
Fixed-unit price contracts | INF        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 3,485 4,555 11,381 12,829
Fixed-unit price contracts | BTS        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues 16,569 9,877 44,153 53,170
Fixed-unit price contracts | GEO        
Segment Reporting, Revenue Reconciling Item [Line Items]        
Gross revenues $ 2,665 $ 71 $ 4,303 $ 288
XML 70 R61.htm IDEA: XBRL DOCUMENT v3.23.3
Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance $ 741,148 $ 694,240
Other comprehensive income (loss) (421) (612)
Ending balance 759,917 759,917
Accumulated Other Comprehensive Income (Loss)    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Beginning balance   0
Ending balance $ (612) $ (612)
XML 71 nvee-20230930_htm.xml IDEA: XBRL DOCUMENT 0001532961 2023-01-01 2023-09-30 0001532961 2023-10-27 0001532961 2023-09-30 0001532961 2022-12-31 0001532961 2023-07-02 2023-09-30 0001532961 2022-07-03 2022-10-01 0001532961 2022-01-02 2022-10-01 0001532961 us-gaap:CommonStockMember 2022-07-02 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-07-02 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-02 0001532961 us-gaap:RetainedEarningsMember 2022-07-02 0001532961 2022-07-02 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-07-03 2022-10-01 0001532961 us-gaap:CommonStockMember 2022-07-03 2022-10-01 0001532961 us-gaap:RetainedEarningsMember 2022-07-03 2022-10-01 0001532961 us-gaap:CommonStockMember 2022-10-01 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-10-01 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-10-01 0001532961 us-gaap:RetainedEarningsMember 2022-10-01 0001532961 2022-10-01 0001532961 us-gaap:CommonStockMember 2023-07-01 0001532961 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 0001532961 us-gaap:RetainedEarningsMember 2023-07-01 0001532961 2023-07-01 0001532961 us-gaap:AdditionalPaidInCapitalMember 2023-07-02 2023-09-30 0001532961 us-gaap:CommonStockMember 2023-07-02 2023-09-30 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-02 2023-09-30 0001532961 us-gaap:RetainedEarningsMember 2023-07-02 2023-09-30 0001532961 us-gaap:CommonStockMember 2023-09-30 0001532961 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001532961 us-gaap:RetainedEarningsMember 2023-09-30 0001532961 us-gaap:CommonStockMember 2022-01-01 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 0001532961 us-gaap:RetainedEarningsMember 2022-01-01 0001532961 2022-01-01 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-01-02 2022-10-01 0001532961 us-gaap:CommonStockMember 2022-01-02 2022-10-01 0001532961 us-gaap:RetainedEarningsMember 2022-01-02 2022-10-01 0001532961 us-gaap:CommonStockMember 2022-12-31 0001532961 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001532961 us-gaap:RetainedEarningsMember 2022-12-31 0001532961 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001532961 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001532961 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001532961 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001532961 2023-10-01 2023-09-30 0001532961 2023-10-01 nvee:PeriodOneMember 2023-09-30 0001532961 2023-10-01 nvee:PeriodTwoMember 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2023-01-01 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2022-01-02 2022-10-01 0001532961 nvee:VisualInformationSolutionsMember 2023-04-06 2023-04-06 0001532961 nvee:AximGeospatialLLCMember 2023-02-22 2023-02-22 0001532961 nvee:AximGeospatialLLCMember nvee:UncollateralizedPromissoryNoteMember 2023-02-22 0001532961 nvee:AximGeospatialLLCMember 2023-02-22 0001532961 nvee:OtherAcquisitionMember 2023-01-01 2023-09-30 0001532961 nvee:OtherAcquisitionMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember 2022-01-02 2022-12-31 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember nvee:UncollateralizedPromissoryNoteMember 2022-12-31 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember 2023-09-30 0001532961 nvee:VisualInformationSolutionsMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 nvee:OtherAcquisitionMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:CustomerRelationshipsMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember us-gaap:TradeNamesMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember us-gaap:TradeNamesMember 2023-09-30 0001532961 nvee:OtherAcquisitionMember us-gaap:TradeNamesMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:TradeNamesMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:TradeNamesMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember us-gaap:CustomerListsMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember us-gaap:CustomerListsMember 2023-09-30 0001532961 nvee:OtherAcquisitionMember us-gaap:CustomerListsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:CustomerListsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:CustomerListsMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember us-gaap:TechnologyBasedIntangibleAssetsMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember us-gaap:TechnologyBasedIntangibleAssetsMember 2023-09-30 0001532961 nvee:OtherAcquisitionMember us-gaap:TechnologyBasedIntangibleAssetsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:TechnologyBasedIntangibleAssetsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:TechnologyBasedIntangibleAssetsMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 nvee:AximGeospatialLLCMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 nvee:OtherAcquisitionMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember us-gaap:NoncompeteAgreementsMember 2022-12-31 0001532961 nvee:VisualInformationSolutionsMember 2023-01-01 2023-09-30 0001532961 nvee:AximGeospatialLLCMember 2023-01-01 2023-09-30 0001532961 us-gaap:SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember 2023-01-01 2023-09-30 0001532961 us-gaap:FurnitureAndFixturesMember 2023-09-30 0001532961 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001532961 us-gaap:ComputerEquipmentMember 2023-09-30 0001532961 us-gaap:ComputerEquipmentMember 2022-12-31 0001532961 nvee:SurveyAndFieldEquipmentMember 2023-09-30 0001532961 nvee:SurveyAndFieldEquipmentMember 2022-12-31 0001532961 us-gaap:LeaseholdImprovementsMember 2023-09-30 0001532961 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001532961 nvee:OtherDirectCostsMember 2023-07-02 2023-09-30 0001532961 nvee:OtherDirectCostsMember 2023-01-01 2023-09-30 0001532961 nvee:OtherDirectCostsMember 2022-07-03 2022-10-01 0001532961 nvee:OtherDirectCostsMember 2022-01-02 2022-10-01 0001532961 nvee:INFMember 2022-12-31 0001532961 nvee:INFMember 2023-01-01 2023-09-30 0001532961 nvee:INFMember 2023-09-30 0001532961 nvee:BTSMember 2022-12-31 0001532961 nvee:BTSMember 2023-01-01 2023-09-30 0001532961 nvee:BTSMember 2023-09-30 0001532961 nvee:GEOMember 2022-12-31 0001532961 nvee:GEOMember 2023-01-01 2023-09-30 0001532961 nvee:GEOMember 2023-09-30 0001532961 us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 us-gaap:CustomerRelationshipsMember 2022-12-31 0001532961 us-gaap:TradeNamesMember 2023-09-30 0001532961 us-gaap:TradeNamesMember 2022-12-31 0001532961 us-gaap:CustomerListsMember 2023-09-30 0001532961 us-gaap:CustomerListsMember 2022-12-31 0001532961 us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001532961 nvee:DevelopedTechnologyMember 2023-09-30 0001532961 nvee:DevelopedTechnologyMember 2022-12-31 0001532961 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001532961 srt:MinimumMember us-gaap:TradeNamesMember 2023-09-30 0001532961 srt:MaximumMember us-gaap:TradeNamesMember 2023-09-30 0001532961 srt:MinimumMember us-gaap:CustomerListsMember 2023-09-30 0001532961 srt:MaximumMember us-gaap:CustomerListsMember 2023-09-30 0001532961 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2023-09-30 0001532961 srt:MinimumMember nvee:DevelopedTechnologyMember 2023-09-30 0001532961 srt:MaximumMember nvee:DevelopedTechnologyMember 2023-09-30 0001532961 us-gaap:CustomerRelationshipsMember 2023-01-01 2023-09-30 0001532961 us-gaap:TradeNamesMember 2023-01-01 2023-09-30 0001532961 us-gaap:CustomerListsMember 2023-01-01 2023-09-30 0001532961 us-gaap:NoncompeteAgreementsMember 2023-01-01 2023-09-30 0001532961 nvee:DevelopedTechnologyMember 2023-01-01 2023-09-30 0001532961 nvee:SeniorCreditFacilityMember 2023-09-30 0001532961 nvee:SeniorCreditFacilityMember 2022-12-31 0001532961 nvee:UncollateralizedPromissoryNoteMember 2023-09-30 0001532961 nvee:UncollateralizedPromissoryNoteMember 2022-12-31 0001532961 nvee:StockPayableMember 2023-09-30 0001532961 nvee:StockPayableMember 2022-12-31 0001532961 us-gaap:LineOfCreditMember nvee:SeniorCreditFacilityMember 2016-12-07 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SeniorCreditFacilityMember 2016-12-07 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SecondARCreditAgreementMember 2021-08-13 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SecondARCreditAgreementMember 2021-08-13 2021-08-13 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SeniorCreditFacilityMember 2023-09-30 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SeniorCreditFacilityMember 2022-12-31 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SecondARCreditAgreementMember 2023-01-01 2023-09-30 0001532961 us-gaap:RevolvingCreditFacilityMember nvee:SecondARCreditAgreementMember 2023-09-30 0001532961 nvee:SecondARCreditAgreementMember 2023-09-30 0001532961 nvee:ARCreditAgreementMember 2023-09-30 0001532961 nvee:ARCreditAgreementMember 2023-07-02 2023-09-30 0001532961 nvee:ARCreditAgreementMember 2023-01-01 2023-09-30 0001532961 nvee:ARCreditAgreementMember 2022-07-03 2022-10-01 0001532961 nvee:ARCreditAgreementMember 2022-01-02 2022-10-01 0001532961 2022-01-02 2022-12-31 0001532961 nvee:EquityPlan2011Member 2023-09-30 0001532961 srt:MinimumMember us-gaap:RestrictedStockMember nvee:EquityPlan2011Member 2023-01-01 2023-09-30 0001532961 srt:MaximumMember us-gaap:RestrictedStockMember nvee:EquityPlan2011Member 2023-01-01 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2022-12-31 0001532961 us-gaap:RestrictedStockMember 2023-01-01 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2023-07-02 2023-09-30 0001532961 us-gaap:RestrictedStockMember 2022-07-03 2022-10-01 0001532961 us-gaap:RestrictedStockMember 2022-01-02 2022-10-01 0001532961 nvee:LiabilityBasedAwardsMember 2023-07-02 2023-09-30 0001532961 nvee:LiabilityBasedAwardsMember 2023-01-01 2023-09-30 0001532961 nvee:LiabilityBasedAwardsMember 2022-07-03 2022-10-01 0001532961 nvee:LiabilityBasedAwardsMember 2022-01-02 2022-10-01 0001532961 nvee:LiabilityBasedAwardsMember 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember 2023-07-02 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember 2022-07-03 2022-10-01 0001532961 us-gaap:OperatingSegmentsMember 2023-01-01 2023-09-30 0001532961 us-gaap:OperatingSegmentsMember 2022-01-02 2022-10-01 0001532961 us-gaap:CorporateNonSegmentMember 2023-07-02 2023-09-30 0001532961 us-gaap:CorporateNonSegmentMember 2022-07-03 2022-10-01 0001532961 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-09-30 0001532961 us-gaap:CorporateNonSegmentMember 2022-01-02 2022-10-01 0001532961 country:US nvee:INFMember 2023-07-02 2023-09-30 0001532961 country:US nvee:BTSMember 2023-07-02 2023-09-30 0001532961 country:US nvee:GEOMember 2023-07-02 2023-09-30 0001532961 country:US 2023-07-02 2023-09-30 0001532961 country:US nvee:INFMember 2023-01-01 2023-09-30 0001532961 country:US nvee:BTSMember 2023-01-01 2023-09-30 0001532961 country:US nvee:GEOMember 2023-01-01 2023-09-30 0001532961 country:US 2023-01-01 2023-09-30 0001532961 us-gaap:NonUsMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 us-gaap:NonUsMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 us-gaap:NonUsMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 us-gaap:NonUsMember 2023-07-02 2023-09-30 0001532961 us-gaap:NonUsMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 us-gaap:NonUsMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 us-gaap:NonUsMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 us-gaap:NonUsMember 2023-01-01 2023-09-30 0001532961 nvee:INFMember 2023-07-02 2023-09-30 0001532961 nvee:BTSMember 2023-07-02 2023-09-30 0001532961 nvee:GEOMember 2023-07-02 2023-09-30 0001532961 country:US nvee:INFMember 2022-07-03 2022-10-01 0001532961 country:US nvee:BTSMember 2022-07-03 2022-10-01 0001532961 country:US nvee:GEOMember 2022-07-03 2022-10-01 0001532961 country:US 2022-07-03 2022-10-01 0001532961 country:US nvee:INFMember 2022-01-02 2022-10-01 0001532961 country:US nvee:BTSMember 2022-01-02 2022-10-01 0001532961 country:US nvee:GEOMember 2022-01-02 2022-10-01 0001532961 country:US 2022-01-02 2022-10-01 0001532961 us-gaap:NonUsMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 us-gaap:NonUsMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 us-gaap:NonUsMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 us-gaap:NonUsMember 2022-07-03 2022-10-01 0001532961 us-gaap:NonUsMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 us-gaap:NonUsMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 us-gaap:NonUsMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 us-gaap:NonUsMember 2022-01-02 2022-10-01 0001532961 nvee:INFMember 2022-07-03 2022-10-01 0001532961 nvee:BTSMember 2022-07-03 2022-10-01 0001532961 nvee:GEOMember 2022-07-03 2022-10-01 0001532961 nvee:INFMember 2022-01-02 2022-10-01 0001532961 nvee:BTSMember 2022-01-02 2022-10-01 0001532961 nvee:GEOMember 2022-01-02 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember 2023-07-02 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember 2023-01-01 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 nvee:PrivateSectorMember 2023-07-02 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 nvee:PrivateSectorMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 nvee:PrivateSectorMember 2023-01-01 2023-09-30 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember 2022-07-03 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 nvee:PublicAndQuasiPublicSectorMember 2022-01-02 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 nvee:PrivateSectorMember 2022-07-03 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 nvee:PrivateSectorMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 nvee:PrivateSectorMember 2022-01-02 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 nvee:CostReimbursableContractsMember 2023-07-02 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 nvee:CostReimbursableContractsMember 2023-01-01 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:INFMember 2023-07-02 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:BTSMember 2023-07-02 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:GEOMember 2023-07-02 2023-09-30 0001532961 us-gaap:FixedPriceContractMember 2023-07-02 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:INFMember 2023-01-01 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:BTSMember 2023-01-01 2023-09-30 0001532961 us-gaap:FixedPriceContractMember nvee:GEOMember 2023-01-01 2023-09-30 0001532961 us-gaap:FixedPriceContractMember 2023-01-01 2023-09-30 0001532961 nvee:CostReimbursableContractsMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 nvee:CostReimbursableContractsMember 2022-07-03 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 nvee:CostReimbursableContractsMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 nvee:CostReimbursableContractsMember 2022-01-02 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:INFMember 2022-07-03 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:BTSMember 2022-07-03 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:GEOMember 2022-07-03 2022-10-01 0001532961 us-gaap:FixedPriceContractMember 2022-07-03 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:INFMember 2022-01-02 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:BTSMember 2022-01-02 2022-10-01 0001532961 us-gaap:FixedPriceContractMember nvee:GEOMember 2022-01-02 2022-10-01 0001532961 us-gaap:FixedPriceContractMember 2022-01-02 2022-10-01 0001532961 us-gaap:AccumulatedTranslationAdjustmentMember 2022-12-31 0001532961 us-gaap:AccumulatedTranslationAdjustmentMember 2023-09-30 shares iso4217:USD iso4217:USD shares nvee:acquisition pure nvee:segment 0001532961 2023 Q3 false --12-30 P2Y 10-Q true 2023-09-30 false 001-35849 NV5 Global, Inc. DE 45-3458017 200 South Park Road, Suite 350 Hollywood, FL 33021 954 495-2112 Common Stock, $0.01 par value NVEE NASDAQ Yes Yes Large Accelerated Filer false false false 15895937 46439000 38541000 166859000 145637000 122049000 92862000 14239000 13636000 349586000 290676000 49930000 41640000 39105000 39314000 236433000 160431000 527030000 400957000 3881000 2705000 1205965000 935723000 67144000 57771000 64538000 44313000 42808000 31183000 2286000 1597000 3845000 10854000 12989000 15176000 193610000 160894000 1897000 4481000 29102000 29542000 215642000 39673000 5797000 6893000 446048000 241483000 0.01 0.01 5000000 5000000 0 0 0 0 0 0 0.01 0.01 45000000 45000000 15892912 15892912 15523300 15523300 159000 155000 502909000 471300000 -612000 0 257461000 222785000 759917000 694240000 1205965000 935723000 239287000 204075000 646242000 596960000 56853000 48295000 162316000 141976000 45522000 41253000 112827000 116557000 21468000 14592000 49357000 45426000 123843000 104140000 324500000 303959000 115444000 99935000 321742000 293001000 60262000 49670000 171883000 146719000 20257000 16730000 49728000 47611000 6011000 5441000 17208000 15822000 13840000 9771000 38426000 29373000 100370000 81612000 277245000 239525000 15074000 18323000 44497000 53476000 3882000 1003000 9111000 2804000 11192000 17320000 35386000 50672000 -2124000 1257000 710000 8699000 13316000 16063000 34676000 41973000 0.88 1.09 2.31 2.85 0.86 1.05 2.24 2.75 15210100 14768689 15035898 14732726 15497836 15301545 15448693 15242453 13316000 16063000 34676000 41973000 -421000 0 -612000 0 12895000 16063000 34064000 41973000 15537134 155000 462066000 0 198722000 660943000 5351000 5351000 22787 1000 -1000 0 16063000 16063000 15559921 156000 467416000 0 214785000 682357000 15890908 159000 497035000 -191000 244145000 741148000 5459000 5459000 -2213 730 81000 81000 2091 196000 196000 2856 300000 300000 -421000 -421000 13316000 13316000 15892912 159000 502909000 -612000 257461000 759917000 15414005 154000 451754000 0 172812000 624720000 14312000 14312000 133397 2000 -2000 0 12519 1352000 1352000 41973000 41973000 15559921 156000 467416000 0 214785000 682357000 15523300 155000 471300000 0 222785000 694240000 15031000 15031000 244050 3000 -3000 0 730 81000 81000 123436 1000 14665000 14666000 1697000 1697000 2856 300000 300000 -612000 -612000 34676000 34676000 15892912 159000 502909000 -612000 257461000 759917000 34676000 41973000 42498000 33091000 10346000 9409000 940000 1252000 16504000 15249000 -7518000 -543000 633000 100000 -25447000 -4288000 573000 556000 6364000 -13281000 24442000 8633000 -1944000 8105000 3846000 -7937000 1243000 -1608000 -2113000 -2902000 -1307000 0 689000 -304000 45435000 80391000 189109000 5020000 295000 87000 14257000 14874000 -203071000 -19807000 188000000 0 6399000 7796000 793000 1597000 15000000 45000000 81000 0 165727000 -54393000 -193000 0 7898000 6191000 38541000 47980000 46439000 54171000 325000 5849000 6326000 2933000 14666000 1352000 1697000 0 888000 644000 300000 0 Organization and Nature of Business Operations<div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">NV5 Global, Inc. and its subsidiaries (collectively, the “Company” or “NV5 Global”) is a provider of technology, conformity assessment, consulting solutions, and software applications to public and private sector clients in the infrastructure, utility services, construction, real estate, environmental, and geospatial markets, operating nationwide and abroad. The Company’s clients include the U.S. Federal, state and local governments, and the private sector. NV5 Global provides a wide range of services, including, but not limited to:</span></div><div style="margin-top:5pt;padding-left:72pt;text-indent:-45pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.827%"><tr><td style="width:1.0%"></td><td style="width:4.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.325%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Utility services</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MEP &amp; technology design</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">LNG services</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commissioning</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Engineering</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Building program management</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Civil program management</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Environmental health &amp; safety</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Surveying</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Real estate transaction services</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction quality assurance</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Energy efficiency &amp; clean energy services</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Code compliance consulting</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3D geospatial data modeling</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forensic services</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Environmental &amp; natural resources</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Litigation support</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Robotic survey solutions</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ecological studies</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">●</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Geospatial data applications &amp; software</span></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fiscal Year</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company operates on a "52/53 week" fiscal year ending on the Saturday closest to the calendar quarter end.</span></div> Summary of Significant Accounting Policies <div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of the Company are presented in U.S. dollars in conformity with accounting principles generally accepted in the United States (“U.S. GAAP”) and have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”) for reporting of interim financial information. Pursuant to such rules and regulations, certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted. The consolidated financial statements include the accounts of the Company and its subsidiaries. All intercompany transactions and balances have been eliminated in consolidation. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited interim consolidated financial statements of the Company contain all adjustments necessary to present fairly the financial position and results of operations of the Company as of the dates and for the periods presented. Accordingly, these statements should be read in conjunction with the consolidated financial statements and notes contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”). The results of operations and cash flows for the interim periods presented are not necessarily indicative of the results to be expected for any future interim period or for the full 2023 fiscal year.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Obligations </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To determine the proper revenue recognition method, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined or single contract should be accounted for as more than one performance obligation. The majority of the Company's contracts have a single performance obligation as the promise to transfer the individual goods or services that is not separately identifiable from other promises in the contracts and therefore, is not distinct. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s performance obligations are satisfied as work progresses or at a point in time. Revenue on the Company's cost-reimbursable contracts is recognized over time using direct costs incurred or direct costs incurred to date as compared to the estimated total direct costs for performance obligations because it depicts the transfer of control to the customer. Contract costs include labor, sub-consultant services, and other direct costs.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenue from services transferred to customers at a point in time is recognized when the customer obtains control of the asset, which is generally upon delivery and acceptance by the customer of the reports and/or analysis performed.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the Company had $853,829 of remaining performance obligations, of which $694,544 is expected to be recognized over the next 12 months and the majority of the balance over the next 24 months. Contracts for which work authorizations have been received are included in performance obligations. Performance obligations include only those amounts that have been funded and authorized and does not reflect the full amounts the Company may receive over the term of such contracts. In the case of non-government contracts and project awards, performance obligations include future revenue at contract or customary rates, excluding contract renewals or extensions that are at the discretion of the client. For contracts with a not-to-exceed maximum amount, the Company includes revenue from such contracts in performance obligations to the extent of the remaining estimated amount. </span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing of revenue recognition, billings and cash collections results in billed receivables, unbilled receivables (contract assets), and billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities) on the Consolidated Balance Sheet. The liability “Billings in excess of costs and estimated earnings on uncompleted contracts” represents billings in excess of revenues recognized on these contracts as of the reporting date. This liability is generally classified as current. During the three and nine months ended September 30, 2023 the Company performed services and recognized $1,793 and $26,840, respectively, of revenue related to its contract liabilities that existed as of December 31, 2022.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill and Intangible Assets</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is the excess of consideration paid for an acquired entity over the amounts assigned to assets acquired, including other identifiable intangible assets and liabilities assumed in a business combination. To determine the amount of goodwill resulting from a business combination, the Company performs an assessment to determine the acquisition date fair value of the acquired company’s tangible and identifiable intangible assets and liabilities. </span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is required to be evaluated for impairment on an annual basis or whenever events or changes in circumstances indicate the asset may be impaired. An entity has the option to first assess qualitative factors to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. These qualitative factors include macroeconomic and industry conditions, cost factors, overall financial performance, and other relevant entity-specific events. If the entity determines that this threshold is met, then the Company applies a one-step quantitative test and record the amount of goodwill impairment as the excess of a reporting unit's carrying amount over its fair value, not to exceed the total amount of goodwill allocated to the reporting unit. The Company determines fair value through multiple valuation techniques, and weights the results accordingly. Subjective and complex judgments are required in assessing whether an event of impairment of goodwill has occurred, including assumptions and estimates used to determine the fair value of its reporting units. The Company has elected to perform its annual goodwill impairment review as of August 1 of each year. The Company conducts its annual impairment tests on the goodwill using the quantitative method of evaluating goodwill.</span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of August 1, 2023, the Company conducted its annual impairment tests using the quantitative method of evaluating goodwill. Based on the quantitative analyses the Company determined the fair value of each of the reporting units exceeded its carrying value. Therefore, the goodwill was not impaired and the Company did not recognize an impairment charge relating to goodwill as of August 1, 2023. Furthermore, there were no indicators, events or changes in circumstances that would indicate goodwill was impaired during the period from August 2, 2023 through September 30, 2023.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable intangible assets primarily include customer backlog, customer relationships, trade names, non-compete agreements, and developed technology. Amortizable intangible assets are amortized on a straight-line basis over their estimated useful lives and reviewed for impairment whenever events or changes in circumstances indicate that the assets may be impaired. If an indicator of impairment exists, the Company compares the estimated future cash flows of the asset, on an undiscounted basis, to the carrying value of the asset. If the undiscounted cash flows exceed the carrying value, no impairment is indicated. If the undiscounted cash flows do not exceed the carrying value, then impairment, if any, is measured as the difference between fair value and carrying value, with fair value typically based on a discounted cash flow model. There were no indicators, events or changes in circumstances that would indicate intangible assets were impaired during the nine months ended September 30, 2023. See Note 8, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill and Intangible Assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, for further information on goodwill and identified intangibles.</span></div>There have been no material changes in the Company's significant accounting policies described in the audited financial statements included in the Company's Annual Report on Form 10-K for the year ended December 31, 2022. <div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of the Company are presented in U.S. dollars in conformity with accounting principles generally accepted in the United States (“U.S. GAAP”) and have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”) for reporting of interim financial information. Pursuant to such rules and regulations, certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted. The consolidated financial statements include the accounts of the Company and its subsidiaries. All intercompany transactions and balances have been eliminated in consolidation. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying unaudited interim consolidated financial statements of the Company contain all adjustments necessary to present fairly the financial position and results of operations of the Company as of the dates and for the periods presented. Accordingly, these statements should be read in conjunction with the consolidated financial statements and notes contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”). The results of operations and cash flows for the interim periods presented are not necessarily indicative of the results to be expected for any future interim period or for the full 2023 fiscal year.</span></div> <div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Obligations </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To determine the proper revenue recognition method, the Company evaluates whether two or more contracts should be combined and accounted for as one single contract and whether the combined or single contract should be accounted for as more than one performance obligation. The majority of the Company's contracts have a single performance obligation as the promise to transfer the individual goods or services that is not separately identifiable from other promises in the contracts and therefore, is not distinct. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s performance obligations are satisfied as work progresses or at a point in time. Revenue on the Company's cost-reimbursable contracts is recognized over time using direct costs incurred or direct costs incurred to date as compared to the estimated total direct costs for performance obligations because it depicts the transfer of control to the customer. Contract costs include labor, sub-consultant services, and other direct costs.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenue from services transferred to customers at a point in time is recognized when the customer obtains control of the asset, which is generally upon delivery and acceptance by the customer of the reports and/or analysis performed.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, the Company had $853,829 of remaining performance obligations, of which $694,544 is expected to be recognized over the next 12 months and the majority of the balance over the next 24 months. Contracts for which work authorizations have been received are included in performance obligations. Performance obligations include only those amounts that have been funded and authorized and does not reflect the full amounts the Company may receive over the term of such contracts. In the case of non-government contracts and project awards, performance obligations include future revenue at contract or customary rates, excluding contract renewals or extensions that are at the discretion of the client. For contracts with a not-to-exceed maximum amount, the Company includes revenue from such contracts in performance obligations to the extent of the remaining estimated amount. </span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div>The timing of revenue recognition, billings and cash collections results in billed receivables, unbilled receivables (contract assets), and billings in excess of costs and estimated earnings on uncompleted contracts (contract liabilities) on the Consolidated Balance Sheet. The liability “Billings in excess of costs and estimated earnings on uncompleted contracts” represents billings in excess of revenues recognized on these contracts as of the reporting date. This liability is generally classified as current. 853829000 694544000 P12M P24M 1793000 26840000 <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill and Intangible Assets</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is the excess of consideration paid for an acquired entity over the amounts assigned to assets acquired, including other identifiable intangible assets and liabilities assumed in a business combination. To determine the amount of goodwill resulting from a business combination, the Company performs an assessment to determine the acquisition date fair value of the acquired company’s tangible and identifiable intangible assets and liabilities. </span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is required to be evaluated for impairment on an annual basis or whenever events or changes in circumstances indicate the asset may be impaired. An entity has the option to first assess qualitative factors to determine whether the existence of events or circumstances leads to a determination that it is more likely than not that the fair value of a reporting unit is less than its carrying amount. These qualitative factors include macroeconomic and industry conditions, cost factors, overall financial performance, and other relevant entity-specific events. If the entity determines that this threshold is met, then the Company applies a one-step quantitative test and record the amount of goodwill impairment as the excess of a reporting unit's carrying amount over its fair value, not to exceed the total amount of goodwill allocated to the reporting unit. The Company determines fair value through multiple valuation techniques, and weights the results accordingly. Subjective and complex judgments are required in assessing whether an event of impairment of goodwill has occurred, including assumptions and estimates used to determine the fair value of its reporting units. The Company has elected to perform its annual goodwill impairment review as of August 1 of each year. The Company conducts its annual impairment tests on the goodwill using the quantitative method of evaluating goodwill.</span></div>As of August 1, 2023, the Company conducted its annual impairment tests using the quantitative method of evaluating goodwill. Based on the quantitative analyses the Company determined the fair value of each of the reporting units exceeded its carrying value. Therefore, the goodwill was not impaired and the Company did not recognize an impairment charge relating to goodwill as of August 1, 2023. Furthermore, there were no indicators, events or changes in circumstances that would indicate goodwill was impaired during the period from August 2, 2023 through September 30, 2023.Identifiable intangible assets primarily include customer backlog, customer relationships, trade names, non-compete agreements, and developed technology. Amortizable intangible assets are amortized on a straight-line basis over their estimated useful lives and reviewed for impairment whenever events or changes in circumstances indicate that the assets may be impaired. If an indicator of impairment exists, the Company compares the estimated future cash flows of the asset, on an undiscounted basis, to the carrying value of the asset. If the undiscounted cash flows exceed the carrying value, no impairment is indicated. If the undiscounted cash flows do not exceed the carrying value, then impairment, if any, is measured as the difference between fair value and carrying value, with fair value typically based on a discounted cash flow model. There were no indicators, events or changes in circumstances that would indicate intangible assets were impaired during the nine months ended September 30, 2023. Recent Accounting PronouncementsNone Recent Accounting PronouncementsNone Earnings per Share<div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period, excluding unvested restricted shares. Diluted earnings per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the earnings of the Company. The effect of potentially dilutive securities is not considered during periods of loss or if the effect is anti-dilutive.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average number of shares outstanding in calculating basic earnings per share for the nine months ended September 30, 2023 and October 1, 2022 exclude 687,716 and 760,050 non-vested restricted shares, respectively. During the three and nine months ended September 30, 2023, there were 22,365 and 31,886 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met. During the three and nine months ended October 1, 2022, there were 36,794 and 25,282 weighted average securities, respectively, which are not included in the calculation of diluted weighted average shares outstanding because their impact is anti-dilutive or their performance conditions have not been met. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents a reconciliation of the net income and weighted average shares outstanding for the calculation of basic and diluted earnings per share:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.001%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income – basic and diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,063 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,676 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted average shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,210,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,768,689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,035,898 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,732,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive non-vested restricted shares and units</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262,709 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">517,238 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387,657 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">494,047 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of issuable shares related to acquisitions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,027 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,138 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted weighted average shares outstanding</span></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,497,836 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,301,545 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,448,693 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,242,453 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 687716 760050 22365 31886 36794 25282 <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents a reconciliation of the net income and weighted average shares outstanding for the calculation of basic and diluted earnings per share:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.001%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income – basic and diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,063 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,676 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,973 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted average shares outstanding</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,210,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,768,689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,035,898 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,732,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive non-vested restricted shares and units</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262,709 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">517,238 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387,657 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">494,047 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of issuable shares related to acquisitions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,027 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,138 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,680 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted weighted average shares outstanding</span></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,497,836 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,301,545 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,448,693 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,242,453 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 13316000 13316000 16063000 16063000 34676000 34676000 41973000 41973000 15210100 14768689 15035898 14732726 262709 517238 387657 494047 25027 15618 25138 15680 15497836 15301545 15448693 15242453 Business Acquisitions <div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023 Acquisitions</span></div><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 6, 2023, the Company acquired all of the outstanding equity interests in the Visual Information Solutions commercial geospatial technology and software business ("VIS") from L3Harris. VIS is a provider of subscription-based software solutions for the analysis and management of software applications and Analytics as a Service (AaaS) solutions. The Company acquired VIS for a cash purchase price of $75,371. The purchase price and other related costs associated with the transaction were financed through the Company's amended and restated credit agreement (the "Second A&amp;R Credit Agreement" or "Senior Credit Facility") with Bank of America, N.A. and other lenders party thereto. See Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Notes Payable and Other Obligations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, for further detail on the Second A&amp;R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.    </span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 22, 2023, the Company acquired all of the outstanding equity interests in Continental Mapping Acquisition Corp. and its subsidiaries, including Axim Geospatial, LLC (collectively "Axim"), a provider of comprehensive geospatial services and solutions addressing critical mission requirements for customers across the defense and intelligence and state and local government sectors. The aggregate purchase price of the acquisition was $139,562, including $119,736 in cash, a $6,326 promissory note, and $13,500 of the Company's common stock. The purchase price and other related costs associated with the transaction were financed through the Company's Second A&amp;R Credit Agreement with Bank of America, N.A. and other lenders party thereto. See Note 10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Notes Payable and Other Obligations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, for further detail on the Second A&amp;R Credit Agreement. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The acquisition will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, certain fixed assets, deferred tax liabilities, and the fair value of other assets and liabilities acquired.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has completed four other acquisitions during 2023. The aggregate purchase price for the four acquisitions was $7,725, including $6,900 in cash, $500 of the Company's common stock, and a potential earn-out of up to $340 payable in cash, which has been recorded at an estimated fair value of $325. A probability-weighted approach was used to determine the fair value of the earn-out, which is a generally accepted valuation technique that embodies all significant assumption types. The final </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2023 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the relevant acquisition date, including intangible assets, accounts receivable, and deferred tax liabilities. </span></div><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2022 Acquisitions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">    </span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company completed five acquisitions during 2022. The aggregate purchase price of all five acquisitions was $14,220, including $5,882 of cash, $1,606 of promissory notes, $433 of the Company's common stock, and potential earn-outs of up to $15,850 payable in cash and stock, which was recorded at an estimated fair value of $6,299. An option-based model was used to determine the fair value of the earn-outs, which is a generally accepted valuation technique that embodies all significant assumption types. In order to determine the fair values of tangible and intangible assets acquired and liabilities assumed, the Company engaged an independent third-party valuation specialist to assist in the determination of fair values. The final determination of the fair value of assets and liabilities will be completed within the one-year measurement period as required by ASC 805. The 2022 acquisitions will necessitate the use of this measurement period to adequately analyze and assess the factors used in establishing the asset and liability fair values as of the acquisition date, including intangible assets, accounts receivable, and certain fixed assets. Purchase price allocation adjustments recorded during 2023 were immaterial. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the fair values of the assets acquired and liabilities assumed as of the acquisition date for the acquisitions closed during the nine months ended September 30, 2023 and the fiscal year ended December 31, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.526%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">VIS</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Axim</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,419 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,316 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,762 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed and unbilled receivables, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,042 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,937 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,794 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,162 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,643 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">552 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,357 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">118 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,870 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,026 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,510 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,505 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,543 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,339 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,518 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,146 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,983 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,266 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer backlog</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">583 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,578 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,942 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">580 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">298 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,662 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,021 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,535)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,668)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,297)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,623)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,369)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,477)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(506)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24,352)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,758 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,591 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,820 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,169 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,944 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consideration paid (Cash, Notes and/or stock)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,371 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,562 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,333 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,921 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent earn-out liability (Cash and stock)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Consideration</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,371 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,562 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,725 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,220 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess consideration over the amounts assigned to the net assets acquired (Goodwill)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,613 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,971 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,905 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,489 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,276 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was recorded based on the amount by which the purchase price exceeded the fair value of the net assets acquired and the amount is attributable to the reputation of the business acquired, the workforce in place and the synergies to be </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">achieved from these acquisitions. See Note 8, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill and Intangible Assets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, for further information on fair value adjustments to goodwill and identified intangibles.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of the Company include the results of operations from any business acquired from their respective dates of acquisition. The following table presents the results of operations of businesses acquired from their respective dates of acquisition for the three and nine months ended September 30, 2023. The revenue and earnings of the fiscal 2022 acquisitions included in the Company's results since the acquisition dates are not material to the Company's consolidated financial statements and have not been presented. </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.137%"><tr><td style="width:1.0%"></td><td style="width:58.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.175%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.177%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative expenses for the three and nine months ended September 30, 2023 and October 1, 2022 include acquisition-related costs pertaining to the Company's acquisition activities. Acquisition-related costs were not material to the Company's consolidated financial statements. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the unaudited, pro forma consolidated results of operations (in thousands, except per share amounts) for the three and nine months ended September 30, 2023 and October 1, 2022 as if the fiscal 2023 and 2022 acquisitions had occurred at the beginning of fiscal year 2022. The pro forma information provided below is compiled from pre-acquisition financial information and includes pro forma adjustments for amortization expense, adjustments to certain expenses, and the income tax impact of these adjustments. The pro forma results are not necessarily indicative of (i) the results of operations that would have occurred had the operations of these acquisitions actually been acquired at the beginning of fiscal year 2022 or (ii) future results of operations:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:27.635%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.002%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,634 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236,507 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">671,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,763 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,535 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.75 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.86 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.09 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.17 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.66 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:7pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adjustments were made to the pro forma results to adjust amortization of intangible assets to reflect fair value of identified assets acquired, to record the effects of financing from the Company's Senior Credit Facility, to record the effects of promissory notes issued, and to record the income tax effect of these adjustments.</span></div> 75371000 139562000 119736000 6326000 13500000 4 4 7725000 6900000 500000 340000 325000 5 5 14220000 5882000 1606000 433000 15850000 6299000 <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the fair values of the assets acquired and liabilities assumed as of the acquisition date for the acquisitions closed during the nine months ended September 30, 2023 and the fiscal year ended December 31, 2022:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.526%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">VIS</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Axim</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,419 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,316 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,762 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed and unbilled receivables, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,042 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,937 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,794 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,162 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,643 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">552 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,357 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">118 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,870 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,026 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,510 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,505 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,543 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">156 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,339 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,518 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,146 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,983 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,266 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,409 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer backlog</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">583 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,327 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,578 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,942 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">580 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">298 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,662 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,021 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,535)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,668)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,297)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,623)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,369)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,477)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(506)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24,352)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,758 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,591 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,820 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,169 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,944 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consideration paid (Cash, Notes and/or stock)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,371 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,562 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,400 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,333 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,921 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent earn-out liability (Cash and stock)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Consideration</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,371 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,562 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,725 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,220 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess consideration over the amounts assigned to the net assets acquired (Goodwill)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,613 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,971 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,905 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,489 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,276 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 7027000 5419000 1316000 13762000 0 5042000 13937000 1609000 20588000 1794000 2162000 1643000 552000 4357000 632000 118000 2870000 38000 3026000 1510000 1505000 1543000 17000 3065000 0 0 156000 5000 161000 0 34339000 53518000 2146000 90003000 3606000 2983000 2266000 160000 5409000 268000 882000 3862000 583000 5327000 459000 4578000 1942000 0 6520000 0 26000 580000 197000 803000 298000 58662000 87736000 6623000 153021000 8567000 16535000 13668000 2297000 32500000 5623000 9369000 14477000 506000 24352000 0 32758000 59591000 3820000 96169000 2944000 75371000 139562000 7400000 222333000 7921000 0 0 325000 325000 6299000 75371000 139562000 7725000 222658000 14220000 42613000 79971000 3905000 126489000 11276000 The following table presents the results of operations of businesses acquired from their respective dates of acquisition for the three and nine months ended September 30, 2023. The revenue and earnings of the fiscal 2022 acquisitions included in the Company's results since the acquisition dates are not material to the Company's consolidated financial statements and have not been presented. <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.137%"><tr><td style="width:1.0%"></td><td style="width:58.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.175%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.177%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,970 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table>The pro forma results are not necessarily indicative of (i) the results of operations that would have occurred had the operations of these acquisitions actually been acquired at the beginning of fiscal year 2022 or (ii) future results of operations:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:27.635%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.002%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross revenues</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,634 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236,507 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">671,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690,657 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,763 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,535 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,926 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per share</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.13 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.23 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.75 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.86 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.09 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.17 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.66 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 32970000 69901000 5739000 11481000 239634000 236507000 671471000 690657000 13267000 16763000 33535000 40926000 0.87 1.13 2.23 2.75 0.86 1.09 2.17 2.66 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Billed and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Unbilled Receivables</span><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Billed and unbilled receivables consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed receivables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">170,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">149,082 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,607)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed receivables, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,859 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,637 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,321 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,104 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,272)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,242)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,049 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,862 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Billed and unbilled receivables consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed receivables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">170,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">149,082 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,607)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,445)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billed receivables, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,859 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,637 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,321 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,104 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,272)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,242)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,049 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,862 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 170466000 149082000 3607000 3445000 166859000 145637000 124321000 95104000 2272000 2242000 122049000 92862000 Property and Equipment, net<div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office furniture and equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,451 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,421 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Survey and field equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,853 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,546 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,768 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,182)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,128)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,930 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,640 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>Depreciation expense was $3,703 and $10,574 for the three and nine months ended September 30, 2023, respectively, of which $1,453 and $4,072 was included in other direct costs. Depreciation expense was $2,988 and $8,727 for the three and nine months ended October 1, 2022, respectively, of which $1,262 and $3,718 was included in other direct costs. <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office furniture and equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,451 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,421 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,816 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Survey and field equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,853 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,546 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,768 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(51,182)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,128)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,930 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,640 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3451000 3421000 30609000 25816000 60199000 49985000 6853000 6546000 101112000 85768000 51182000 44128000 49930000 41640000 3703000 10574000 1453000 4072000 2988000 8727000 1262000 3718000 Goodwill and Intangible Assets<div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value by reportable segment for the nine months ended September 30, 2023 were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.145%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023 Acquisitions</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign Currency Translation of non-USD functional currency goodwill</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,838 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,179 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,984 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">198,187 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(373)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">320,388 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">400,957 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,489 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(419)</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">527,030 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill of $1,225 from acquisitions completed during the nine months ended September 30, 2023 is expected to be deductible for income tax purposes.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangible Assets</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net, as of September 30, 2023 and December 31, 2022 consist of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.425%"><tr><td style="width:1.0%"></td><td style="width:21.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.188%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Amount</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finite-lived intangible assets: </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">312,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(108,368)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,998 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(87,054)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,292 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,665)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,883 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,933)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">950 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer backlog</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,745 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,206)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,419 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,333)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,086 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,341)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,591 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,298)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,812 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(5)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,416)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,305)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,639 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finite-lived intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">424,429 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187,996)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236,433 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,354 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(155,923)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,431 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over estimated lives (1 to 17 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (1 to 5 years) </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(3) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (1 to 10 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(4) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their contractual lives (2 to 5 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(5) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (5 to 10 years)</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The identifiable intangible assets acquired during the nine months ended September 30, 2023 consist of customer relationships, trade name, customer backlog, non-compete, and developed technology with weighted average lives of 12.4 years, 3.6 years, 1.3 years, 3.6 years, and 6.5 years, respectively. Amortization expense was $11,590 and $31,924 during the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.</span></div> <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying value by reportable segment for the nine months ended September 30, 2023 were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.145%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023 Acquisitions</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Adjustments</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign Currency Translation of non-USD functional currency goodwill</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,658 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,838 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,179 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,984 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">198,187 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">122,584 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(373)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">320,388 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">400,957 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,489 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(419)</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">527,030 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 90932000 726000 0 0 91658000 111838000 3179000 13000 -46000 114984000 198187000 122584000 -10000 -373000 320388000 400957000 126489000 3000 -419000 527030000 1225000 <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net, as of September 30, 2023 and December 31, 2022 consist of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.425%"><tr><td style="width:1.0%"></td><td style="width:21.587%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.183%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.522%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.188%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net<br/>Amount</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finite-lived intangible assets: </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">312,996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(108,368)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">222,998 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(87,054)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,292 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(17,665)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,627 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,883 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,933)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">950 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer backlog</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,745 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(31,206)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,539 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,419 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,333)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,086 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,341)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,591 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,298)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,812 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(5)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,464 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,416)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,048 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,944 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,305)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,639 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finite-lived intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">424,429 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(187,996)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236,433 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,354 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(155,923)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160,431 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over estimated lives (1 to 17 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (1 to 5 years) </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(3) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (1 to 10 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(4) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their contractual lives (2 to 5 years)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(5) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortized on a straight-line basis over their estimated lives (5 to 10 years)</span></div> 312996000 108368000 204628000 222998000 87054000 135944000 22292000 17665000 4627000 16883000 15933000 950000 34745000 31206000 3539000 29419000 27333000 2086000 14932000 12341000 2591000 14110000 11298000 2812000 39464000 18416000 21048000 32944000 14305000 18639000 424429000 187996000 236433000 316354000 155923000 160431000 P1Y P17Y P1Y P5Y P1Y P10Y P2Y P5Y P5Y P10Y P12Y4M24D P3Y7M6D P1Y3M18D P3Y7M6D P6Y6M 11590000 31924000 8045000 24364000 Accrued Liabilities <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consist of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of lease liability</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,436 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,392 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,467 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll and related taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,183 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,616 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,660 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued operating expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,538 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,313 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consist of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of lease liability</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,436 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,392 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,467 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payroll and related taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,183 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,616 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,660 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,160 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued operating expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,538 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,313 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 14436000 13081000 13392000 12467000 15183000 6616000 6660000 5160000 8004000 4540000 6863000 2449000 64538000 44313000 Notes Payable<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">and Other Obligations</span><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notes payable and other obligations consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior credit facility</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uncollateralized promissory notes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,347 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,814 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt issuance costs, net of amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,100)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,672)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total notes payable and other obligations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,849 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of notes payable and other obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,989 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,176 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notes payable and other obligations, less current portion</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215,642 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,673 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023 and December 31, 2022, the carrying amount of debt obligations approximates their fair values based on Level 2 inputs as the terms are comparable to terms currently offered by local lending institutions for arrangements with similar terms to industry peers with comparable credit characteristics.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Senior</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Credit Facility</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 13, 2021 (the "Closing Date"), the Company amended and restated its Credit Agreement (the "Second A&amp;R Credit Agreement" or "Senior Credit Facility"), originally dated December 7, 2016 and as amended to the Closing Date, with Bank of America, N.A. ("Bank of America"), as administrative agent, swingline lender and letter of credit issuer, the other lenders party thereto, and certain of the Company's subsidiaries as guarantors. Pursuant to the Second A&amp;R Credit Agreement, the previously drawn term commitments of $150,000 and revolving commitments totaling $215,000 in the aggregate were converted into revolving commitments totaling $400,000 in the aggregate. These revolving commitments are available through August 13, 2026 (the "Maturity Date") and an aggregate amount of approximately $138,750 was drawn under the Second A&amp;R Credit Amendment on the Closing Date to repay previously existing borrowings under the term and revolving facilities prior to such amendment and restatement. Borrowings under the Second A&amp;R Credit Agreement are secured by a first priority lien on substantially all of the assets of the Company. The Second A&amp;R Credit Agreement also includes an accordion feature permitting the Company to request an increase in the revolving facility under the Second A&amp;R Credit Agreement by an additional amount of up to $200,000 in the aggregate. As of September 30, 2023 and December 31, 2022, the outstanding balance on the Second A&amp;R Credit Agreement was $206,750 and $33,750, respectively. </span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's Second A&amp;R Credit Agreement provides for the replacement of LIBOR (London Interbank Offered Rate), which prior to April 1, 2023, was transitioned to SOFR (Secured Overnight Funding Rate), subject to the completion of the relevant existing interest period ("LIBOR Transition"). Borrowings under the Second A&amp;R Credit Agreement bear interest at variable rates which are, at the Company's option, tied to a Eurocurrency rate equal to LIBOR or, from and after the LIBOR Transition, either Term SOFR or Daily Simple SOFR, plus in each case an applicable margin or a base rate denominated in U.S. dollars. Interest rates remain subject to change based on the Company's consolidated leverage ratio. As of September 30, 2023, the Company's interest rate was 6.7%.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Second A&amp;R Credit Agreement contains financial covenants that require NV5 Global to maintain a consolidated net leverage ratio (the ratio of the Company's pro forma consolidated net funded indebtedness to the Company's pro forma consolidated EBITDA for the most recently completed measurement period) of no greater than 4.00 to 1.00. </span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These financial covenants also require the Company to maintain a consolidated fixed charge coverage ratio of no less than 1.10 to 1.00 as of the end of any measurement period. As of September 30, 2023, the Company was in compliance with the financial covenants.</span></div><div><span><br/></span></div><div style="margin-bottom:8pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Second A&amp;R Credit Agreement contains covenants that may have the effect of limiting the Company's ability to, among other things, merge with or acquire other entities, enter into a transaction resulting in a Change in Control, create certain new liens, incur certain additional indebtedness, engage in certain transactions with affiliates, or engage in new lines of business </span></div><div style="margin-bottom:8pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">or sell a substantial part of their assets. The Second A&amp;R Credit Agreement also contains customary events of default, including (but not limited to) a default in the payment of principal or, following an applicable grace period, interest, breaches of the Company's covenants or warranties under the Second A&amp;R Credit Agreement, payment default or acceleration of certain indebtedness, certain events of bankruptcy, insolvency or liquidation, certain judgments or uninsured losses, changes in control and certain liabilities related to ERISA based plans.</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Second A&amp;R Credit Agreement limits the payment of cash dividends (together with certain other payments that would constitute a "Restricted Payment" within the meaning of the Second A&amp;R Credit Agreement and generally including dividends, stock repurchases and certain other payments in respect to warrants, options, and other rights to acquire equity securities), unless the Consolidated Leverage Ratio would be less than 3.25 to 1.00 and available liquidity (defined as unrestricted, domestically held cash plus revolver availability) would be at least $30,000, in each case after giving effect to such payment. </span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt issuance costs incurred and capitalized in connection with the issuance of the Second A&amp;R Credit Agreement were $3,702. Total amortization of debt issuance costs was $208 and $573 during the three and nine months ended September 30, 2023, respectively, and $185 and $556 during the three and nine months ended October 1, 2022, respectively.</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other Obligations</span></div>The Company has aggregate obligations related to acquisitions of $20,634 and $20,306 as of September 30, 2023 and December 31, 2022, respectively. As of September 30, 2023, the Company's weighted average interest rate on other outstanding obligations was 3.0% <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notes payable and other obligations consists of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior credit facility</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uncollateralized promissory notes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,629 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,492 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,347 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,465 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,814 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt issuance costs, net of amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,100)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,672)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total notes payable and other obligations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,631 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,849 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of notes payable and other obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,989 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,176 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notes payable and other obligations, less current portion</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215,642 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,673 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 206750000 33750000 19629000 18492000 3347000 3465000 1005000 1814000 2100000 2672000 228631000 54849000 12989000 15176000 215642000 39673000 150000000 215000000 400000000 138750000 200000000 206750000 33750000 0.067 4.00 1.10 3.25 30000000 3702000 208000 573000 185000 556000 20634000 20306000 0.030 Contingent Consideration<div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the carrying value of estimated contingent consideration:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration, beginning of the year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions for acquisitions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction of liability for payments made</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,400)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,264)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Decrease) increase of liability related to re-measurement of fair value</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,518)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total contingent consideration, end of the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,854 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration, less current portion</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,481 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>During the nine months ended September 30, 2023, the Company recorded earn-out fair value adjustments of $7,518 that decreased the contingent consideration liability related to acquisitions. <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the changes in the carrying value of estimated contingent consideration:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration, beginning of the year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additions for acquisitions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction of liability for payments made</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,400)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,264)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Decrease) increase of liability related to re-measurement of fair value</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,518)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total contingent consideration, end of the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,854 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration, less current portion</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,897 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,481 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 15335000 8328000 325000 6299000 2400000 2264000 -7518000 2972000 5742000 15335000 3845000 10854000 1897000 4481000 -7518000 Commitments and Contingencies<div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation, Claims and Assessments</span></div><div style="margin-top:12pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to certain claims and lawsuits typically filed against the engineering, consulting and construction profession, alleging primarily professional errors or omissions. The Company carries professional liability insurance, subject to certain deductibles and policy limits, against such claims. However, in some actions, parties are seeking damages that exceed our insurance coverage or for which we are not insured. While management does not believe that the resolution of these claims will have a material adverse effect, individually or in aggregate, on its financial position, results of operations or cash flows, management acknowledges the uncertainty surrounding the ultimate resolution of these matters.</span></div> Stock-Based CompensationIn October 2011, the Company's stockholders approved the NV5 Global, Inc. 2011 Equity Incentive Plan, which was subsequently amended and restated in March 2013 (as amended, the “2011 Equity Plan”). The 2011 Equity Incentive Plan expired pursuant to its terms in March 2023, accordingly no further grants were made following the date of such expiration. Prior to such <div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">expiration, the Company's Board adopted the NV5 Global, Inc. 2023 Equity Incentive Plan (the "2023 Equity Plan") to replace the 2011 Equity Plan, subject to stockholder approval. On June 13, 2023, the Company's stockholders approved the 2023 Equity Plan. The 2023 Equity Plan provides directors, executive officers, and other employees of the Company with additional incentives by allowing them to acquire ownership interest in the business and, as a result, encouraging them to contribute to the Company’s success. The Company may provide these incentives through the grant of stock options, stock appreciation rights, restricted stock, restricted stock units, performance shares and units, and other cash-based or stock-based awards. As of September 30, 2023, 2,148,768 shares of common stock are authorized, reserved, and registered for issuance under the 2023 Equity Plan. The restricted shares of common stock granted generally provide for service-based cliff vesting after <span style="-sec-ix-hidden:f-756">two</span> to four years following the grant date.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the activity of restricted stock awards during the nine months ended September 30, 2023:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Unvested Restricted Shares of Common Stock and Restricted Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average<br/>Grant Date Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713,793</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81.25 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">278,825</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106.70 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(279,891)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48.41 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,275)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92.34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">685,452</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense relating to restricted stock awards during the three and nine months ended September 30, 2023 was $5,777 and $16,504, respectively, and $5,634 and $15,249 during the three and nine months ended October 1, 2022, respectively. In connection with the Company's 401(k) Profit Sharing match, stock-based compensation expense during the three and nine months ended September 30, 2023 includes $318 and $1,473, respectively, of expense related to the Company's liability-classified awards. Stock-based compensation expense during the three and nine months ended October 1, 2022 includes $283 and $937, respectively, of expense related to the Company's liability-classified awards. The total estimated amount of the liability-classified awards for fiscal 2023 is approximately $5,314. The 401(k) Profit Sharing restricted stock awards are issued under the rules of the NV5 Global, Inc. 2023 Equity Incentive Plan and are not issued into the NV5 401(k) Profit Sharing plan. Approximately $41,103 of deferred compensation, which is expected to be recognized over the remaining weighted average vesting period of 1.67 years, is unrecognized at September 30, 2023. The total fair value of restricted shares vested during the nine months ended September 30, 2023 and October 1, 2022 was $29,235 and $14,624, respectively.</span></div> 2148768 P4Y <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the activity of restricted stock awards during the nine months ended September 30, 2023:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:56.514%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.735%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Unvested Restricted Shares of Common Stock and Restricted Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average<br/>Grant Date Fair<br/>Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713,793</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81.25 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">278,825</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">106.70 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(279,891)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48.41 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,275)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92.34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">685,452</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 713793 81.25 278825 106.70 279891 48.41 27275 92.34 685452 104.54 5777000 16504000 5634000 15249000 318000 1473000 283000 937000 5314000 41103000 P1Y8M1D 29235000 14624000 Income Taxes <div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023 and December 31, 2022, the Company had net deferred income tax liabilities of $5,797 and $6,893, respectively. Deferred income tax liabilities primarily relate to intangible assets and accounting basis adjustments where we have a future obligation for tax purposes.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's effective income tax rate was (19.0)% and 2.0% during the three and nine months ended September 30, 2023, respectively, and 7.3% and 17.2% during the three and nine months ended October 1, 2022, respectively. The difference between the effective income tax rate and the combined statutory federal and state income tax rate was primarily due to an increase in federal credits recorded in the third quarter of 2023 and 2022, including additional prior year credits, and the recognition of excess tax benefits from stock-based payments in the second and third quarter of 2023 and 2022.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates tax positions for recognition using a more-likely-than-not recognition threshold, and those tax positions eligible for recognition are measured as the largest amount of tax benefit that is greater than 50% likely of being realized upon the effective settlement with a taxing authority that has full knowledge of all relevant information. Fiscal years 2019 through 2022 are considered open tax years in the U.S. federal jurisdiction, state and foreign jurisdictions. Fiscal years 2012 - 2014 are considered open in the State of California. It is not expected that there will be a significant change in the unrecognized tax benefits within the next 12 months.</span></div> 5797000 6893000 0.190 0.020 0.073 0.172 Reportable Segments<div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company reports segment information in accordance with ASC Topic No. 280 “</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting”</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (“Topic No. 280”). The Company's Chief Executive Officer, who is the chief operating decision maker ("CODM"), organized the Company into three operating and reportable segments: Infrastructure ("INF"), which includes the Company's engineering, civil program management, utility services, and construction quality assurance practices; Building, Technology &amp; Sciences ("BTS"), which includes the Company's environmental health sciences, clean energy consulting, buildings and program management, and MEP &amp; technology design practices; and Geospatial Solutions ("GEO"), which includes the Company's geospatial solution practices.</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates the performance of these reportable segments based on their respective operating income before the effect of amortization expense related to acquisitions and other unallocated corporate expenses. The following tables set forth summarized financial information concerning our reportable segments:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.001%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Gross revenues</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Segment income before taxes</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,902 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,692 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,171 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,757 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,963 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,588 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,798 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,727 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Segment income before taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,091 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,451 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,183 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30,899)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,131)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(78,797)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66,810)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income before taxes</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,192 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,320 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,386 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,672 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Includes amortization of intangibles of $11,590 and $31,924 for the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.</span></div><div style="margin-top:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company disaggregates its gross revenues from contracts with customers by geographic location, customer-type and contract-type for each of our reportable segments. Disaggregated revenues include the elimination of inter-segment revenues which has been allocated to each segment. The Company believes this best depicts how the nature, amount, timing and uncertainty of its revenues and cash flows are affected by economic factors. Gross revenue, classified by the major geographic areas in which the Company's customers were located, were as follows: </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,986 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186,178 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">611,184 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,180 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,429 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,181 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,877 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,058 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,039 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,205 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,998 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,560 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,667 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">571,581 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,540 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,077 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,575 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,379 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenue by customer were as follows: </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Public and quasi-public sector</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,236 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,082 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,152 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,779 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">442,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Private sector</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,900 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,834 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,135 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,776 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,334 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,564 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Public and quasi-public sector</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,643 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,812 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,942 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,397 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,185 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Private sector</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,800 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,678 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">133,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">219,775 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt"><span><br/></span></div><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenues by contract type were as follows: </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost-reimbursable contracts</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,666 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,251 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">275,693 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,752 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">586,405 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-unit price contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,569 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,665 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,153 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,837 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost-reimbursable contracts</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,702 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,671 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">189,572 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">288,525 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,194 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,954 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">530,673 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-unit price contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,877 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,503 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,829 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3 3 The following tables set forth summarized financial information concerning our reportable segments:<div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.997%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.001%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Gross revenues</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Segment income before taxes</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INF</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,902 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,692 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,628 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,149 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">BTS</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,226 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,171 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,757 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,606 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GEO</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,963 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,588 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,798 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,727 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Segment income before taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,091 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,451 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,183 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30,899)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,131)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(78,797)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66,810)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income before taxes</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,192 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,320 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,386 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,672 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Includes amortization of intangibles of $11,590 and $31,924 for the three and nine months ended September 30, 2023, respectively, and $8,045 and $24,364 during the three and nine months ended October 1, 2022, respectively.</span></div> 102136000 98754000 287074000 301354000 57235000 58579000 164113000 180364000 79916000 46742000 195055000 115242000 239287000 204075000 646242000 596960000 15902000 17692000 49628000 53149000 10226000 10171000 26757000 35606000 15963000 12588000 37798000 28727000 42091000 40451000 114183000 117482000 -30899000 -23131000 -78797000 -66810000 11192000 17320000 35386000 50672000 11590000 31924000 8045000 24364000 Gross revenue, classified by the major geographic areas in which the Company's customers were located, were as follows: <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,986 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,932 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">186,178 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">611,184 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,249 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,180 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,429 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,181 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,877 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,058 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,039 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,205 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,998 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,560 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,667 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">571,581 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,540 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,537 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,077 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,575 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,379 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 102136000 46986000 75736000 224858000 287074000 137932000 186178000 611184000 0 10249000 4180000 14429000 0 26181000 8877000 35058000 102136000 57235000 79916000 239287000 287074000 164113000 195055000 646242000 98754000 50039000 45205000 193998000 301354000 157560000 112667000 571581000 0 8540000 1537000 10077000 0 22804000 2575000 25379000 98754000 58579000 46742000 204075000 301354000 180364000 115242000 596960000 <div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenue by customer were as follows: </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Public and quasi-public sector</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,236 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,834 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,082 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,152 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,779 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">166,491 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">442,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Private sector</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,900 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,834 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,135 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,776 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,334 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,564 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Public and quasi-public sector</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,643 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,812 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,942 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,397 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,185 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Private sector</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,800 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,678 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">133,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">219,775 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 81236000 13834000 69082000 164152000 228298000 47779000 166491000 442568000 20900000 43401000 10834000 75135000 58776000 116334000 28564000 203674000 102136000 57235000 79916000 239287000 287074000 164113000 195055000 646242000 78643000 15812000 37942000 132397000 237901000 46708000 92576000 377185000 20111000 42767000 8800000 71678000 63453000 133656000 22666000 219775000 98754000 58579000 46742000 204075000 301354000 180364000 115242000 596960000 <div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross revenues by contract type were as follows: </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.712%"><tr><td style="width:1.0%"></td><td style="width:20.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.121%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.132%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost-reimbursable contracts</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,651 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,666 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,251 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">216,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">275,693 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,752 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">586,405 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-unit price contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,569 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,665 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,153 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,837 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,235 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,916 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">239,287 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">164,113 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">646,242 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended October 1, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended October 1, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">INF</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BTS</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">GEO</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost-reimbursable contracts</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,702 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,671 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">189,572 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">288,525 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,194 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114,954 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">530,673 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-unit price contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,555 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,877 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,503 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,829 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,754 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,579 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,742 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,075 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">301,354 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180,364 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,242 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">596,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 98651000 40666000 77251000 216568000 275693000 119960000 190752000 586405000 3485000 16569000 2665000 22719000 11381000 44153000 4303000 59837000 102136000 57235000 79916000 239287000 287074000 164113000 195055000 646242000 94199000 48702000 46671000 189572000 288525000 127194000 114954000 530673000 4555000 9877000 71000 14503000 12829000 53170000 288000 66287000 98754000 58579000 46742000 204075000 301354000 180364000 115242000 596960000 Stockholders' Equity<div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accumulated Other Comprehensive Income (Loss)</span></div><div style="margin-top:10pt;text-indent:33.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's accumulated other comprehensive income (loss) consists of foreign currency translation adjustments related to the Company's foreign operations with functional currency other than the U.S. dollar. The after-tax changes in accumulated other comprehensive income (loss) by component were as follows: </span></div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.066%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.734%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Income (Loss)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign currency translation adjustments balance, December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(612)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign currency translation adjustments balance, September 30, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(612)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> The after-tax changes in accumulated other comprehensive income (loss) by component were as follows: <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.066%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.734%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated Other Comprehensive Income (Loss)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign currency translation adjustments balance, December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(612)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign currency translation adjustments balance, September 30, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(612)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 0 -612000 -612000 EXCEL 72 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +)>8U<'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " "R7F-7@O*"-NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*([I8";UI:.G#@8K;.QF;+4UBQ-C:R1]^SE9FS*V!]C1TN]/ MGT"-"=+T$9]C'S"2PW0W^K9+TH0U.Q$%"9#,";U.94YTN7GHH]>4G_$(09L/ M?42HJ^H>/)*VFC1,P"(L1*8::Z2)J*F/%[PU"SY\QG:&60/8HL>.$O"2 U/3 MQ' >VP9N@ E&&'WZ+J!=B'/U3^S< 79)CLDMJ6$8RD',N;P#A[>GW)]621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M +)>8U?\JN$)X 4 *L? 8 >&PO=V]R:W-H965T&UL MM9G_;^(V&,;_%8M-TR:5$CO0EEN+1&E[5ZW7XTIWTS;M!Y,8B)K$S'&@_/=[ MG4!"*^3> L1\>14 M+D4,=V9215S#J9IWDJ42W,]$4=AACG/6B7@0MP:7V;6Q&ES*5(=!+,:*)&D4 M<;6Y%J%<7[5H:W?A*9@OM+G0&5PN^5Q,A/Y].59PUBE<_" 2<1+(F"@QNVH- MZ8>1ZQI!]L2W0*R3O6-B4*92OIB3>_^JY9@2B5!XVEAP^+<2(Q&&Q@G*\>_6 MM%7\IA'N'^_<[S)X@)GR1(QD^$?@Z\55ZZ)%?#'C::B?Y/J3V +UC)\GPR3[ M2];YL]UNBWAIHF6T%4,)HB#.__/7[8O8$[A.A8!M!>R=@%;]@KL59&^NDY MYD['V^JO4IDA?4ZZT4.&&/(FE5-J&AUMIE=I>R@A5-<0[*_#.ZN&-A0JD M;WHA@>^ M?)PIZ+?578\5-^0\[S@/*_9,A6'(20; :KK$?>:\3"Q5B0J:PAX M40!>H(6ZC76@-^0N" 5Y3*.I4#8PW,-Q:-OM773[-CA4VA"N7\#UZ\ ]B7E@ M/J-0C8\\LK91W.?Q6X]\#.64AR?D/O9.;9RH0T-.ZI2CJ5.'% HG%;1.;AKJ M"9EHZ))$*C*2::S5!O[[5OP#[C>W-F)VUW6[OPJ'G5EY4W)27E;RL#N_0]\$].=D=D =XCGR)[?6*6T+F)A/( MV LRYNJ%/$GNGUC)49NFY&44HFCXP,F?U])*CEM.T@!ZAMMSK+C'R$*T#$,4 MCS/O<4?F##KQLUS'5E3<[I,,P\U:RHJJ/49(HF5*HGBV><]:?+'&2JZ"V+.W M:MSS[L$*>HRX1,N\1/&8\QYT+!/-0_)7L*S^*...KNLP:B4]1F"B96*B>,S) MFNL0IO;58+A!O]>U8ATC)M$R)U$\Y#Q(#^IKO) Q%I0.F'3[O3:CE%GYCI&4 M:!F5*)YQG@,-$5#."&4_3W\A$^&E"FK2"HD[C604P2@\T=)[.2$_.J<.)4NN MR(J']HD,[M>0G)79B>'I!J*]'\1S,ME$4QG:@ \8/'Z[M08D7-:4JPQ(#$\S MNRHDMZ_>@L=S49E^#Q@]#BAY HS QL\MK<3'R#^LS#^L5OZ91#P,R76: MP.W$WFYQG\JU!5S7E*^,/:Q6[+F-A)J;COD1'&"Z 4/$DL?VJL4-JT&/D7I8 MF7H8'EIV%;D04)$87L,U(ES7%*],/ZS6,M';H7V2K=V3+ZF&+!N;,=1*_)UR MS?8]Y&Z]S,WL%:T&M'?1[_5=F+.O;(QE F*U5HM&\$55$/7N8U^\DM^$O1IQ M*\=Q:,]E_3-K0,?%#>O2+?..>V U9[>F>1VV^?V ;# ;MVF[*V:UWIP97_%[2SMQUJ!KQLES@AGEE\S7=& MBZO%3O0PVW_ME(_GV]B?N1DO$Q**&4B=TW/XX*E\9S@_T7*9;:Y.I=8RR@X7 M@OM"F0?@_DQ*O3LQ/U#LSP_^ U!+ P04 " "R7F-7.YRTXND& "V' M& 'AL+W=OR8MGB)0FV#VTD>69TAIU[_%&O&)'HHBTJLH;6>05NZZ1:,HRK1\O6,'OST9X]/3@>[Y:2_5@ M,CW=I"LV9_+'YKJ&N\DNRB(O625R7J&:+<]&Y_AD1@/ET%K\G;-[L7>-5"JW MG/]4-U\69R-/(6(%RZ0*D<*?.S9C1:$B 8Y?7=#1[IW*1W?O^9=0FU #->B/9_=-_9>B.4-4+RLG,&!&5> M;?^F#]U [#E@W^) .@?R4@?:.= VT2VR-JW+5*;3TYK?HUI90S1UT8Y-ZPW9 MY)6:QKFLX=<<_.1T=O5M?O7UR^7YS:=+=''^]?S;[!.:?_[TZ6:.CM"/^25Z M__8#>HOR"MVL>2/2:B%.)Q+>K/PG6?>6B^U;B.4M<[8Y1M0;(^(1:G"?N=TO M60;NN'4GA^X3R'>7--DE3=IXU)9T4]>LDB@5@DEQ8LIG&\ W!U![ZT1LTHR= MC6#S"%;?L='TW1L<>A]-V?VF8 >YTEVNU!5].DO%&L&LH4Q=L%]-?I<6D+QQ M%K>APC:4*@!W4S_T:7(ZN=M/1[>B<>#CG=4!3G^'TW?BO,B+@BV@,F0,$-X6 M3(Q1Q:0)Y390L/=^'(9Q,(1I,/.#D$9FG,$.9^#$^:.Z?3G20(= B.IF M"8E#8@8:[H"&3J#7-=ND^0*Q!RCY@HEV$7"Y9C74E?WU;P(>&L:.: O!8$5# M&IIQ1SO@8R?&5P@TEH^MH.J M-M4&J$U:UT&L@?"3A'H#J 8K'/J>&6FR0YHXD;;$?,271XU@J&# >-V86L$F M^L FV L&8$U6%/MFL-CKZ=J4&^Q\STL"2Y'"/<-A)ZE,K]J-;M\] MG?O!_,4Q'L+3K2"+P *NIR3LYJ3M%G> HX:ZZ05).%R$!L.$!A&A%H0]&6'_ M10JAR%,H][G,F5DF8">IO58G_*YHATGWS(;=U':>9;P!98 VZ:/B-6/".E>% M$?;]X<3H9D$41;8]UW,:=I,:0*P;(-^]>3&BU)DI] ,:#U'J9CX4!MOJZ1D, MNRE,:9F\6@FEFME#QH1 ?(DR+N26A9F0.9Q ( ^6UE5K"2>:ILIXN2F8>I[Q M2M9PQ#%GIW.:3V)/R\[ D!C'MNQZZL-N[KLZT!#/S81.:H1H)&VPPD%B*X(] M]6$W]SWMX@VOVS-C.PF5A %73^%2Y M6I^HW(W8#Q\6^5H-T*^R!'C:#)ST3 M$C<3&L!77++=[MS3<_RVR%=M&L8Y( 8&)$D\5',FLP#;E!+I>9*X>?)0T#VS M7HA.B#BA(1X2I\DN].+$-NQ[1T,W<_5SS @J0>/4D[5=WK'Y3M,/<>^(F;N*^KI_VDE"C,$9OO6,/0Z&HT5U:-.PC M"L:>YZE_2*S36G4W&KGF=?XO6\!&XT]/5#>1N2]-WYHF#<9R0<8))FR'/!K;AB;EH'4-34:6HR3MQ05UBXOS MQ2)7A !%3'6[CD!Q9^DFAZ)F!&HXEGLD\32LAF-YA&%@+7![=4'=Z@+.+TW9 M%*WV[WIQH/EKME8?1N[8$W6\+[@0'XP9Z++A*,1#BC-8V:#O]9'=RN([DRD\ MZL\L1G@&H1!$?CAL+)CL"(EBVWKH%05U*XHMGPEK[32"U@5!%"0)'E*PP2Y, M?&+KT-%>.5"W8U=]?&DX_P( % * 8 >&PO=V]R:W-H965T&ULK99K;]HP%(;_BI5-4RMUY$:X=!") E4K=2TJW?9AV@>3'(C5),YL M ]U^_6PGS4@;;MWX +Z<]_AYG6/BWIJR1QX!"/24Q"GO&Y$0V;EI\B""!/,& MS2"5,W/*$BQDERU,GC' H18EL>E85LM,,$D-OZ?')LSOT:6(20H3AO@R23#[ M=0$Q7?<-VW@>N">+2*@!T^]E> %3$%^R"9,]L\P2D@123FB*&,S[QL ^']J6 M$NB(KP36?*.-E)49I8^JQN*?K*R@,>2I?0&.NO]$ZC_5D<+#D M@B:%6!(D),U_\5.Q$1L"N[E%X!0"YU"!6PA<;30GT[9&6&"_Q^@:,14MLZF& MWANMEFY(JA[C5# Y2Z1.^,.[V^G=S?5H\# >H8O!S>!V.$;3J_'X88I.)IA! M*B(0), Q/T4?T7MD(A[)8=XSA5Q>)3JF+?"EGRU)3R!K(MJ(8RS- *QTM )R1%(8UCS#C*@.4/_K1N-_(EVGH)]<>Q M\JV&9??,U:;+/4$5^F9)WSR./B].A)4^)Z@"GJG1.\<@7YT?7=>;66SOL /"*SP=TO^ M[O'\AY5W]Q62[76Z3M=V7K#7!7J.ZVYCMZV_KT?K>/HC:KU(?X"'VLA:$^;& MZU[=M3YCMB I1S',I=1JM&4.EE]?\HZ@F;X!S*B0]PG=C.25#Y@*D/-S2L5S M1UTJRDND_P=02P,$% @ LEYC5]S[8J">!P )B4 !@ !X;"]W;W)K MRKIZ%?+/:L.Y M0E^V15E=3S9*[2ZGTVJYX=NLNA [7NIOUD)N,Z4/Y?.TVDF>K9I!VV)*,0ZF MVRPO)[.KYMPG.;L2>U7D)?\D4;7?;C/Y]987XO5Z0B:'$Y_SYXVJ3TQG5[OL MF2^X^G7W2>JCZ9%EE6]Y6>6B1)*OKRIZ@NL[X@5?JIHBT_]>^)P71/V9=X+\FF\IBJKYBUX[+)Z@Y;Y28ML-UG>PSP>\&--*GK?9FXI),9;,K M*5Z1K-&:K?[0S'XS6L]77M:)LE!2?YOK<6HV?[A?//QRE]P\I@E:/.I_']/[ MQP5Z^(#NTT=T=S]_^)BBF_L$Z0^?/J<_I_>+N]_2PQ?OT:^+!+W[_@?T/"!VX$88^BE)M*I26*[X"QB?N\;%C_%1/ MRG%FZ&%F;JF3<,%W%XCA'Q'%E 'W,WJ(7 MMXK+%SZ9_>L[$N!_0_,\)EDR)EDZ$ME91+QC1#P7^^PG*:I*+]4OO-QSL-[: M\4$SONX7+S/*8AJ%5].7T^D%8-C#H7\.2VQ8X 74H^>PU(;Y<1 '^ @[$^L? MQ?K.]$MRJ1L+6HI*59>05G_,A!N3+!F3+!V)["P&P3$&@3/A%EF1R9Q72*_O MZ%6;"##I6@[_-/Y!Y#,CYVR4%]'83#D;10+*2&"D' #S2!P&<,J%1[FA6^[^ MZ?U2E)4V')E>[^K9S)>PYM!6X_O4J(PY@"+4G)G$1A%"(VH4;0K! M\/8$%DR+51Q/-C8U(2&^7%S#?5 BC?HP,!CH]B M8Z?81Z&RXA_%QK8,RB+/3&@ ACWB84.N#6/4\[$!2P$89K$?PX()[KT>_H:> ML9-BG2O0H6$@K7S/\PRU "Z.==P,M0",41):/0/ T9AA3 ;TGGA;XFP;#SLN M,Y67SXA_T3NKBL/-HV,9J7N,RI:,RI:.Q78>#]K'@[ZQA?R(=ME7*8H"J>Q+ M?5A_\\1+KC,4WD10*U<"3 -SL05@7AR$9CT",!*2*&)FA@(X+PC)4$7VMIHX M/>+L)RU5ZF6HEIVM]/XNKUUUO7<&Q3.[4# UE\LY "-!R"SQ-LR+0QJ9V@%8 M&)"AXNS]*W$;V _9,B]R=4B'=7\H>:&W&= >\+;C/ __R;UT$V"C]"I&3/TV MBH046_H!F!^=M/=S_;VE)4ZW-DNXKK%EGK7/2^KX;X54^=_-"5"[;]^(;D78 M%&_#XC"TQ-LHS45-;P7 ]-(T]\:2N)UEMY=>2[$]S(#VF:!RP.;Y.+3:,0"+ MM)0#3K3TVS18 \YDW9*=)[RV)VUS>E8KKIJ(.L08%VT[O/8LB:W4'8'5* MF((!6$S,U2*%8#3"WH#@WE\2M\'LXOS$UT)RE+='NLT=^AMZU\W$#^!4 ):2 M$-- SR%8R*BUU@.6TF>15>XVS,=!.+#6T=YX4K?QO'NC> HX0D+-O =0[XG5 M#A,(%A+3JK9/5==[$&AQ'I>0IBUQ9U#L '9L(#,*9M MBAEE %9OF <6==K;.TJ==CO-9*D7<[W#T+O(:I-)#MIMZC2);[7;H[(EH[*E M8[&=QZ,WE]1M+F^S*E^B=WF)5MIA9_(D,'#5M73A25[@B\CT%4/3"7+Q2$!4. M2>]=)74_*?V]^65,:\]>M+-XYDBO/%MM,!OI%1)[52EM-G69PK4YZH/44=F2 M4=G2L=C.X]0;8.HVP'UMMI&!LQ)POCXEF)A/C.804GNV*(BLPH0X,?.CV-SX MP)R,AD-/WFAO@:G; I\6J$L_Y'^U8XV859D0DF&-MJH3Y/1TJSGJG M,-0I>R],(V>5SL569]6F_KW]Y6 -X7IT>NHWU^.8;,FH;.E8;.<1Z+K\B);.R*MH' M$86HJOHY7*GG0ZQKQP[^O@N898^:CV$ E+DO@8BL+7OJ)#J?A=Z7,[@#&/!R8Y@" 0:&?GKSWL>7RN7GAIM(M?U^J]K?]X]GC M2STWS:LLQOE;YV+6==CJ=?F DV.*$(GTD%2^]+(EF+9\%]\,)]%N3I8U%^JI9"U.C+*LNKL]&RKA]>C!"Y_.6N*%=)+;^6]^/JH13)HFVTRL;8\\+Q*DGST?EI^[>K\ORT6-=9 MFHNK$E7KU2HIG]Z(K'@\&_FCKW^X3N^7=?.'\?GI0W(O;D3]X>&JE-_&.Y1% MNA)YE18Y*L7=V>BU_XH'M&G06OPS%8_5WF?47,K'HOC4?+E8G(V\IDK;6/9@U6:;_Y/OFP#L=? M)P<:X&T#W+OG^YO+=Q>SU+9NA MFUOYWV_L_>T-NN1H^O;U^[^R&W3Q7OYP.?W[V\MW,W9]\],/$^Q'OR+VCP\7 MM_]&)^C#S0S]_.,+]"-*K7.DEHLT&6]%"62?9/S?=E,Q,\"7>3S8B70S^^*JGIA@>=N^&M1RY5"8K.D MS-/\7@OQ6#*_HQ_OZ,"'WJ\VIC=@00O6K(F? MS_V ^M3S@M/QYWU2(;TR2# .!*:P279LDH%L]F%P@QGN!3W$-,*>&O*I:2:Y MT6@Q;6C@1[H9,\TT9]SB+,(3'^_,E/C077QHVXX0@GXG-IQ?- MFM4N'D7/S7%C<*.?(AP6:08 P2C .! M*>P'._8#Y^QH:3YI;D,62"[$\MZL2IJEW\9M8"Y$E.P-OPUI3G]#2>OEDD&Z MY$!@"AOACHW0R<:UJ.HRG3=[9=40@]*J6C=KUB\HES?4>]N0C1\G]M"Y%YJ1 M)X3$D;:X0?IDD& <"$SA,=KQ&#V#1QMWD1%N?:N)C-5?FP8S$^-$GRG.;@^- M,!"8$N')+L*3X^O6+JQ(9I,R'Y.;5-7>N%;'IHH3?.A4F9A3!0=^K+$#Z9)! M@G$@,(7'>,=C_!P>;=S%EI4IT'ANU ?CPS2(P<"4RCQO2[]]8XL7_,L MJ:KT+IVW-P.HN$-9FGQ,,WD3>/+U-[FX)D<7.W<' MA_('BL9 T3@4FDKUGM+A.ZE^+V\KTC8%MS+E&TQ1/XZ(SI;3QV"V(-$8*!H_ M&A"5ADYQ\-V2 \L7#KWA_R_3]\#O* M;CYH[@^*-@-%8Z!H' I-'02=3."[=8(AZIMOIO/AFH3PZ% MIE+2Z0J^6UAXG@3G!A\\#TUE >-HHFMPH$X9*!J'0E/9[-0%WRTO#!?B?#/9 M-Y+3V-R#=$I,E!-CVH J!E!H:L6TDPRP6S)PYY'8S/BEYU#?W-T^ABY>H&@, M%(T?#8A*0Y?.8W8O]$A%7R,P45PY5 M3(BG+_Z]+6?N3@\>U)!H' I-):Q+_/'0Q+\72=0T9-$M\?!W/5RRD"=.2@;KD4&@JZYV" M0=P*QC,/=KG1A\YA8E$P,*%$3Y)!O3)0- Z%IO+9Z1?$K5]\PP$O8CE_0$.] M>CK/UY;77AQKCR\F&X?7LP./+SXAIC:R$EH/#+C]CR8&M#S%KVN@$/Y M5+GIY!CBEF/F8J0&1*6ADU&(6T9Q5Q]O MQ,-+1+Q6WR=6GBP/4@23&,?FA.EK.7/W># -H%H,%)K*5J?%$+<68U86CS-D MGGR(@CCVC=L_RPF)0'\@AI@"2>#AV(OU7<0BI%A6(-,*!Q$-??N@IIT,0=TR M1,]#JO[AJ+D=#'XHUG)T0(Y]+_8F6H!!_3)0- Z%II+:J0S4K3(X#JFZB#3E M@(CZ/M4"/]W:N8>_!8S&D4?TY-1B=^+'6J;++5:84I\>J$'2+G^G^#O6("GH M@PJ@:#-0- :*QJ'0U$'0:0K4K2D,J4%2,UD/J#[ZIVZ'@ZGKXY.!^N10:"HE M>V]M< L$SZM NL$'ST-3"3C!V->K7:!.&2@:AT)3V>RD 'I$"O@SU\7\D#MKC49%OKXNYT0?/8P26#03 MJC]U,G5['DP-Z!F07E? H7RJW'3:4. ^V^$NNP26\QF$Z ^.3-T^!K, *N* MHO' -3&T[!+8GFBQEEUZ6\[VYB;MW/_EI3WJ4Q;,G$G M&WHO(SFHRLT+KS=?ZN*A?4'SQZ*NBU7[<2D2N4$W!O+WNZ*HOWYIWOF\>^WX M^?\ 4$L#!!0 ( +)>8U<4F_P[N @ 4F 8 >&PO=V]R:W-H965T M&ULK5K=;N.V$GX5PBV*7:!>BS^2I30QD#B;MD W"=:[I]>R M3,<\*XNN*.?G//T94HHEBQ23%+E);'E(?3.YX ;^L9;E-*_A:WDW4KN3IRBS:YA,2!-%DFXIB-#LU MUV[+V:G<5[DH^&V)U'Z[35!FF2H^E_G?8E5MSD;Q M"*WX.MWGU5?Y\ =O% KU?IG,E?F+'AK98(2RO:KDMED,"+:BJ/^GCXTA.@M@ M'_<"TBP@_05L8 %M%E"C:(W,J'695NGLM)0/J-32L)O^8&QC5H,VHM#'N*A* M^%7 NFHVO[E>W/SUY^7YM\^7:/$-_GWY?/UM@6ZNT/Q\\0>Z^NOF[P4:H^^+ M2_3AYX_H9R0*]&TC]RHM5NIT4@$&O=,D:^YW4=^/#-PO05]D46T4^ERL^.IX M_02P'Q0@SPI<$.^&"[[[A&CP*R(!H0X\<__RFZSZA )LEA,/''JP)S7[T2%[ MIFJ#UA <"JU+N440;V5:B>*N=EA1":Y.7&:KMV7N;74PGZA=FO&S$42KXN4] M'\U^^0E'P6\NG=]ILR,+L(,%F&_WV37D'E%D]D;2E*@P2[3W9ZP#KUNYPLQN;(<@X9'?%'(#GE=+^I=7L< M@ /V0-I2"0L2-\;X@#'V8KS5WF3(#[@7K>1^6:WW.;A3)O?@D2ZPL0M&#ZHM M@TE(W%"3 ]3$"W51R>S'6)/C"D%4:&,.GGIBWS\* ]9#Z9 *P3G<,''0S7X'0HM!#ZQ$FHG59HK#1\2#Z2;ZLF$'?]G+W8Z:3G!8QM51&D? MNT,*!\$ =M)B)R]DB#4O2_"1Y]R9/G)W14#L^Y.0L6D?IT..D3@> -I2,O;R MW>R\D[FT?5=\"0E?J7U:9!P\1+G#K]FU"R><6K9U"(71 .*60C'S5Q'&L97V M[ [S*,6!NK13Y")=BMRPT*^&L$ KL04N,)_2#'Q&":VNFZ2PE\'?RE+OM=NQ MK5I6QUX:G%V(/ HG*H<8IB0>X"?,"C:I4_:KDZ$-DW2V*)]A]1XFM#I ,*63K&?3P%A MN>='4=NQ:RZ+NW'%RVWW=Z<2#A8ES$I(MM088FT@B9*6:XF?:W68018R.8D_ M9ERIFFE5DY*XJ@1TU: F3\O"2$*VW6MJV.6\,J5$4960HIS*$0>_$HS[VCG% MDF"@X"$M#Q,_#\_?4#$0%YW2H,]F#K$!RB4MY1(_Y=X8C\GV0+N ] 5_(3:= M1G'21^G@7-JIWXZ!MI1+_)1[_=HFR@G4^.FWDX&$<)SBP'-,A& 9D*(1:)B9^)H8^+.-\U9PME-RF8Q@F-V(S+4DL M5[2%X@':("T7DQ>X>%]F&]W/OJDE( Z:Q8R$5GIRRL73H=!O^9CX^?@0^GME M>@-G_#B1.^B7!)!8<1^Z0Q G<3!D\9:H2?*FR%^+ EJ$UT2^MP!X<^2_TV[' M \R6Z>D+3"]+6&,8W%AAP0L!*6 .K9ZHT%6::1VS6!G0.'W'(L2.Y8S5:>J?^^?1S M6FVLO]V"PR@]\4(5+\#Z=:W"H6J53YR;4;$>?ZGU$X+J"_@.LJ\6>A#59B/S ME4X/9O0!/^6F -8KWC!":_#V&J.^.6RA(4NT%$_]%.\LTCXT:?NC,_LY\3MZ MYBB3SZ@,:E'@A!#'&7-% 4.V*BIN=-\ MT$=X#\P_,'>ECN8:VV%F2PV=2$OY](5!=OTDHC1C;/%6V#:C3V-K .^0BO!0 MT4Q;UJ=^UI\/(46__!1#(_<;6O([4>C&T-0SO!1RY=3"U:J'S(H'6XQ-H088 MT*,M :B_5W]9#ZX[=Z\&=@?.(O#SO@:V&*@Y'3@)UM(W"[Q%S.%A2*?N LBO MKF68MSIX:RWS7KL=&Z.M"MB_Z^O1!SVE&,M]Y>Q2F$W\E/2+?H=0& \]U&!M M<<#\Q<%UMWCIS(GD,A=W:=V!Z>$UMSLSIRJ.*0 EU@-76XHD0^-$UI8,S%\R MF"=)[:C]57AMWLQL^_ M@>G3A[1) YPC7;T[E;!;'4=(G2H?40%YC+=5Y:^7EG MWC-2R R:ZU=3#EMI+6@(?*CB0-6P9?)J" M3V@!^'TM(5$T7_0-#F]^S?X/4$L#!!0 M ( +)>8U>JL)JL:P0 % * 8 >&PO=V]R:W-H965T&ULK5;;;MLX$/V5@0H$NX!A.7+NO@!QFF0+-&D0;[I8+/:!ED8R$8I42TZW\">+(QYYL6G;!(-F! J3#TC"/I;X14JQ4!$XUN+&>U,LF+W>XM^$WPG M7Q;"X951?\G,+R?16009YJ)6_M&L_\#6GV/&2XURX1?6C>S1:01I[;PI6V5B M4$K=_(OO;1PZ"F>#-Q225B$)O!M#@>5'X<5T;,T:+$L3&G\$5X,VD9.:DS+W MEDXEZ?GI%UL(+?\338AT!O?"UQ;!Y#"K'0D[!U\JM$' C6-/-EDS3EO\68.? MO(%_#G=&^Z6#:YUA]E(_)JX[PLF6\"QY%W".51^&@QXD@V3X#MYP%X!AP!N^ M@7>9IJ;67NH"'HR2J40'_UPNG+=4,/^^YG"#=_0Z'C?1A:M$BI.(NL2A76$T M/?AP>#(8O@RWRBR$ZL$GG?:#KO2.FGWA9":% MY;C^1M4:VG&%:M,#OT0X^'"6)(/1E2DKH3=A=3@"8[<'>^#V['>0#@14UJQD MAI:9>4R7VBA3$&9J-$\JZ3<@G"-J-$!\V';4IYQE9U0=V/<"26=ROQ;DHJ@J M2G_KF#=0U0M:!YG*RI7P"(ZX$[5420)U('5P0>K<"JJ7.N50]8#0%=OGW,L4 M76,]G!-VCT:94(#.$V(/4*^D-9I9$$P3+AZ*:J)GDF^]2?]^$&*7)L+I (.,JD9*\P*[2! M3!L=5GGI?;^3ZVT6."&!D16Z",6R][TQ3LQ[L*@]:.-!2 MC^#IAZ#M#NZN'^! E-6HDV8:NTX6>B?S^?[V9T6*1BD=7QX3:ZD>D_@NIM(6%*._;(E[D2.Y-I6AJBAI'F^T(I& MI:EM5_JS]+)H!I&KJ\K8?:P?S<)XMA BN>_HO:64ZT1R23M/U=>!O?V!_XNV M;_.U'0DWTC'$WRALM\':;B10'I(0'2?Q\1#6B,\1Y(W*AE50AZHRS9B8LZ>9 MV% 6# TFSS.&]TF,M0E_/UU5SXN]W=<^FR M>27LQ9NWUIVPU 8.%.:D.NB?'D=@F_=+L_"F"F\&BC.]0,(GE31-#1:@\]P8 MOUVP@=TC8U?GS;4ER P #HD 8 >&PO=V]R M:W-H965T&ULK5IK;QLW%OTKA!OT =R]'IKW4>_ M42J(^[8Q_LW1)H3NNY,37VU4*_W<=LK@FY5UK0SXZ-8GOG-*UKRI;4X6IZON[D M6MVJ\$MWX_#II$BI=:N,U]8(IU9OCJ[.OKN^H/6\X%]:;?WH;T&6+*W]2!]^ MJ-\4[R*MMX_J_8QK47YT>BZGVP;=H,#5IMXO_E M??+#:,/EZ2,;%FG#@O6.![&6W\L@W[YV=BL!&W6XL8VNM+*OSX).(]VG51)]G64O7A$ M]DOQHS5AX\5[4ZMZNO\$>A9E%UG9Z\63 F]5-Q?GIS.Q.%VOOE%VU%T?;B*>G_9ZC^+-GB6GKM:>$-F6B"C-5E:CS0IM)=H_CK=]9X[*GC]S]O ME*C*$U6+E382JV4C/$0HU'G@;0$+W]FVD^9!2*=$%T_!#FW$+_/;N:AMTTCG MZ3,D$B[I\("R"1O4>-&W&Y19*Z.<;)H'^EYU218=](O1].F6-/#BZR^_N%PL M3E_Q*7^]NKKASV>OOF'K-O).B:52AE3JH%HMNM[YGOP4+(MS/1U'BYU:]PU; M7HRZ557O=-!IQ?O[:B/-FHUMM6>0^YK6)25NW[\KQ\-&2.RL8\L@3\,A3K;>='*VF!L4*+6OFJL[Q$#86@).1%^ M;?HZ.O%@%(M_M.&(N!IK5(Q0\>W(GXAB#9C'!MAI$4W$9/Z9&9.480^GZ.^G M$4S2>.S[I=>UE@XQF(NKIHE^K-(R5+WQLHI!HSU+V9#B?J2J:C1 6*84JL8I M/A<_Q*2RG3;D26C12H/.1IK.BH9\&,6Q-[*O=105P_F["P0;.("(BY#U![2+ MN,PHJ.VIH)$!J8+$2FJ'\-'^079GO2YQQT(T,SX%7=]-\[=XLSRIN6IBPCA^ M@DW:UGXHVCE#B*MA;_/ /O!J;(_?V+Z!IU$[8!3)IQ]Z$ULV9TSXK#P@+2AE M??;)4.1)<:JFLV]?>7%E3(_-/W%!"1Q#[5V)$4KZ3=B!3[DRXDY!?8\R" (RTI,-9=@#8 F M/I-CD0]#O.%,==^!]:@8& K:J@\HXIU3J-SR^:L>*41M%>[U%=Q#+@"2*,?0 M0/7[SV6CU\F*GRVH#V2A&&+M=8YLA!IWRO2D3F711CB*K0H;6\\F2:3N9--S M^FPW^!H[P]:2/JUU'&YNP>/\0.$L.:KDP%3IV4#X&&IX2K)A,R\LTCGL M-?*63B=7(V* (Z0HZP+F/T>-QG2R9L^A/AP[I=LE6AW;-"@.35/Z_4K!OB.O M09KHR>DP %\&%L#=HW\ ML525[!%7#7>J3I/.)*_$&.G#UF 82$?%04"A(-_EC"UZ9G'7P!R*UXW-4G9GH#?,)DWVQ M*U6(1/#1&K<;#9*BQTRM[Q#S&NT6X7O(-0_NQLY\*X)YL' MXJHI#MR-&(YOB01&4$_#Q!2=-FA%SRZ?G\\N%R]IO5,TWC*K/!S2&:V*5CQ[ M\?)B]OSB@LPI,!Q1>2\K<:11]T&<+8 R/"FEHMN#DD1%=O8M+M*^(2]BYD55 MN,AD#_1U^M>4>P.5@38*WHT-9LSI'K%QV@S&^9R3T!JF%Q:I+=O(Q!B-AC-7 M/?=4#F?2*WVLK8H [RAB7UH2H.H(4"M?,CZ#RZA=D3^8L9;X*#0,C1=[I;& MFN,U;3+$''8 #Y#T@4Z76^EJA/6Q$LXFI[Z:"T@.\@A28H(2#2,4ACAU3]LH MDK)D%P0F/GPB*PH8DNIAJ,1<, -(QL-'"':=Z35UDD"\ M>AV+;8]"S,12-QA9UR/Z5&$*5(FL9_(#-6FAJE-R4&. UWNS_U1\/? $ B'_ M303)\CW#L4X(,]H ?&5Z)D("PPIV-HN>#UX8C&O1=W?#P]\W0S$:< M-OE"W-)%3NRM><]#YIK7?YYJB:@28D:>Z1\Q/ 5CVE%-XO&CTO%3#.9&"U7( M$N#@8,H$XZL&KM>9$G##I03Y'F,R]G-);YQ2D=L3T4P@&8GY/HA/\KJ _M#0 MXHA3['AV-OOVY3D_?;9X,;N\@!AX@R ;N$+CRB0;F]3J>90\%-E8L^H>#"E: MA.U[TP-:+BC;5A.PX> ?,*N8M28"<\5I.'RM?2JL(=+ ACH-$J*3.M-[M,9/ MO:8V31R/FD:&Q(R=Y.>UB>K'="][9@D!N/J8(4RHHAX4S!NA]MAJ/.[;-.R+ M)9$LTC>2[4R.=Z>%J!<9M<[FQAHF+1B #HN:'0JQ9Q<0C?2,Z&'O-#(UC;E, MYF@2%C2!E/&I>+#:8;2#]72)\+L\,Y_$TJET0IK0T@ 48ZAQJ':L/8_B^,M3EF5(JB2ND8^%&\/HK78-I5?>M#A-,T'*J!87&_Q*'Q&.9!)N?*)@T; MMF/_0+N5=CXDAXI/4$.'.&JND/#6^:F#QQ-6S'WN$*NQIA/U&GIUP(E8I,2, MCI,+#R\\RN7)//0%EB5J80%6?[[ /&!E3,QF)H)7^IV-4G8Y*07==PA=+D M>HS(=&0SR8Q&@Y*$ HJN?JPR1\DI=S%IU_E?[7D[@A&%80C;+,;3BL1/&.IY MACIP/#QJJXR]TQ9#)TX&T;&K1ED"7]E^O1$M(0QZH8C%QTFGJHW1G_H\)&WY M-8Z?W*G(X0IK+F[[Y8?8(2(7X>9Z+S[T]3K=1#$?3,6N,S*1NKE4D)8<:+[) M'57^R&BJ2EO%&72,T RVW7"3E'N^QW2;IM4)]$U+A:(P]9Z?NH^.Y1=F459* M7]Z7$.E05J!'TNNWV/&N^C7J1)PQ!$BPR'B1-#Z%*JAG6CG('8FCM/29)97S MXO1.CR8Y'"^7(M[$H&)5WI3GO:S3H5DO*:/J)[7Y8Z=?2U_XTG1CG$W5=*HI MH:L/Q(Y]N4>R.(:IC)()I?YX*WL^W^%,'+J5<>#*3:',GD4=7:>)+%$F2MR1 M9]" W#HQ(_:.'17M ;]C5.D=%4";E4&E;!5?;^:FQ3CZ&3V.<7#+=W:EW4TL M*U;5 YM,MY[,+Y)JB\(<(T+LDTJ \=-=OW.HP'0K&YM'N9=8RNIC8]>SX4ET M%JIWHSM8"@Z)]4:V!#\TF!*<*+IN6H/X,IY$6*KAD\9VE!D$6!92@457+:7! MKX_1$<=P3BMB%DI!;S8)WX[I_5]F%XDL(MF&"0)H@N%;T/5+YLU4X_MTY0\2 MD]3)DZ9[] 3]CW(MY\0.4#+-\+MES)=S?N=F+LWGHPOWZLX4+1/ U[:Y.G^H!2*%@;8@]- MP\WO)4C=9?2&'CRT?O3.ES*CD1<$$@KT#-PM3[ "*3V1D_%KX*1C2@\\M8_L MGT+MKI8=M[#2\KLHL<[H6TI*V/.#Q(WN/L-0SZWG*[2TX4NZ/G8VI:0X6-3- M '8*&J'ZE3\/]W "2&87 /$ B(/N/E%0^8$CSU.C.V)\M&/S1B@UH)TXH?Q/ MV:)QI\+A,-] 0K)HBCT0:%0%5D;K9Q=@+MZM"E#E\7'LF)@7/:,\07&=^1> M*ZPM^:A**%_BF5,W2HR/$I?Q5<(MM!.21&](',7)%;YD+#D)?,D%OI-:M\A5 MR4UIR4-;<@3B7+*JN:J "/7R5H0J1"N!_%CL+!K733_/W4V?>GH^M9^PN6UY M 1EU(V3!/ '-7[^ZN8O>7REL.A8VO<;^3__R_QB_:@7GA+.3AFS 5&'L+ DL M?6^.N^-D+_J&_AO>/POWW%1"62)A[Z#19'9+B>E'K7=0MZ&]=QK=L 2S=J\3 M&!_@SO=:X]'Q"<;W+O\#4$L#!!0 ( +)>8U> _J;>W@0 4- 9 M>&PO=V]R:W-H965T-TVD-23]S'H=,#1*Y,3$A 4#+_O?=!2E:CF55YUXD/'8_?/L$>+'5YIMM M$!T\=*VRET'CW.9\-K-5@YVP9WJ#BG;6VG3"T=3S&H*B]4M?.DBC*9YV0 M*EA>^+4;L[S0O6NEPAL#MN\Z81ZOL-7;RR .=@M?Y5WC>&&VO-B(.[Q%]\?F MQM!L-J'4LD-EI59@<'T9?(C/KS*6]P)_2MS:O3&P)2NMO_'DU_HRB)@0ME@Y M1A#T=X\?L6T9B&A\'S&#Z4A6W!_OT'_VMI,M*V'QHV[_DK5K+H,R@!K7HF_= M5[W]!4=[YHQ7Z=;Z7]@.LFD40-5;I[M1F1AT4@W_XF'TPYY"^9I",BHDGO=P MD&=Y+9Q87AB]!G54CQM6 D;R"L8#/6KG&PB=58_UPR6 M;]_$>?3^"-EL(IL=0S\Q(D,,[B6;<_S Z2IGKG8[8"J'2HG M14O428,[@&N$(TI]6X.NJMZ 7(-%&D@GF1Y1)DU#(LJG!@%I\H3M<3+$Z>H; M&4R'X0.:2EIBHKT&VUC,DB=%ED\)D M+"GP_*/N-D(]GL'OO+E>D]6\-=G%'$X:P4E3$/*['>IP\I'('P@YV;++*9ZN7LL]NFG\T;2.T V=!;FS /4% MA_Z$77,@5C7\5CG-B[%?2\9$0LC+(BSBW,L4>11&\XCL5^]>2ZZ0ES;H[XF6 MG'O]E*.N,8@>Z!16(>L8'!(E2<(TGWO=- [+,G_IMJ<0/:<0PK:150/L%0X< MU1T;-J7%Y$Y*(/)Y/9;&2_R7P5AA)7K+AJ&D8%,Z'8@R#)$@ 8J.?P!PTE+Z MU)+/M-#0"9[9"BEG.W0G.^V'F#WS6)J'Q2+SBLD\3,KD_^TQKJ2U;NEYY!TG M5BVW,M^W%?4@01,"J&0K)]Z^/)X:,7OJ%!-VE?6#%X9*9)#ZU>9Z3C0YFOLW M/7SAL#Y;.5"A/U;G"2)?^HYL<-JK&;EBD7H'94F8S5,X]/B9[3U-*:AW_@%N^196;GBE3JO3&__# M\+1]$A\^$#X+P;_# 2BH !D !X;"]W M;W)K&UL[5IM;]M&$OXK"]7HV0 M\T6DI#0)(+MM M&B!-@KK7^W"X#RMR)>V%XK)[4JH6']=Y85\,5G5=/KNZLNE*K:4=FE(5>+(PU5K6N*V65[:LE,QX MT3J_"GT_N5I+70Q>/N>Q]]7+YZ:I;&?*";U]F+@4\,J5RE-5&0^+E3-RK/B1#8^+6E.=AN20O[UQWU[UEVR#*7 M5MV8_!\ZJU@HG_P(*P71 RWVXCYO);6M&GY+PQZ[DNI'.) M(A,S:^'Z/>G%/V=S6U=PEW^=TH/;9G1Z&PJA9[:4J7HQ0(Q85=VIPU2E>%RR$J)>2?(^>"7U[>#"[&HS%J\B7Z0 M5:7M4&!0:"ND*"MSIS-5$9^VF=NTTB5M>$D!W2-HMXR .>96%C*_MT0$&Z]Q MMU2 I)H)=:MD6>8ZE6XA^Q0MJG6*.]K]%FZ@4R7.9U+>7NPV&8J?3^F3N*;M MI4BE78FRJ=(5V(001 0;GXUC+QH';OG!8]K>@/$*B)G+&N120\J7UAJHE08V MNEZQ;'#RPDJ'CAL822P0&$6**?6J,LURU;?WWT #DF=D<.Q!)G7DP;*NA5Q6 MRFGFG!8-;E5J2!-?RW7YS4_BQLV:=;,& @)B4J'QVS[\7J8ZA\O CLSBM2P^ MD+@S> 34ZXFWP]FP)V!.W%16E+*"G]&0JLT0VE;BK:F5"( >=&'%>WDOY[E3 MSCM>^VZ>ZV5K,8^UO6@J?I*I6L+EC7/63X@QA!M#$O*LVM!250&C%2]=2%V) M.YDW8(#"0Q9+W3&!H-C>$O[87C3A<:[EG%2A%1NN6:ML/_94L80CTF20RE1) MFH#JZY6NLDNG#]K919 MB(D?.Z9D#ZYY@T*EP %-+LF$&ZL;-C3A'1<0EWQV9=D!S!A?>00X@9ZS4BFK+.]7/ M--9!M6WS3)<-9)95Y%_8%*D#R(ZI:VW;RI3E)_=R:<-5;81,,JU,ZTQDGL)N MHQ]5J%ZJH@5LAE)G!$.DE^9.504[K%7LA*W;+P$\2YI[G!3JP[" ]YT%T=2+ MD["OM+,@F'KC*"$S4'XAU9PE7A0FI"$2RL#4A2'?)(Y PXM]O]MBEPTH51.Z MU";]\*>GHD_@\I<$\B6!?$D@?XD$TB]Q 0X],RY,4W54^FU'UE0D#66:3\!> M5Z0SI3T:C'YC;QS&>]B7>%- V1;YSCX);$YX) _ 0,$9 LY67"*_T;JF)$0>E2%?$W9.U4E$=^%.W=;^M>&*(); MM9Z;C&V*,+%Z6>@%P)1+%'*A8Q*N5!EY8>CO16OL328AEVLN6@,O\1.Z/RA4(/+9 M*(J>$LG'<6Q[@1Q@Q_@HEML2C6FX&-JPKSTMH!,OG$X1THB"_I'#VF0J_ZQ MMG]&)'^I2OY+,!7^[\'4'X5.I\J2H7A_T%3DU"*YT]OLW^BT7-^UC<9>\> : M";VFL*S@*:WAT1Z:#4O)0>[>1NC?E#WIWJLGN_(C&MF=)O9MF^;&[CBFQP4% MV=H=I+NCMEL*Z?4<@=B=A>^J,6VI5V0_%"3T&WGC),3%UU]-PB#\1ES#*5L] M-,7R,"1,7\)S8\TC,S\1-V^N[ M%I?,NM*E%1$XCZ8B1NO,' :C1$Q]S_],);.2%"9A/ M?%(_Z2J9[(C/9?HA-TM!Z3#R)M!1C"4QFO:Q&,53&/Y.Y5!0UC\I'WGQF)0] MA1DZ"1(O#OWMW5MD(\(OP!?V TU?!-,QX CL3">M<\R<5N 6$R]A-YB,^?S@ M#-02>!<<)";5!_3(BY.Q>-,+CO, >T;Q!2X@>3+!!42=CO$;A72P@(N8Z%Q MBM/5B3B?>E$R)1(C;S2FI;&?$"'RC_!B)X^JCX+U3&";<3PA :9>/"4NH4)H MX4Q,$_@;>3I,,!K1H92E R*'+NP^YS=<>;A# +C>%>*8*X$+BA<^A>< X5,6 M#J&13Y3#,(0#1#PRA6;<>=>27';;/^Q@E7?951D[@;I?- 7\GVN)+FCWN'V M&_0_+3<)J\ 56>*[CY10D+OZ).C,R8'4VN$SI=1EX8H31J<3ZCU_94Q&28H4 M,L(V 0L]]:9CI^FI3QP$8>*-)@PJ@1>.$]$MVR^E7&G4GIPX-BA'NG*G/CYA M4I!#9>I4=_H0PQUZMM2IAJKK2L\;EPU:48$>&.@7!=M731TE5[G0*V> >\K% M8IG+]MB+'ME[5&9+\E\0G1/VKS3B-',OJ3##[N>#WL'3Q-LIB,CU@*<-Q_TC M)]U[EX9_/4WTI!G'4]HOM M-N6K5GNVR=T40NWVE(S%IJE'JMQJ1!..4EU'I[><.9E(3TNGE4I9^6GI&O'< 7#%XU;10 UK<:;//X<>W7JC3KBMI=7].) M"'E2=;+B@(BH?= .4)\C-%JVAWLD![ZK_W%6U+( MWLB)^N7$T"L^)F^59!UF3\<$I F0Q \0 ,A3"$(%(U"H\1W2!$^.D8Y::!E- M O'*=42NX,U0W&MZF\]VW58#GV=+=_R+NID&VQ)KZ_@]"USNGW>7KJYE=SVT M0=]N_(%*VX_/'J3&1>U_:-@G1%%32%3P->$OCN\W04-6J(2OM;BC]U+$H?2=D;NT,2UHNB7 MZXO'H%?/G_8F"9O 65K K('M\Q[4'V<'2DZ&C[G8!S:Y?,G MF)"^-3C7X&_1U.B53[/X[+,![= =GS#E"/!"%&U)-.(K%,P^]6')&(#&952" MWB%!)T0%;FM';LO"A.:APAXG5'9%$97:5(CYJ#H3<2VM3G?Y9A>$9\(?3GCI MD.NUZ!S5>KX Y*/,\MXC*2G=VMEA@N77.P3$(3^ER_]YK MQ5,?I#Q"[? D$AA@&]J?PVYO52\ '8'3 7CJ,[&KWO=]Z >7_!4C@0V@U'WJ MMQW=?B@Y<]\'[J:[KRQ_E*A)$4ZY6F"I#XL/1.6^7'0WM2GY:\&YJ=%\\N5* MP9853<#SA8&<[0UML/U\].7O4$L#!!0 ( +)>8U>:9Q" H ( $L& 9 M >&PO=V]R:W-H965TVF35JEJE6W#],^&#@"JK&9;9KNW^]L$LJF-)OV!=_K<\]A[ECMI'K0 M%8 A3PT7>NU5QK3+(-!Y!0W3Y[(%@9Y2JH895-4VT*T"5KBDA@$.S'U[HU + M!I2B;D#H6@JBH%Q[%Y/E)K;Q+N!+#3L]DHGM))/RP2J?BK476D+ (3<6@>'Q M")? N05"&C_VF-Y0TB:.Y0/Z!]<[]I(Q#9>2?ZT+4ZV]N4<**%G'S:WB3OM)'-/AD9-+7H3_:T?P^CA'GX0@+=)U#'NR_D6%XQ MP]*5DCNB;#2B6<&UZK*17"WLI=P9A=X:\TRZJ3F'@C!1D'N1]SD)>)SN7ZJ0D;\[^-7(GTN<3FTTD24Q%9!2 -JZ]:8??U8KI_UP3ILRHM^03R']VOVFJEM+33A4&)J>#Z;>D3UJZM7C&S= MNLBDP>7CQ JW/2@;@/Y22G-0;('A_Y'^ E!+ P04 " "R7F-7:;VY ,@" M !*!@ &0 'AL+W=O0>J M*R_T_<2K&1?.?-KYEFH^E:VIN,"E MW6-5//"ZSD9N8$SHOCEJ]+8QW>?-JP M-=ZA^=$L%5G>P)+S&H7F4H#"8N9\1*KRA*1C(F++E\E*=T_8]+$19<4,FT^5W("RT<1F%UVI'9K$<6$OY4-G;AQ0:"9>H82V# OVY(M>K+P#;(QW$AA2@W7(L=\'^^1L$%=^*)N$1XE MO,/F#$:^"Z$?CH[PC89J1QW?Z!_5NK"LF##[1H1G?F'=T'B?SRB.QIT1\?8__>6CI(=EGHD ^SMX=Z>"YFD M!M5&@RS E B%K*C1N5A/@&[/8+U"-5PA7&&V]02=)X1O1<$S@K5*<-,JW$\" M[V'D1G'0O\, +F7=M(8(7D.(//''$,9N&B1PUU(]O=2"8[7+E?AN,!Y#-';' M:0Q?D9JYE!3!ZT;)1[0Q&A(WC4?TC*,$ODO#*@C\P V"$-+8/4]2PFD]H6F2 MM75;,8,Y#0$ZQXRS;LRZFF*:C;X7I6WWP#H/RHI\/K^']E+UA:LV%A@H+@OIGY[$#JI][IE2<,>E0V@_4)*\V+8!,/O8_X74$L#!!0 ( +)>8U<#]&!, MC04 ( - 9 >&PO=V]R:W-H965TC<>F6,@F-R.UE"UV9DHWN<54 MS\=FJ65>>J&F'O,@2,9-7K6#TV._]E&?'JO.UE4K/VHR7=/D^NY L/#J/W'E_X/=* MKLS.F)PG4Z6^N,F[\F00.(-D+0OK$'+\W,A7LJX=$,SXNL8<;%4ZP=WQ!OV- M]QV^3',C7ZGZCZJTBY-!.J!2SO*NMI_4ZC>Y]B=V>(6JC?]/J_YL+ 94=,:J M9BT,"YJJ[7_SVW4<=@32X <"?"W O=V](F_E16[STV.M5J3=::"Y@7?52\.X MJG5)N;(:NQ7D[.E;I4MR6]:VW>SJMI+>G,&&G-\=A"ASLY+M9XYST> M_P%>1N]5:Q>&7K>E+!_*CV';UD"^,?"^J=DXW>=U)FMZA4I=* MV]S)&SE'_5I"[_"'6^BEIN>'=/P@9-?*9BKU-L6TDHA];B!4HV.8([IT4KNL MH@M9K(5"+\1[R;/B:U>9RE6[H;/R;U2/4V\(]8OJ;.E5I[5LBSNZUGEKZMSW M!36C5K4O/E]=T*QK?:_(:Y3>^NA\X_P>4]]=OJ$#R@*6"8[!A"?X__Q9RD/^ M\L$H"UD2IW1^?45A&+)4I"18.,DH%#2,DD.L1BQ+(WK[^@.%6Q;15-)?IBV2&4 MC@0N^54+<$DVOZ5EIY?*2#/:0[2=E=RO,&JE98X-,'R/8L?7[\E0P)O*6"?C M7.B)!(>.]D%\+_Y6*P/^%$77=. (?#IKP.CJGYXOE[@IGW#D3=565KZH<>>4 M\/\;QX[ 1=?;H5?+GHAF42T-DNWR)D+.LLRQ"2V0Q&S+(H0K8PAO1!2Z4W$6NM4P#+ *Q"QUJVG(D8<;O!"6CD&R6+0*^N]H"'L% M5"6N"E*HA $\9$&$^N'>V2'01(!CV$Y@6%\9LT>#[PJ'1RSBF0\P(HA8^P + M%)$0/@$)$W'D]V.$B L?X23 ?NB3M$XX\-W;@MQ-X1X +UQO=>\$U(2Z02RE ML57C*>*L<0EV)1).Z$[FVASZ%#T5"VRN?H08;P'%_P.(%&T0H_^*B KT-V>' M7*PQ^4,CXU\V,GYHI+N;JA+MOII5_O+Y/NV^V^F?Z&\[#:786[:,[+;HV/V9 M=1TQ?\&L"X/YIE7N8_NJL@MA.N2CJ/>6D1@EFV$X$GM6 MG9)D%&^F>(.X_@RH^F[TL%FYSMT:22MTV0/49)P%7OH %9_Q:#=8=J&E])M/ M"=M#K;U)!RF*-^Z'*$&1/!G_0V&50U]WZ6]H&N^\BI&-N7_[NVNN:VW_ M0-ZN;C\OSOI7]?WQ_MOD?:[G%:[(6LX@&HPF\8!T_][O)U8M_1M[JBQ2[X<+ M?"))[0Y@?Z:4W4R<@NU'U^F_4$L#!!0 ( +)>8U=UH\IDL@( /$% 9 M >&PO=V]R:W-H965THE"[69 $Q\ ]WS36!:+YM&,;?$#[K5MI\J*! MI>(M2L.5!(WU+%@DDV7N\GW"=XX[ MHA".B&3\/G &PY4.>&H?V3_XVJF6-3-XJ\0/7MEF%HP#J+!F6V'OU>XC'NH9 M.;Y2">.?L.MSLRR @"D7G=_D5?YCEDV MGVJU ^VRBYDGO&_#RCFY6)Z5B)LX"&P:!^ MPF#^YE52Q&\OZ,T'O?DE]O_MRD62\Q+/,,,Q)DYBI:*Y,Q94#;9!J)6@\>5R M,P'JC<5VC7IH$+S#\A!)?"2%VZW6*"UT2OOA(QJ!-#S#'<_P&I(\S+/"&5D8 MCY-!QQ,KF4=1/+M)(4G#O+@&:J(F&;Z'&@6SE&K9GL0FHS 99U"$15+ $B76 MW!KG%C'0$3V/U+3,-''+#>">]IHA\#B,XQSR<)3'\(5JU00<%QG0I?D-?%66 M"9)84$(V)B//PRS)X%R3HY,Q;%%O_+)QGW(K;3^10W389XM^C/^F]\OPCND- MEX8^6DW0^.IZ%(#N%TSO6-7YH5XK2RO"FPWM9-0N@S1<1<,6W[^!U!+ M P04 " "R7F-7&S(V_(H* V&P &0 'AL+W=OY&;ZFUGZ7WY MYO"P2I>JD%77ELK@R=RZ0GK\=(O#JG1*9OQ2D1\.>KW)82&UZ9R=\KUK=W9J M:Y]KHZZ=J.JBD&YSKG*[?MOI=YH;-WJQ]'3C\.RTE MUJ_S7\MKAU^'62J8+ M92IMC7!J_K8S[;\Y']%X'O"'5NNJ=2UH)3-KO]&/R^QMIT<.J5REGBQ(?*W4 MA..R-1M_ MJ;B>,=E+;5[QIUB'L<-)1Z1UY6T17X8'A3;A6WZ/<6B]<-Q[XH5!?&' ?H>) MV,MWTLNS4V?7PM%H6*,+7BJ_#>>TH:3<>H>G&N_YL\_6JTIC@":,GXI,U?EF)]R93V?WW#^'@ULM! MX^7YX%F#MZKLBF$O$8/>8/B,O>%VU4.V-WS"7EQOQ0N>IJFK95Z)_TQGE7? MR7\?6W*P.'K<(M7.FZJ4J7K;07%4RJU4Y^R7?_0GO=^>\7>T]7?TG/6?S=+_ M;52$,65KC.4QMC4FQ8>N?"7L7."AF-L5&";#T1$^1Y-Q7&I[&?VDUQOC M\[@_@I,S+V"XYM=3B]4EPH BL4196.?UW_R6V!\D_5[O@+XG1X,#\<5ZF4=? MGH_:8'"<3(9],1XEQZ,3<5$[IXP7)1F'84ST&BO]07)RC/6.D_[1Y#792A", M"CG;F0[!AHW):$#!1@R/AF+*"7TD@V3W01833GTJG=L@\Q2DVG"X,@IEVV59 M(FO?-0@5ON(E[9!S?*QD7N,.42S\-N*C6JE<#(0V90UP21XLD/L"/QQEI2BE MXY5Z&^_'9>4;S#Q7 )28;41N4^0D5R8CS[2IO/9U\ 5-#;:<- N%1H-9UMHO M1:4+G4L7;<*X-AF8&" KE7)Q4&OZB-QT*8D\E$,QZ+3J-L"^"(\_-,"^,F): M+V!0](<C.@*.=1YWD*:V3B]0/#DBF?%4VX0?DZZ\)W#/FP10P2H7XA: 'T9323@$GFXI;Q-^.U7.0[,T MI!7C_&L%>3*K=*:ETXI1MZB15N.M0T:O:T>R"@7DSPRN8KBF-[E"=NH9M[5*LT%N[3!'*!"5%>2JP5 M%X9987&$#[C]HK%1K_>HL:[XLD0C>^)]JD"YDJ@3+L"EL_5BN8/K2<3B)^EK M1\@/P [0,2VW[]BB10X(UUY_>,S$OT8>0NQJ3O\SL2<\L6(F76.^U;5FH5S=3\GL4,1/$I']0.K59TN0RWPW*TJI=]=[Z"_-ZXQE$N1S:EU&O6*N*)_ -4*C/8>NS50A#&S0\$ MA(( 3S+6H7'(=_ M11U$.W'Y[]0%V;R,8 MK\ OAK8[XD,=HA,- XE_8FT-/5*/!$M'/1/\S=6*"'1;=9J<)+ 3MIF: QA M$5^V'G0.?K)^9@I-?&M?>D@,IYFO'(N/$ 9464(/[WUL MT!?IA@T(H!P8Q,/@L47KF4.0!GZ;^^CE[G(2H30WIR]$+1Q8I.$=J'0C;C4% MC&\FHLSKBH"L)+Q,J88(_&69HUO2(K")7E #0S=DU12#7+Z_,=8_)[;64@0 M+9.[O;R_!I+T]]<16E:X?" -4'Z"ST$>6IG7+(.@%*%W569(9#>:Z*7WWY]? M?GDWW=9T82DX8"06LK&&,*P CZ+\ A%PL1R$;8) ?&2 &Q RZH+_,'4?WTT/ M?RQ?#Y?Z@]C:050!N;"4JQ C!2)-F6IS;!)V>Q]2 M+&>AJ;',+"R>!R7JET1>"=9,H6-OJ7#3$/XP!EZPK$CH2KD@WV3@8AD.L5 X M=1YY$X\N0KGB^@+>.YLGI(6IKAIY:]2:=0*,HA77;ON@U47;H*6Y%S+8;(:V M'(B;'SF?8YG$(;15:+T2IH,A"M&LKC07 H94"K)$MJ4*B_*("FS_@E;Y 7%R MER\^)9/8GJ&2HYR.YW))E# 4L/U9[6E/'3+'K XIVHQL% /$8=-,T14!I!*> M,K,WIQH[++S GD]%^"9;?+"9?W=B2K9>-\PRE M%+W5R:;;-LF[G]SF[EVD2!^XNO3IAKQ'J:^XP<%BK@'.3(:>U;SX9YTMXJ;% MP6.\P8H (KLB,(3^$8N3$7EOLP7,S!KM#"D@0QK$^YO+VVEL.M SYI4PX$16 MNVE#IUR*3)-.,ED%/K<+Q>45MNW-MH]OQ==BI:]MG6=,>'Q"@'XK.C=()K:G MY.AU&-QA0Q$NH#!#F(A)?A&X>(@=+9U?@=KOL+EU%Q+*V_0;Z;K:(9A5/*-\ MPFUM&CE)88Q8HIHLXV'/W1F0([W&/:DA':)^,!7O,#@E$'"UB01.@&T1_\>F M2=XPUX=(S52+[H?=P?B.[DD!;7>' 4@TUSX JTE22H*[V\8V@40I%!V;<&"6 MBO) >60-%/8,M.L/)IEA#^Z3FL=Z:WM/$D"SUS\>1]/C MR6M-7Z7>DN'M)NK^7N>%,^MP,G[8^B^#FR7]8T.DB8U>^%MC>W?[I] T_!=R M-SS\H_2)!7(%<,SQ:J][-.Z$,FA^>%OR/R,SZ]%!^'*I)%B8!N#YW%K?_* ) MMG^5G?T/4$L#!!0 ( +)>8U?*TW]''0, !D' 9 >&PO=V]R:W-H M965T"@1) MVST4/=#2V")"D2I)Q?5^_0XE676 V,!>Q"$Y[\V\(3F:[[1YMA6B@U^U5'81 M5,XU-U%DBPIK;J]T@XIV-MK4W-'4;"/;&.1E!ZIEQ.+X.JJY4,%RWJT]F.5< MMTX*A0\&;%O7W.SO4.K=(I@$AX5'L:V<7XB6\X9O\0G=U^;!T"P:64I1H[)" M*S"X602WDYN[U/MW#M\$[NR1#5[)6NMG/_F[7 2Q3P@E%LXS<(52>B)* MX^? &8PA/?#8/K!_ZK23EC6WN-+R'U&Z:A'D 92XX:UTCWKW%PYZ,L]7:&F[ M+^QZWXP%4+36Z7H 4P:U4/W(?PUU. +D\0D &P"LR[L/U&5YSQU?SHW>@?'> MQ.:-3FJ'IN2$\H?RY SM"L*YY4HK)]06E0,RK2C1<%^N>>2(W?M$Q#^#=T8QM>X"*@ M1V+1O&"P?/_'Y#K^>$9".DI(S['_K],ZR_1VGJ?HX4N%L-&27C!M@^-KB<,S M%O]2[1QM%Q4GI 6A^BDW9N^=7[AL$?0&T#I!KPA+*'Z'*8[#W =N<-ZC68\ M=[C'8EB9="L,5B?@(:QQ*Y3R42F>SV*/W, [F&1ADF1DY&'"L6S[QD%<4O"UD,+M.T3#]_TMJGF)<,'"-(XO_%2CS4'4*2Y(PCS-8!*'>9:>J;9$ M:ZE%O>:E8H?Y;$IC&J;Y!-ZZ]-%1NZK1;+NF3%2Z5:[O7./JV/=O^W;WV[W_ M:7SFAH[<4BX;@L97TRP TS?B?N)TTS6_M7;42CNSHG\7&N] ^QNMW6'B XQ_ MP^5_4$L#!!0 ( +)>8U>!A+-9B , -4' 9 >&PO=V]R:W-H965T M59F<6I//9[,W>:NTS=;+M'?GUTO7!Z,M MWWF2OFV5W]VR<<,JN\@.&Q]UW82XD:^7G:KYGL/G[LYCE1]12MVR%>TL>:Y6 MVUEM$\&?VH>Y.2;HI*MW0LE7"&V>^Z#(TJ^QM1B57JC?AHQO>\U[/5<0KG)'T2\-H M>S7/J.@EN';O# :MMN._>MKGX<3A[>P;#O.]PSSQ'@,EEN]44.NE=P/Y: VT M^)&D)F^0TS86Y3YXG&KXA?7&M:T.R'(04K:DC;-!VYIMH5F6>4"(:)@7>[C; M$6[^#;B?Z0, &J%?;^YF])B-J'Y;+YX!6]QU+M( M>(OOT4OOM!3&2>^9OMYL)7@TS5_GLC &N3P?)%ZD:^E4P:L,-T78/W*V_O&' MBS>S7UZ1<'F4 M/_-":H &FZ@1XYJ&1B/:P G&NC":$V0J!,)JGBP M;D KC4EBZNV^."@>='O7@PH2F<[04)'R67DX@!B9GKNK^&ULK5A;;]LV%/XKA!MT":#:UL6W MW("D[;8.:!LT:_LP[(&6*(N+)*HD%FK-!9FUU/!J9.!,%-T-5B1(KJ=(%MQCJU9W;#VK]NVCCF1!>K'+C_K)U(QN% Q;7QJJB588'A2R;7W[7YJ&G,!\_ MHA"T"H'SNS'DO'S%+3\_U6K--$D#C3Y;3V/GD+_H2+] M'-*;DKV/K5H*C6S[OL=L)IP +S>_&&9(+5-Y(K1AO*JTN@4 R;S[-&&_Y6K) M.A4V>OO]32;F@"B<6N8U46 UFRMUQ#'( A.X1.*];X]OS9/ C&)WUK9,--^R='0_8GA![WA8F[ M2FJ8J6IM:H[J6\6D-@>#]G[DOU1EX+YH==F MZ'O;9=>=KDX/9QEIR$08EJ!(Z$MM/.1)Q+4+3Z6IC 7-4<QU_/C^;>;#KO+$ N5D4!A]L84 Y>VTQI^2]M_Y9?$Z\EC)4T M5*$$VT\S:6@[P]VZI)Y]O.?Z(>^WZS*+Y95 *Z!1[@M"AL@'=&$;9IS+-&6H MC:7:\]22[;5RENY9H;GY( KC'',W$O(*EK^J0),XEM2ZXY,2;<>*YHQM"//K M=!ZS=[6; .3'DOR!V(=[[.MMJ"^;4*\;8^5#*3?YD:K,/KM[#28O;I&%E6"O M1-S:])W-@,W [-%R [8W!\&8*@V<<%L[LTQ/F#^>#JL5,AVS0MF$UI:!,,PVA,CF\XG7C0)'&XTG$2-OUTE>J<:<2N^ MJ=@Y=Y5QW/?-3&-_">&2\CTY=P?:P<2;S69.Y\"?>I-QY!JU$N[6F6^:9H74 M%#$U4A,OB!;?:[8[G=N!NY%LW W.^C(!\6B\T+MQ)!+OI0Y-LR+ M..?&R%3V".:;/?!SB>X%$,S#)H!%./O?W2>BL,KB@"(.*1P"+U3=<#L!/:'N M""F5)H9ZD_7VV+US2& N-%[H1XV9_:WPV+8@]B52%4F/4G6=WY^T/W(IH?P1 M8JELAXKS56UQ]OM6.=:^>!A1Y'O^."0G\ @36N_4O;MM(A54F;@MR9(*%*M5 M26<)P[VD#4C0 Y9LK3N^XRW?=:2.LU"JA.SYP^F,;02G&PC@Z[*'R.V>7= O M;\JE9KA%U6*7]AMJ;CG[!WG?)7:W=1TO!0LO""?MSHN\:;!#3,-][Y-1[T%9 M"+URSV:#_*(?F[?E=G;[,K]H'J3WXLVS'O=HW(?0_2*%ZG@XFPR:BT@WL*IR MS].ELGCLNL],X#:M20#KJ5*V&Y"![?\KSO\#4$L#!!0 ( +)>8U?N)HC( MK@0 +(* 9 >&PO=V]R:W-H965TAI: M3U(EI\9,%[/9LVDCMFM%Z%K&NFW5V3N+['DF%%6R,_&=V_Q.@YX3QBN=">E7;'K;Y3(391>B:P9G,&BT[?_E_9"' M/8?GLZ\X+ :'1>+=!THL7\HH5^?>;81G:Z#Q0Y*:O$%.6R[*3?38U?"+J]>V M= V)]_*>PODT I'7I^7@?=5[+[[B?2;>.!OK('ZSBM2A_Q1,1CJ+'9VKQ:. M-]3F8CF;B,5LL7P$;SG*6R:\Y3?EB9.1[_!CZ-\OQ_=[B,@A7"20T4E.0 M'[,JI%7B)97#ZCRM+B8BUB2N7=-*NQ6U5,+B1$![D_>DA.Z1(_)HM"RTT5%3 M"O#D9')Z=II GSR;/#];3C"KH:4T;6:;(]3C&*W7. ZTV<+/R @#!],H[5H7 MAH0,@6)(^+(L76>CMFL>1(U%]1$3@B,"!IN:4-D-@?L=O$3512ZU*XQ>RW0 MX 1+P=O.MRY0R,7[SY)_"H*JJF>]S]0SHXT,XN?Y63[[Y6DBLLAG3X7J/#/A MM,7:$Z4=BXJ(II\)XIEXH "'"9HDO]-\V4//3_/%=V/_44;'R&,-#S//\I2& M*D^V)%%0W!#9A/IUK1R)+;!:(* 2(>WHB)%7IIDPJL/)^IS/567BBDM MV^&+$=AA1,&*TBBEWN)-1"0=8VV3)<'1?4@B)== DBMOC_B(5Z*5V[ZM!E(! M&-R!"?(Q?@=-)>A.F@Z)Z<.AZQ*+D%IQGU87DAY4U].1T;$VAFUDX=&_@*;T/!I+)8S5Y>8"&C MP)RM43P6RY3$"7J_I\CF!3%S[!O]+V"[UGW98!C?:(BSB4];K*$2(9+<#O2] MCML^3@U*56>,N+5N8TBMB?$E%G N()'PU[:_A4!-+E[A/$?EN>8!J9^?<7)< MMZY3'9):U"QH=!N(\2TF:>OMA[)^R&_RL2$_8NB"TNFV,!D:G).,F/BVVX/] M\/_X"W'$?\F6TGA(NXX MZ;'&I9(\&V"_$U=_0=02P,$% @ LEYC5P(%F@#!" CA< M !D !X;"]W;W)K&ULW5A=;]LX%OTKA"?HM@ ; MD]1WFP1H,FVG#VV#)K/[L-@'6J9M;271I:1\S*_?$HHB M+\\]]]YS:9W<6O>U61G3LKNJK)O3R:IMUZ^FTR9?F4HWQW9M:KQ96%?I%H]N M.6W6SNBYWU254R5$/*UT44_.3OSFBO3_KZ^='B:;JW,B\K436%KYLSB=/)&OCH/:;U?\/?" MW#:C,2-/9M9^I83=,+F9J&[LOUB;W\S@S\1VMP]L"^]JS+V9M7:MGI6%79@FVV^9DVL(PO9[F@Y'SWHAZQ$C&/MJZ M737L;3TW\_W]4P#:HE(;5.?J28-79GW, L&9$BIXPEZP]3+P]H)'[7G76.]M M42_9/]_,FM8A)_YUR-W>6GC8&M7)JV:M=+(88@'++/KE6$7MEKK^AXU1N\;U@QL%75?]%0]!150;MU+2G\UCCV? M7'S^]>/D!6>0+5T7?YBYW[;QN*A;BPEGS,B&KN<#%9ZJ@8WF%?M0+YQ&UG1Y MVSD#XQ\^O2/;MZLB7\%67G9STXP/@!>F7B(VQL$R9WEQ4Y1L[>S2Z0H8:^@> M&><,+I9%>\\H5/"RX1Y&;NO^/'+I6Z?]$MTTG?-A6%,"T^K7[+PKRKD_X]KD MJ]J6=GG/GNEJC6CDA<'J!H#/KZ]^ O!-X6Q-L'3)5D:7B'4SV( +I=$U%AF' M P@?Y,^?.QL0-![Y(1]I_N/;RP%6N\,)$,6R'KM#2]\;BQ1N"Z"XLF5'') / M[]]^_J$/R]W69MBZL[Z79\S!SGMBU"YIJS*%D\)U@SF 62PJ' M)7N4./]0>50((4M2BV;QTR MN7>:V+#8[UA7Z[*TN5^%:@0N##?[!\\6%DMN"8#'3/7<8M)1&'WK]66P*&IX M20R-RQP!18G5M-EV[G 97/MZ&2L^^X04WY^!@K>FF@'R1L;9Y[RU-"']L_J9 M)>^=;1J@N#%U!T=0;^R(2:&X#&*,LI0G48B!2A,N$AH%0O( <\AT%B51(J)K.(BRAB4D9I2D+$IYD*?C@B4H&!YY" M$BHN,LE"P<-(PG%0E,(8$(6I0HUL,NRY?,&>(TQIEF&@ "^@F03G9 D&<)\J?\F%3T7L5@HJ!5FMHJ<]H/![! M7)0)7QM'@>29"BG)?9GUBDYO:DK,JD],\TAB\E'UEO>]3!VE7(11/U2ASY=Y MYWQ-_<#^@Q3>-[XO/?.BT574,*F5<%4,6W*UZV]VNS:2/>1#]#+!D-\02+CQ3Y,?MUA&V^0S3H;2]F M98$+Z3@^.'-S=]CNZ'5ZI8'7&%PBMO(%D?,HAAW[U,Q@'!9(E O:V;1H$K@S M@(45KE-T/$Y&%^:4)QUUEY;0]-V[(Q%K\8L$W9*0M2-./1^Z6;$%1!*/2%#M M51F0P*@!5[8"GPOP91V8V-,@ZG_HO\6BZ)<3D$K_&XR.0@&;FJ@:?-]O3;OX MW1J4,R?4E[2&](2THN^0K^?^;TNB(*KUB?C6&4A;9FO MTB3BB9]1*(DT2O>$5T)ZLL"7=QI#J^AM3"6?A@R_GPPU>+KI2?7::QKDC<1& M,&A.J++M.RB<3"5+>9IXG1,XYQ$AWD$Q<++J>)QG'CO(87@ M["'-Z'LA^.51D!#E H1N658\%2%#TT#[4I!A-,A'6-X![/OHT:9=COO?".#0 M7H^V;737$_=*BO9?=K.2*A?B@&MV4[Q<]Q.-(16 "ZE$AL4^SWD: MD'MQQD6J-FD5>3[0=Y4/6(@^[+F2Z(PA.BRFT&NC.&67KKBAECJ85@*W ,'" M@(="4IC(.BI-]C>7)$'OES$/, OK$9A5(D"W#/]25?%#_G'3B,.@OS6EDL@F MO?'9)0/%@\P[17-"#BDJ*! 9I7CLER<0EN@ _5)*N@7,0I01'%*9$:WS0":&%)M!F@U@0C +*HK^4L5S@^" M (293T*DI?^M 7QQ(GWF94A0GY/!6$D$=P M/O,=&[:Q-1+^%TF*ODX_91)!AS!((7'XOZ^<0U_AIJ-OI.@X2_\E&-'*Z+EQM #O%]:VFP8U>X-E'5U0( /$& M 9 >&PO=V]R:W-H965T5,@PCJ*C ML."Y"L9#/W=MQD-=HCH!NL)V[R189N(AP/2[Z &>!M M>6W("EN6)"] V5PK9B =!9/N8-IW_M[A9PY+NS%F+I.YUG?.N$Q&0>0$@02! MCH'3[P%.04I'1#+N&\Z@#>F F^,U^X7/G7*9O .(&$'O==2"O M\HPC'P^-7C+CO(G-#7RJ'DWBRYK&6PEG4'98+SI@<13W MMO#UVC1[GJ_W"E^=&/L]F5LT=!/^O)1C3=%_F<)5Q\"67, HH.MOP3Q ,-[= MZ1Y%)UL$]EN!_6WL;SZ'][.PB1!544F.D+#OF(%AI[J@%#)76@_ +I70!;#] M;]K:C^Q'!GZ=J]6>I:)YPFJ/%<^P>8.5'BLTS5JT3*>,^@55A*([; PHL6*T M[\H2DZ_%Y"]=;:IM\C50TZ-F^"SVFH$:D/$P2[6!&4LKY2N:RR?R6AMF7'F2 MV\ZLPQ(M)3<=GQ%/$.8U&PO=V]R:W-H965T9^\8I63)17O7.5O_29=A>3EY-1*G6LJW"1[O[JTKVG!._PE:> M_R]V\>SYV404K0^V3L30H-8F_BOO$PX#@E?'3Q L$L&"]8Z"6,N?9)!7%\[N MA*/3X$9_L*E,#>6T(:/%_, T<1@7B0Q-U',X@DQK\4OUH2M%^]-J^0P?^^7OG@$#?_.61PY'=VF!_E MTAO?R$)=3I L7KD[-;GZ[IN3%\=OG]'VK-/V[#GN5S?2:T\^NR7>)L@8X:;$ M VT*W52*7[^SQL.:DM\?,N+_($9\VBI1=$]4*=;:2)R6E?!@H9#2@_4#G MDA++]^\Z\; 1'!OKV#+PTP#$Z7H HC:Q%H/-3-P.]/)ML3VLV%04R@64Z"$Q M'UI;&XP-2I3:%Y7U+7P@#!TA$(%KU981Q(->[/#1ACWB2IQ1T4,=M@,\X<42 M%1T$L-/"F_#)['=&3%*&$4[>?QQ&,$GCL6]77I=:.OA@)JZK*N)8I&/(:N-E M$9U&-"M9D>)^H*JJ-.JM3"%4#$-\)C[$H+*--H0DM*BE01,C3:>=ABR,_-@: MV98ZLHKN_,,) @)V(/PB9/D%G2$>,PIJ>RKAB("406(MM8/[B+[GW5BO.[_C M(/H62T&#=^/X[=#LGI2<-3%@'#\!D;:E[Y-VQDW#E;"W>F ,O!K:X[>VK8 T M<@?#0\+T2VMB=^:(";\K#D@+"EF?,>F3/"E.V73R\JT7U\:T(/[("24@ACJY M.#D^^EMGQX.23BCJ2N(G0%FOE!.G)]Q7%J,LY0<=?4[8&+R'T21%"^FW8HW1 MQW<2DT+I MEN6O6X00M4W ZPO 0Q#,GNE*YUU7.G^V7=PJQ\6%*L _5I7>1!P.]9W_B9'X M9#%PP2SD92P#C2.X@ W*L+,$ M36T=1QYW^V&H(H=7'&#DRU1T,M9P-]3P%.\],1_LN&\''$"R?[:7\X@U:Q30 M-EA(,P#$=H#$V*OE%^NH+8Z3]WL_,(BKFLSR#W,CJ0E3-"G%C8[*Y%KEL"WU MG2XIGS:6XI8,PERCJ6Q"TR"TY^CUU!* ,@4OBGW 3"E7$+L&8V$9F"3#Y[SM M-27XZ(B"AFJ:6:(YH1\6(5J\G^6'[?&<3AY_^[4F#WI>$$CV!BE$T@EJ> R5 M$=G"NF#?F*%L5NB[;U"L.35/X_4;.OB/4P$VT!#H,P,O M#+B1M<[%D#C\ MA3 22=N8ND9Z2- A(U%\=@ WPQ8D#!\Q0:*U7(%G[5@%,U MFG0F?IV/$3YL#5:0)"JN'\K-:,"+$=OIR9VXDBOKIM1LCZALHRK1))*#8LK. MC X?:HFAP%GONZSEN.@C*>F33,XZ^ .>VL,<66=&>L-\:@^^LRMEB(3ST:5W M6XUY20^'QK:!STMT?KCO(><\QD@&<_6PQSV78VHN'+ES+L&R>J"Q.?F!&R-W MAB7-H[&_I+UE7)VVZ(K?OCH_G;Y:O*;S3M%2S0/N89=.Z52TXML7K\^FYV=G M9$[7$6*#>!25$&G4?1 G"U097LI2TCTJ)6DJVJ-;G"6Z/BYBY$55.,EDB^KK M]&\I]OJI"MHHH!M[W7"\?,)&3+A/Q',.0FMXTK$(;5G'H9"K42]SW7)[9W04#LBO'CX[LI!-R&B_W/C-M8<;8C( MT!"S5_!0DKZ0=+F3KH1;GTKA;')J\3F!9,^/2DH,4)H(J0J#G;HG,@JD[IA# MR.]DQ240/HV7+ DX\HR,4-!2X%1((R[;4VGH/Z-!:&!$W,@(R:-@CR!/ >!: MWNNZK1.4XUA/ENP7@1&&ST1%5PQ)]=!G8DZ8ODA&X8,*=I,F_6?FG1?=O//B MV3'E9[3!G:9@@0\_8!0U&TU-X9KJR\&QY\_P$]UK[9/Q-"6FNHUM)\V=HI$Z M3X,H7U];3:64^C E=@[;'-^HA7IC8K&044ZFF28O\2+*57S4SG6O8":$VA5> MZBKMOMZW==H-Q8H:(>D;!Z(\P.Q/=%$O,FJ3S8WS+FG!07*8U3B\4MAXAH!: MO>>L"X^DD:EI*^*&2XN3H"FQF[8[!(N]J:.WGG;./X3,;.1+IY*$--"G(37Z M4$.H=JP];V[XCU>:5;R:<=SU%'F5$BGPHWC;$&]-M"O:VH>XW*9=0O5=D&L: MA$8QW*M,CI5M&@AMP_A N[5V/B1 Q5>HH4/<3-;(+.O\&.#A%*SN,<$ISN+U M4-.1>A5=*G,@=EQB1,?ID@=,GHLK_:OBH@\\J'KS>R[=(_?)P4U*:R)]1:HS M(5T3%-(Y7M!SF?C$6^LATW+MK67A+%JJP01;1-^;$A77\8I>ZGS?@DDGTTXY M[6AQ'RSC?6$;SDE.5? _G!U]<.31RNE.-F&&MA*C,KFH ]MG#+@V(&.V%HL% MX:5BY1V-LD(V3<492MO%$3S3D,W$,QJ-MA'2-0&M]$]EYB XY7Y-V@?_^T=H MQV)$;NC=-HW^M"+U$.ZP/.<>$ ]$;9%&X<$HEB6.EH4A5(,H 5:VW6Q%316F M0<+&Y..@4\76Z*]M'F1W?,'O1RNX[&\\9F+9KJB+$WZ\^4-PI>[%E[;6&,GA_#1V+Y4TKDE<*7Z5)%.A05Z.[T82;>(UVW&^2)..$2(-'I^=YA M)(4RJ.76W_,=L*.P]'DMZ^3%#8L>C6(X7@#$>A.=BE.9Z+GKCI==^W_Y;+O^ MB%%P[U.)0UEHD=+L[T,#P)_C^'=DZR'%YX/O/]A,-OR5B]HCN,1/0=W3[D/: M=?Q^U!^/7^%^D6Y#*U.EUB ]GKT\GP@7OVS%'\$V_#5I90.F3/YSB[JM'!W M>[I0SC](0/=Y\>J_4$L#!!0 ( +)>8U?47@T:@@, /0' 9 >&PO M=V]R:W-H965TN'MC3G,@D"7>VR9OI$'%/2EEJIEAE2U"_1!(:M<4-L$<1AF0)%W,CSSW=Y80["<']@.-VA^.SPITH(1 MI>(M"LVE (7UPEM%LW5J_9W#[QR/^DP&RV0KY5>K?*P67F@3P@9+8Q$8_;W@ M+3:-!:(TO@V8WGBD#3R73^B_..[$9$M / 3$+N_^()?E'3-L.5?R M",IZ$YH5'%473AT?4&)C=O$INW5\%7"#AQM(0A_B,$ZN MX"4CV\3A)?_']FED^\=JJXVBYOCS$M\>+KT,9P=FI@^LQ(5'$Z%1O:"W?/\N MRL(/5Y)-QV33:^C+#0U@U34(CS4\8RE%R1O.7"^3Y?,>X8&&]J,H98NP$A5\ M<2V(%:Q>4-%$]0PU/'9&&R8J8@[4RB[TEC5EUXQH:Z9YZ4#N>--9C'^7ZE)] MKC*X7!][>BT;V@8V'V-[C:;;?1=& R/E%5=9@Z$005QYSY6HP/'$E0U<=<]5 MGG&EE>5"RS.NA+9U7"U(-7#%\R%P0#,JDD)\U<_P0/1>6Z@_#;9;BCHU*3R6 M1EI#Y/3X+2X/74L($C^),BMD?I@E)"2IG^76 MDD;^-$_@#H6D==&C]K?[EI)%$S^.0C\*0XA2/\\*/RNFUAHF$[^8%LZ:Q'X> M9W!?U[1:;45=8K1<04CQ\PMJ>P@A&\5+*P[G6 J=X'3'<48(X10F4>['20%) MD?O9)(=TFOIAFI\A)9E%AM8A@ MK5:$8T>_D7\ZS?TBR:R8A)$_22?.FE(IIHDK4!K[Z22!2R,>G&UBNM2=>V\T ME+(3IE_*HW5\TE;])O_'O7\//S&UXT2MP9I"PYM\XH'JWYA>,?+@]OI6&GHE MG+BG9QF5=:#OM93FI-@#QH=^^3=02P,$% @ LEYC5]>1=^QT!@ J@X M !D !X;"]W;W)K&ULG5=;<]LV%OXKIVC., M1((D2+JV9VRG[69FVV3B-/NPTP>(A"1,2$(%(%_VU^]W0(J64\7-]$$B )[+ M=^[$^;VQG]U&*<\>NK9W%[.-]]NSQ<+5&]5)-S=;U>/-RMA.>FSM>N&V5LDF M,'7M@L>Q6'12][/+\W#VWEZ>FYUO=:_>6^9V72?MX[5JS?W%+)GM#S[H]<;3 MP>+R?"O7ZE;YW[?O+7:+24JC.]4[;7IFU>IB=I6<7>=$'P@^:77O#M:,+%D: M\YDV;YN+64R 5*MJ3Q(D'G?J1K4M"0*,/T>9LTDE,1ZN]])_#K;#EJ5TZL:T M_]&-WUS,RAEKU$KN6O_!W/]+C?8$@+5I7?AG]P-MD<]8O7/>=",S$'2Z'Y[R M8?3# 4,9?X6!CPP\X!X4!91OI)>7Y];<,TO4D$:+8&K@!CC=4U!NO<5;#3Y_ M>;US.'&.7=5_[K33Y"K'3C[*9:O[5TWB)O_CCFAT%-=EP-U=*9V\I:7Q:Q=ZMV,>-8C]+;=DGV>Z4VQ\%<\:P @"[@HG_UG*I M6QA'>X$\6[ :%;A2 X8 MY8"Q"6%H#S#* 2.>$\=!>!KI2:G]\H5C=6L=,?>@=FRC\:# M>?B_D6[#7K$BBGF!9QYE285G$J6)H&<:%8)C\?UW)4_XC^Q:M^WHAUV_'#86 MNO5=J,>(]4C1/(HS3KQ56D"4B"O@B/*RQ*:H,A8:ZVNS>KUSDXMYE$ 1B+.4 MY3EG693F!1,I9^\M&KSUCT&I@A.W:+F>)4D)IK*(65JR%/@%N/,D!KW:2@W2 M!\P%AR#A.,[I'Z*3@FA%/ADTN&0$L3], @PA3#+!JCB*XQ2:12S81RL;Q%MV"F^K$C&*N !X M$9/[R5>B?!*^E/7GUJQ967+PE_!1#I8\2A&O+*\0^#O,K2W"X%6]Z0UH'^&\ MO"!G5PC#W@(1Y3R>=K^9_G5MNJU"AL)S>1FSI"I8"92\*L?D&"L4:5%&(J1! M641%2HDA(H'L0H+DY/J$7D6Y*)X5\$D"G6E^B@4L%R46,+4J\$PY8A)CD9.< M4UBQ4I8*S,N'9P5V4D6IJ$A$%F4%L>:Q($&4'_STR1ZDW9?%^HI!39&79$ 5 MY16AA OAA5>L$L@WRG2$(,O0:C'$&V6'9AO2YX1*(X*C/-5YWRQ0QXA)_?F4 MZ@4!*))0() <7%,@=B2914\JB7/O7^.Z8+'P'FF9+_4R$N5-CD^K,KO>A MK^EU3_$P0WUTQV;)BYJ^?9:$M^0Z M, MC7D8MQ:-HM\-7)2(@#X-K7&>A&'Q;$[IOFYW)%7W@1"?)%O9/_[@)A-A3ZV. M3CZ8:)$YQN-KT"NKH6#,IB39R9$Y>N3H%VNC#6'*3LC6YW%->OL84/C'D.]R,AHTWVW ;61J/$1R6&UPF ME24"O%\9C(1Q0PJFZ^GE_P%02P,$% @ LEYC5R*CHY3' @ 4 8 !D M !X;"]W;W)K&ULC55M;]HP$/XKIVR:6BEJ@@GA M98 $[:9-:K>JK-N':1],>\[V'>.MT@]F MC6CAJ1+23(*UM9M1%)ELC14W%VJ#DKX42E?",C_DDB!TA%)A9A\!) M/.(E"N& B,;/'6;0EG2)A_H>_;WOG7I9!(, R=VG[ M73\]AY=U/(L[SB MED_'6FU!NVA"2D$YL!E#O=RV1AWF&'YR)<" M#9Q]\?)\'%FJYG*B;(<\;Y#9"\A#N%'2K@V\DSGF?^9'Q+*ERO94Y^PDX (W M%]"-0V QZY[ Z[:M=SU>]P6\PS:_SY;&:GHB/XXUVN DQW'&3LDCB6G%I8$:7 M][Z47&:E7!W)B2/H;=<& OCQ'$9LG"0,CCV<**#*:]0K_PN<\=/ MY9J!;[WMNIPU6^(YO-FU-URO2GHY @M*C2_ZO0!TL[\:PZJ-WQE+96D#>75- M*Q^U"Z#OA:('N#-<@?9/9/H;4$L#!!0 ( +)>8U>%2J ]V@( #X& 9 M >&PO=V]R:W-H965T T"9%RTN3 MD):VTC:&0 )145X^(#ZXR:6Q<.S,=M;MWW-.NM!*I7R)??8]SSUG^R[SG=*_ M38UHX;$1TBR\VMIV%@2FJ+%AYDJU*&FG4KIAEDR]#4RKD94]J!%!'(99T# N MO>6\7UOIY5QU5G")*PVF:QJFGVY0J-W"B[SGA2]\6UNW$"SG+=OB&NVW=J7) M"D:6DCTYO#.F A_-G]G=][I3+AAF\5>('+VV]\'(/2JQ8)^P7M7N/ M^WQ2QUPC4JWS+ M+%O.M=J!=M[$YB9]JCV:Q''I+F5M->URPMGE2M/]:OL$3)9P=]_QED[<^B#I M/5Q\91N!YG(>6(KD_(-BSWHSL,;_8)W")R5M;>!.EE@>XP-2.,J,GV7>Q&<) MU]A>P23T(0[CR1F^R9CVI.>;_"=M'U:"27N^7%-1EIU ^%S!>'77A^)/*3[+ M>5KQT;O HW?A0Z&H*(TUH"JP-4*E!!4WE]L9T$59;#:HQ]N"MUCL5Z)^)2;Q M%2\(UFG);:?Q. B\A(F?I-$PQA')_"P)X=3#" YJND&][3N7H:/OI!W*>UP=F^/UT!/^N@^=]1/36RX-"*P( M&EZ]3CW00[<:#*O:OD-LE*5^TT]K:O"HG0/M5TK99\,%&'\9RS]02P,$% M @ LEYC5X'SCK#5! 90L !D !X;"]W;W)K&ULK5;;;MLX$/V5@5L4-L#6(BG)4IH82)K>'IH63;K[L-@'6:9M;271):FX MV:_?0\IVDZUK="\/B7F9.7,[0\WI1IO/=J64HZ]-W=JSPGZV*IKI7[M/Y@L!OO4>95HUI;Z9:,6IP- MSOG)1>+E@\ OE=K8>VORD7^_07X78$+HJO=1[UYH[;Q! =+7=OP MGS:];"('5';6Z6:K# ^:JNU_BZ_;/-Q3R*(?*(BM@@A^]X:"EY>%*Z:G1F_( M>&F@^44(-6C#N:KU1;EV!K<5]-STM=;S35775+1S>MNZHEU6LUK1N;7*61K> M%-C9T>G8P9A7&9=;X(L>6/P .*=WNG4K2R_;N9H_U!_#R;VG8N?IA3@*>*W6 MSTA&C$0DY!$\N8]WB.>3C493#/MZL M%)4K)$59JEIR?EL8U2[HMZD[1[ Y=N=;&>8J054OTJB.\$T&XA1%J>@HH M3P%" 9UJ9LKLJT@;A?06%DHU7@=[0E=>ZSYQZ%*56R4>E$2O>5Y^Z2I;^O:+'E$^)YQG@V(2X$2W VY-&(AG(B1R1%Q&26T8UV\/$Q MQ1%L)Q.LN$A9G.582?P-8YZ/\)N("8MD1$=HE>QIE?PTK5Y5;>74TQIOYX$V M.42VX]CW((H P:A5CGD6H#H'$N_;\WL2E*A[99W7\6SK"01NGAR"^%[]M=$6 MO"G+KNG #81VWH#)U9\]3Z[P-?P)D0>YJ?X>V DXZ-]OV#6J)Z!=56L\JMS7 M2W+!\MRS"$7/F$PS?RJBF*4B\ROA[_UJF*&R2>RON4Q8'L>>U'/T6-$H&HH1 M9)G(!8 F+$V3$7D,D"IE60;2<>A(,"I/HF\NS8KR0Z)%BB>:0,!4B93.)PGR!%0H8,IQ'N>2C2 MMN# ]_,#^8^ _\@_]9SVLT %SMXBE\JZJ@D4\=[X I/3Q"=TIPIC1Z%$/XL% M-E<_0DSV@/+_ 42)=HCQ/T5$!X:/8H=:;#'%0R>3_^QD\L#)0R_;^-[H UHO MPX!GX5S7NGX*VI_N9\CS?G3Z)MX/H.\*LZSP-:G5 JK1LPD>,M,/=?W&Z748 MI&;:H8?" X/ M39/CK=)/9HUH8=<(:2;!VMIV%$6F7&/#S(5J4=)-K73#+)EZ%9E6(ZL\J!%1 M&L=%U# N@^G8^^9Z.E8;*[C$N0:S:1JF7V8HU'82),'!\I>(/2<"5!8ST)KI/1+'?Q/N 'QZTY.H.K9*G4DS.^5I,@=H)0 M8&D= Z/7,]Z@$(Z(9/S9V?4D& 908[/=_CL< 8;Q*X!T#TB] M[BZ15WG++)N.M=J"=M'$Y@Z^5(\F<5RZIBRLIEM..#N]+DN]P0J^<;;D@EN. M!MX_LJ5 \V$<60!:'D,9I=H8OZ\O-/%_V"M^_!S[=$%#6&T$PGT-)UIU2NY9 MPM-R#\SBZ"L:!JL&N$6@F:7RY7(Z">6&R6J/O&P"V6>T_B/2G<;+1& M::%5VD\?T0BDZ>ESO,!;2/(PSPIWR,)XF/05/K.2>13YLZL4DC3,BTN@YFF2 MX7NG43!+H9;M2&PR")-A!D58) 7,4&+-K7%F$0-=T?- 3=M,$[=< >YHL1D" M#\,XSB$/!WD,]U2K)N"PR("2YE?PJ"P3)+&@@&Q(ASP/LR2#4\V-CN:P0;WR MV\9]RHVTW4CVWGZA77=S_"^\VX9W3*^X-/31:H+&%Y># '2W83K#JM9/]5)9 MVA'^N*:EC-H%T'VME#T8+D&_YJ=_ 5!+ P04 " "R7F-70G-&?!0# #9 M!@ &0 'AL+W=OZ@X5G33:M-S1TFP3VQGD=7!J M9<+2M$Q:+E2T6H2].[-:Z-Y)H?#.@.W;EIO':Y1ZOXRRZ&GCO=CNG-](5HN. M;_$>W"3P+T]FH-7LM'ZJU^\K9=1 MZ@FAQ,IY!$Z?![Q!*3T0T?AOQ(P.(;WC\?P)_7703EHVW.*-EI]%[7;+:!9! MC0WOI7NO]V]PU#/Q>)66-HRP'VP+,JYZZW0[.A.#5JCAR[^->3ARF*7/.+#1 M@07>0Z# \A5W?+4P>@_&6Q.:GP2IP9O(">6+4^<19>?O"']F*1.(KH_9)J1+\>T-DSZ'-XIY7;6?A;U5C_ M[)\0TP-=]D3WFIT%O,?N$O(T!I:R_ Q>?I"?![S\&;Q1N W*UU5E>BXM?%EO MK#-T8?X])7E +$XC^D=T93M>X3*B5V+1/&"T^O./K$S_.L.W./ MSJ&O[NE1 MUCU5ZK:!GTNW/E6Z4_3/!CA-?XC4'5T2'2+IHTM2T2"LLZ ;H$-HM*0'+]3V M"JAH#ML-.3Q5#EYA->YD88>1D1+:0&6P%@X:7@DIW".\H-,RGDY2FN5YF'Q4 M=.DE=VBX%-^QAL[H5EBKS2.HP#2;QR6;0S:+BSF#UT)Q52%(I-=K(8_S8DIC M44[&A!W+R.(TG= XRPHBN7% P'UPKS2IBT%1HR2)O-7&B>_!"UZR.$O3"_\M MI^P"/FC'Y@5V[H/(?=0]]> M#^WJA_G0]-]QLQ6D0&)#KNGE=!*!&1KIL'"Z"\UKHQVUPC#=T;\'C3>@\T:3 MVG'A QS^9JO_ 5!+ P04 " "R7F-7@@"A$#L# Y!P &0 'AL+W=O M9,^>,AL/Y5JKOND(T\%J+ M1B^\RICV)@AT7F'-])5LL:&34JJ:&5JJ3:!;A:QP3K4(HC"\#FK&&V\Y=WL/ M:CF7G1&\P0<%NJMKIG9W*.1VX4V\_<8CWU3&;@3+><(5" M6""B\6/ ],:0UO%POD?_Z+23EC73N)+B'UZ8:N%E'A18LDZ81[G]A(.>U.+E M4FCWA6UO.XT]R#MM9#TX$X.:-_W(7H<\'#ADX0F':'"('.\^D&-YSPQ;SI7< M@K+6A&8G3JKS)G*\L3_ER2@ZY>1GEBO9&-YLL#% 4\T+5,REZ^*9K07JRWE@ M*(PU#O(!\JZ'C$Y SN S@58:/C0%%F_] Z(W-<<.+SZIN:ZYHZYS(76G$/Z]76NCJ'#^.Y:%/DAR M/(B]3#>Z93DN/+HM&M4+>LL__YA9;%#IN =3%(_CE.:9'X<97!;%-PZ:-*DJ&_\Z+@>-N(HA6L_ MFLW@D?+?-Q;"$IRMN>!FYSQ:MNN+JV8%PD7D)V%X:AG M;R$4"I<&(VGZOB8#JD4+:,U*QM60LXNIGTZR2XC\V32"9VF8.)DZ'Y *?5#= MHN*R@-2?)M%>^ZI3RGJU4NU%G<*"V,^2%":AGZ7)F6Q3]]#4PM[B4K+];#:E M,?&3; +'[D)PT,YJ5!O7M E*=HWI.]NX.[X+MWT[_&7>/RJ?F:)?KHE+2:[A MU33U0/6-NE\8V;KFN):&6JV;5O2VH;(&=%Y*:?8+&V!\+9<_ 5!+ P04 M" "R7F-77/5MSN$" !4!@ &0 'AL+W=ORYGSK$]PV@OU8O.$0V\EH708R\W9C/T?9WF6#+=EAL4Y%E)53)# M6[7V]48ARUQ26?A1$/3\DG'A34;.-E>3D=R:@@N<*]#;LF3J;8:%W(^]T#L8 M[ODZ-];@3T8;ML8%FL?-7-'.;U R7J+07 I0N!I[TW XBVV\"WCBN-=':[!* MEE*^V,WW;.P%EA 6F!J+P.BSPQLL"@M$-'[7F%Y3TB8>KP_H7YQVTK)D&F]D M\UX-TJXTLZV1B4')1?=EK M?0Y'"4EP)B&J$R+'NRKD6-XRPR8C)?>@;#2AV863ZK*)'!?V4A9&D9=3GIDL MC$Q?/LY(5P8WLJ2[ULP=U_4#6Q:H/XQ\0V5LL)_6D+,*,CH#.8 [*4RNX;/( M,/L_WR=Z#RZ]3XBOL^#2V[:&AWK 4QQXUB4:U0V_R_EW8"SY=8!XW MS.-+Z#7SY3GF+;A'8LY30WYWL_ H.)FG]NUS\W9*S\6*I_4\Y @K65!#<[&N M^YG_00V&'*RN!7)%7=O0T8X.VS.5:#-H' W3=!LLEJN;. MA_!CZPP$^2AV!$IAQU+ML6CKI2=,6+5V)K+3!Z+AV74K&:<[5#1\X!;3NF;H M:D;0#SNM_J #5Y"$[:@+7^F8;4;43UH)[:\@#'KM?@!/%9_KJ#]H)8/P WGB MI!V'0&-CA;SVM:)^U[H&4;L3G] (O:3;BKN1PXW;W1A.O1?_J--+5&LWSS2D M-+=#\D4S^ E!+ P04 " "R7F-7E2DQ*OH& !K% M&0 'AL+W=OKMEV_F4R:VFO:M9LBB*M'RY\7MV=CN1H MN_ Y6ZY:6IBSEB2D^+OUES[/21#,^+V7.1I4TL''XZWT M=\%W^#)-&W]9Y?_,YNWJ=)2,V-POTDW>?J[N_N%[?PS)FU5Y$W[97;?7NA&; M;9JV*OK#L*#(RNX_O>_C\.A (IXXH/H#*MC=*0I6_CUMT[.3NKIC->V&-!H$ M5\-I&)>5E)3KML;3#.?:L\]^7=5M.LT]N_9+1+MMV(L;FC3I)^4%'UGG=E8NV;_.ITU;HSC^?K'JW9'W[.%EF9EK,LS5FV4\YF53GS=4F'JTT-H X% MU?0%]8;=K&KO]VJ#_0PS]E>0Z]874U\/"6>?9FU%"S+,U7.VO*^KIH$5M[[< MP)$//[]C8R:%XE);C%S"8Q-AH)*8BYA&6DBNL79Q<\U,S)4VS"3#;U"+)'1NYW?ACN!!V1,;>.!I'C5B4D1',9 MN>"$%%PI2W\REDS!4A,S;;@5-KA 4BR\4MPD"=,QCUV">/!8Q;T#QRR)%!=. MLDCPR$@XCA E$ :+HD2QRZI&_M/6LQ?R)7N!-"7.8:!@GJ:5&'I M24RXB$PW5%&HE_FF#ICZAOPO2GA?^.LC3&(&)C'/9I+/756R=W55L+?W+:"+ M\%^&3N/KAJCDO:^6=;I>93-VCD;?'.*4HPH/$^,>,CF;Y6G39(L, 9@^A!@5 MZ7^0C>5.>TK:D45VA]DJ[+FLBG5:/ORMZ9LCF7SG43)Y-4/5S7DWP[&.TPZ3 MSP$>>18?$0H)882BKFZ_7OFES%HZW<*<9H][ '@7:C.[0WQ$"$X6 M&K RPC-FB01.;$ K3S0ER3HN$K4%APE914]5H>PB]-B0<8FN%Z%[8@E]U-B$ M7=79+;7+7K02Z/""19I'0E*QD73PA>QN)7&,OBXMUUB%=(/Z4$*C$T9_*6Q_ M,_ZX1=A(=S>B1%*PB34#1J167+O@%*T)V0--4"(< =6&[3'HT1P(OY22[C@Q M& '!'T=![&&L?UOZ[,\!EU;2OT 6*Z:9NPMO,UKX^ MK=:$PA*A"E"0 %=844 GX1HCP-:Z4*0H$M?U&B=0$"&M:.X1NM.[[-[/7VW0 MS-BZ1H ?Z4'!H4*#/,>HW Q572P=W8LU^E1$3*/1_K70J!-P1?R7HH%O) $6 MN@ I@"R\%<$^&\N (P>X!90E )X*EP %Q+L.6Q%W'2HUO47H8TF(N('S+MRB M(!M'C0CO3@GN6O32%0M2PD#L%,/OPP.31Q^ @-YE^,R%*W*U*=ON6]"P.GQ) M.^\^(.VV=Y_A/J;U,BL;EOL%CHK7,6[Z=?=IJYNTU3I\3II6+:@B#%<^G?N: M-N#YHJK:[804#-\7S_X+4$L#!!0 ( +)>8U<#&"F)I ( H& 9 M>&PO=V]R:W-H965TQR[[,7LK@GY^\ZN'1.D$*E]B?G";ZVP<1$X0<)S MY-P!D8S'%C/H*%WBYGJ-?N5KIUKFS."YXC_+S!;CX#2 #'-6?8 MX:6*&_\+RR;VF(+3VE@EVF12($K9?-ES^S]L))Q&;R3$;4+L=3=$7N4%LRP9 M:;4$[:()S2U\J3Z;Q)72//=6E7<'#/YAS- MAU%HB<(%AFD+-VW@XC?@/L.-DK8P<"DSS%[GAR2MTQ>O]4WCG8 SK(Z@'QU" M',7]'7C]KMZ^Q^N_@==6^&LR-U932_S>5F,#,=@.X6PR-!5+<1R0#PSJ)PR2 M_;W>272V0^"@$SC8A9[,R'99S1%4#I,TK47-F<4,OMD"-9PK09R%,\43PK5, ME4 X^*K,]L?:375?(+#&&^\M=* MHK2P1$V@!G+%R>]F^&\U #F-?"2I\[5&F:Z 'DD:RO8.SOZ0(6@B6$-.Y$RF M> @7F**8$VR_YYLDAG>POW<:]^*SEF^7]H.37OP_K-26MJ5M>Y-H/=BV%@@W M_"E0+_P4,B2LEK:Q:G?:#;I)X^^7\&9*WC"]**4!CCFE1D>?C@/0S>1I-E95 MWNUS96EV^&5!PQJU"Z#[7"F[WCB";OPG?P%02P,$% @ LEYC5]%'6]P$ M P =PP !D !X;"]W;W)K&ULS5=K:]LP%/TK M%Z^,#M+ZD4>3+#'TL;'"1D/3;A]*/RCV32)J2YZD/ ;[\9-DQ\V8XX[20+[8 MDJ5[[CFZQ_AZL.+B2BIDK M,X$DMD%IX@:>UW%30ID3#NRSD0@'?*$2RG D0"[2E(A?%YCPU=#QG$8U7TV$GKFEB@Q39%)RAD(G Z=<[]_X0(81)A@I T'T;8F7F"0&2?/X68 Z94X3N#W>H'^VXK68"9%XR9,? M-%;SH=-U(,8I623JEJ^^8"&H;? BGDA[A56QUW,@6DC%TR)8,T@IR^]D71S$ M5D 0[ @(B@![$&Z>R+*\(HJ$ \%7(,QNC68&5JJ-UN0H,U49*Z%7J8Y3X3BO M!O IC.F,T2F-"%-P'D5\P11E,QCQA$84)9S +2Z1+5#?(Z[WVF,]OD)%:"(_ MP!%0!G=SOI"$Q7+@*DW/)'&C@LI%3B78106S4VAZ#0B\H GWXRLX/OKP-XRK MU942@U)B8'&;.W +U@U-V]C4:D)A#>OBJL>%:82H?JP3F1%K51,P+UI<9B7#HZ#=(HEBB$[Y_YW>\CS4R MFZ7,9AUZ^*Q.%&7*ME3R4B60U)2VBGZ>H&,3F-=Y&7;;S6[0&[C+"F*MDECK M!6)O=?X-&"LB%&BG(SRB>=72:JE]LJ*M$OA[4,Q7GL/,CNE MS,Z^C=?YQWB=7JO=:E4;[ZPD=G88QH/?!ICR&&X85NFKY?G*\G3+4^@>B@N[ M>Y#9*V7V_M.%.]R'&W&J%">WQ%7IJ<_H!Y!RIN:RAKWO/7^'O4,SZ]V*5WZE M:XF^LHS^5D/B'XI?"R9OK/2Y+_%K^X&]6/:%E$&KQK/N5AMI6O)O1,PHDY#@ M5(-YIV?Z*R/R+C>?*)[9SG+"E>Y3[7"N_PQ0F UZ?$ \N,E-8LVQ M@^VTV[_'=M+0B:Q"B)?&'_<A'Q0!:*&QY)Q-?,*K:N)[ZNDP)*H M@:B0FYM,R))HLY6YKRJ))'6@DOEA$(S]DE#NQ5-WMI;Q5-2:48YK":HN2R*? M%LC$8>8-O>/!AN:%M@=^/*U(CEO4]]5:FIW?L:2T1*ZHX" QFWGSX60YLO$N MX"O%@SI9@W6R$^+!;CZG,R^P@I!AHBT#,9\]+I$Q2V1D_&PYO>Y)"SQ=']D_ M.N_&RXXH7 KVC::ZF'DW'J28D9KIC3A\PM;/.\N7"*;<+QS:V,"#I%9:E"W8 M*"@I;[[DL6VBELMS2TU.!UOF^J!R&!+&+.+E>H"67JRMS>;U=P>7$%%T Y?"E$K0A/U=371J9]S$]:28M&4OB" MI CNS#N%@@\\Q;0'OSR/OSV#]TUZNAR%QQPMPK.$6ZP&$ 5O( S"J$_//\.? MR8FZDD6.+WJ!KZ\VW^<[Y4KSHR_?#=^HG\_.B8FJ2((SSPP"A7*/7OSZU7 < MO.\S^Y_(GED?==9'Y]CC#>Z1UPB9%"4DQW\CHV1'&=5/?=X;PK$CM"-M'P^O M;TT9]J>>_@P*QS>CH(MJQ/HG;5:BS-WT4>"JT71<=]H-N+GK:_]W>#,=[XC, M*5? ,#/08'!MNETV$Z?9:%&YIMT);4: 6Q9F2*.T >8^$T(?-_:!;NS'OP!0 M2P,$% @ LEYC5TSH37D7 P HPP !D !X;"]W;W)K&ULS5=M;]HP$/XK5B9-K;21-T@H@TB%,*W2NJ&B;1^F?7"3 ZPF M<68[T/W[V4Y("4U1NV72OH!]ON>Y-^=R&>\HN^,; ('NTR3C$V,C1#XR31YM M(,6\1W/(Y,F*LA0+N65KD^<,<*Q!:6(ZEN69*2:9$8RU;,&",2U$0C)8,,2+ M-,7LUQ02NIL8MK$7W)#U1BB!&8QSO(8EB"_Y@LF=6;/$)(6,$YHA!JN)<6F/ MYK[2UPI?">SXP1JI2&XIO5.;JWAB6,HA2" 2B@'+ORW,($D4D73C9\5IU"85 M\'"]9W^O8Y>QW&(.,YI\(['83(RA@6)8X2(1-W3W :IX!HHOH@G7OVA7Z5H& MB@HN:%J!I0=H!3@5PC@'])P!N!7"?:Z%? ?K/M3"H #IT MLXQ=)R[$ @=C1G>(*6W)IA8Z^QHM\T4R=4^6@LE3(G$BF&.6D6S-40X,+3>8 M 7J+/F'&L"H@.@M!8)+P\BUWB#'%.6SA_ M9WW^Q]8;R7#K"^!J/O<)OLM,D)@DA2[W$J*"$4% )OL^2@J9;[1B-$4SFN:% MP/K9IBM4WYI%?6N^?Y3$Z$I RG^TW9'2BWZ[%ZH;CGB.(Y@8LMUQ8%LP@M>O M;,]ZUU:@+LG"+LGF'9$U2MFO2]D_Q=XL)7\HY1G)JH?WO*TR)>E DZK7RC9P M'-<;C,WM8?]%O:H4M6O9PZ#6UYBT6!\[0J;4:T0_JZ FQFN]9UL ZZD_FP=25 EOK<9>C MB!:9*-^_M;2>J"_U('DDG]JCF=TB#^4$7@[,#_3E^'Z-V9ID'"6PDJ:LGB^= M9>5(7&X$S?7,=TN%G"#U&UL MK5==DYLV%/TK&I+)[,XDB_@&Q_9,UM!I'I+LQ$W[K 79U@0D1Q)V^N\K 69M MT))MZQ<;Q#U']QY=2??.CXQ_%SN,)?A9E50LK)V4^YEMBWR'*R3NV!Y3]67# M>(6D>N5;6^PY1D4#JDK;A3"T*T2HM9PW8P]\.6>U+ G%#QR(NJH0__L>E^RX ML!SK-/"5;'=2#]C+^1YM\1K+;_L'KM[LGJ4@%::", HXWBRL#\XL(8O -K ME8Y%76+ -J W>#@9O 7W2) <(%J E)2UQ 6X2;%$I!2W"OUMG8*;U[?@-2 4 M_+%CM5"68FY+Y:Z>U,X[U^Y;U]QG7// )T;E3H",%K@PX--I?#*!MY5,O5;N M2:M[=Y)PC?=WP(-O@0M=S^#/:AK^)9=W #H-W#6%\_]FS_[S[!=B>'WB> V? M]PS?Y[K"'$G&9Z:5;;&^&:L/OYG8HQPO+'6Z"

>6$\+U)UFN2I=QZSCO]8E)L:]-O&D-MEFHVH^72DT M6U%5?8 R^NZ A99*"2$YR?5CIY:N&FI*I/B55O'(83=T(S@08#4V"YS(]0;A MIV,S+X["(!JH-#;S$Q_ZD5FCI-:%&1(@:/99][G!<(BV.9*ID_E$3073Y M_$MMDK$V 70'P:S&5DX0.D-E3%S.4+_,R!5#LRX.?*H^X:0RI_KQ"GNKF^G2 M13^)8F]XY!LM/:BL@X$V9DX_#I/!!9$9+5W?]8/A\6^?%>NJA-HV79( .:NI M;,NO?K3OQ#XT_<=@_-Z9K1S#>*H[MZ8Y>*)OV[Y/B&^)RJX2;]14\"Y2[O*V MDVI?)-LWK<(CDZKQ:!YWJOO$7!NH[QO&Y.E%3]#WL\M_ %!+ P04 " "R M7F-73EA_'ZT' ".30 &0 'AL+W=O^N("39M<_ M?@(38P%50O;XE\3&O)]7Y'TLB2=")_=)^B5;"9&3;U$89Z>#59ZOCX?#;+X2 M$<^.DK6(Y2>W21KQ7+Y-E\-LG0J^*(.B<$@-PQE&/(@'LY/RV%4Z.TDV>1C$ MXBHEV2:*>/IP+L+D_G1@#AX/? R6J[PX,)R=K/E27(O\T_HJE>^&.\HBB$2< M!4E,4G%[.C@SCWW+*0+*,SX'XC[;>TV*2[E)DB_%F\O%Z< H6B1",<\+!)>_ M[L2%",.")-OQM8(.=CF+P/W7CW167KR\F!N>B8LD_"M8Y*O3P61 %N*6;\+\ M8W+_FZ@NR"YX\R3,RI_DOCK7&)#Y)LN3J J6+8B">/N;?ZO^$'L!E/X@@%8! M]+D!5A5@-0*LT0\"1E7 Z+D9["K ?FX&IPIPGIMA7 6,RV)M_[IE:5R>\]E) MFMR3M#A;THH797W+:%F1("ZD>)VG\M- QN6S\TTFCV09.9M_W0194.@C(V_) M>YZFO% )>>V*G =A]H:\(D%,_EPEFXS'B^QDF,O\!64XKW*YVUST![FFY%T2 MYZN,>/%"+#KBF3[>I!K 4%[X[NKIX]6?4RWQ;)T>$OWK3 MT; +/8:)FR-"Z9,85X^Y%NLC8ADJ1GY9=X7I0'IZY(=Y+B_0+)%4TS*FQ[AB M+EO6P#S1,E^/_)W'3[5,*:FU$[15@B9__R&/DRN\]$>B<&LY]_,AWCURZM(&$N$N8A80P)\T$P13&CG6)&.OKL M;+E,Q9+G@LQYMB+K33I?R<&-K--@+KK4HL7U50L2YFYA3@DK)B%W,W,R-8WI MR?!N7P?MTVR#&NI)#-DP'P13ZFOOZFMKZ^OQ-'XK9V$DN=U6^)8'*;GCX::S MNEI8W^HB8>X69N^7;3RBC=HB,S*[K2?;LFPUI=\^:V+1R>XDI6C.KFB._DOY M+8BZJJ.-ZEL=),Q%PCPDC"%A/@BFB&*\$\48/[:/D8I!PEPDS$/"&!+F@V"* M8B8[Q4R>.;8_/:QK27V%,FGWG-;4=AJ]M3MI=>E=IWG(IC$DS ?!E.).=\6= M:HM[Q1\B$><9R9/MO4@JR$W518BN^]-S+:]OB:?MVIG3L>4T2HS,Z2%A# GS M03!%"*91NQB&5@H729P%"U%8%G)(*"9Z213)5UF>S+]T*4'/ZRN%BJ9^CVVC M,:5VH4D]*(U!:3Z*ILIAS]0RGYP]DN_D4SQ/PE#V_BD/@W_%@ERE211D69(^ MD/=)WMU'Z-&]E8&DN5":!Z4Q*,U'T50!T5I %#_3K)@HY2!I+I3F06D,2O-1 M-%4YM?UH:KVJ6=FOD#5_X#>A(,DFSW(>+X)X26YXR./NJ:>>V5LY5FORZ5BT M.2^!YO2@- :E^2B:JHC:7C3U_N*'?"72SJI#C40HS872/"B-06D^BJ:JHS8G M3?L (PW4I(327"C-@](8E.:C:*IR:H?4?,(B[>%MZ%&]!0,U3BO:_LW3>$P; M)K,'S M\)"(Q_^/!_'V_^/R?O7'G84>VU<14)I;T?8["VO4["R@*1F4YJ-HJB9JVY3J M;=.>*R7TM-Y2@#JE%6V_<[!:A@_D,HH*.[WH-CI7CG;*!&J+0FDNE.9!:0Q*\U$T54^U+4H/L"R3 M0FU1*,V%TCPHC4%I/HJF*J>V3ZG>/NUC<^A1O04#=50KVOZ(1"EU[$ES4()Z MI1U9S1%M+O;T44G5&MSO8.B!O2L-=4"A- ]*8[1C$>ED0IMR.(2S M26MGD^J=S=X.AI[76PU0>Q-*\Z T5M'V;YA&EM44PR'<35J[FU3O;OY/!T-/ M[RT-J-4)I7E0&J-M&[:Y[AN54!5&[7-2O<_Y8@<#:G=":2Z4YD%IC':L:;4G M=FLJ<0C#D]:&)]4;GGT]#*C!":6Y4)H'I3':-E\=.ITVM7 (C].J/4Y+[W&^ MT,1XZ77L ^O8)]:QCZP?PA:U:EO4&AU@G('ZHU":"Z5Y4!J#TGP4 M355.;;9:>K.U]WX'5OL![[%MC4VUL[S0I^TM!ZB)"J4Q*,U'T50YU&:KA5M& MJD?U[C^@/JO5]C([5.I!DS(HS4?1MDH8[NT*%8ET66[XE9%YLHGS[19)NZ.[ M3<7.RJVT&L==\]C;;@U68[8[E;WCZ3*0-\RAN)5(XV@LI9QN-__:OLF3=;GW MU$V2YTE4OEP)OA!I<8+\_#:1D][J39%@MP7;[#]02P,$% @ LEYC5X$! M%"K4#@ (I@ !D !X;"]W;W)K&ULO5U=;]LX M%OTK@G>PZ !-+5+?W31 &TUG \S,%I.9[L-B'Q2;B87*DD>2DQ;8'[^4[9CB MAZ_$]%HO;>R(A]*)*)U#'>I>/E7UEV;%6.M\71=E\VZV:MO-V_F\6:S8.FO> M5!M6\M_<5_4Z:_G'^F'>;&J6+7>-UL6L_7/SJ>:?YD>49;YF M99-7I5.S^W>S]^1M2FC8M=AM\CEG3TWO9Z<[EKNJ^M)]N%F^F[G=+K&"+=H. M(^/_/;)K5A0=%-^1OPZHLV.G7S>.8L MV7VV+=K?JZ=_LL,1!1W>HBJ:W;_.TV%;=^8LMDU;K0^-^1ZL\W+_?_;UP$2O M ?%/-*"'!E1M$)QHX!T:>&J#\$0#_]# WS&S/Y0=#VG69E>7=?7DU-W6'*W[ M84?FKC4__+SL_O"W;*O;=[DW1^C<2Z6\Y4?1[TQ-[G#B_ M5F6[:IR?RB5;&MJG<'M" 8 YI^_((7WF\ ,%$3^RNS<.I:\=ZE+/=$!P\UNV M>>-X[LGF*=P\90O>G.R:4^!HO.,9X>WP_!-XGV]N#3OQ 6S479[>-IMLP=[- M^/6G8?4CFUW]_6\D=/]A(@03+$4"D\CRCV3Y.W3O!%G'$? Q+_.67?S"+V)+ MYZ9LL_(AORO8\TCYSR^\H7/3LG7S7Q.[/B:[F& I$IC$;G!D-P!/Q>NL69G8 M EO9LK4'"W=@W6WR\2IR:70Y?^RS@-2CQ$)X9"$$6?B0%\7A&KLM[_8?:K9@ M^6/&S[#FM5.RUL02B&K+TAXLZ+$4N#Y56$+J46(I.K(4@2SM),M%=7^Q;9B3 M[4:=B100Q):42".%DE E!:E'B93X2$H,DO*IY@JQ;K_M3A[&+U4;KMF,)PN( M8\M+K/%"2*S0@M2A1$MRI"49H(5MLIPS\I7KYX893Q00P9:01" M)4:(*W2@"W+R+R[S:F#@P,UM"3F@]1EQ%3JP.I3YZ.EB O+Q1]5FQ>'V;>0# M;&[-!]&OKW&H74NP.I4YH8(3"G+2D_A&2L#6UI10C9(+$@:>.FRP>I4Y$6J9 MP'(Y9?>L[A1@FWUUB@&"4$7T 4TB*/'"1.7G'/J8"(%,0(5X]1MK#U<5[O'W M8ME(#:H"/J#UJ?%H%*CW(*Q.96J$NB4#\I9;[7S)ZFPW [*[([WJ).]KY[>J MY2Z:W[3G5>TT;;7X\J.1-%0A?$#KDQ8%7D14TLZAA8D0PP16PYRT-B\?N(QQ M6%:7%]6V/0Z[;WO^=FH'8 U5&!-=&6MWLG/H8B*$,8&5\?Y.)IUL1EI0I3'1 MM;'Q9#J'.B9"'A-8'__T=='-?2VD@5@]MILD?RNX27^V^ M+_5+FO/JYZI:/G%S9C[E4.4UT?6U3T/BJ=R>0V(3H;$)++(_W]PZ_W.N=U.8 MG-":%3MZFU6^,=\<414W*EJ*A29/+PIM3MU)9IDHJH9'14NQT&2*A=RGL-SO MD;D?VF^-!***?JJ+?L_W/%7 874J,R-$/X5%_WX<_U%G2W[ER];,R NJ\D=% M2['09/J$/Z#>-&,7U3N@HJ58:#+%PF)0V&*,'+NH#H/J#H,FL7H+QNI3)D88 M# H;#.46?)!BI9BHT)A>[(?ORE[9$6UZ?P'6ZS*B@_A;T9^4$T& M*EJ*A283*;P(3:89PZ@>!14MQ4*30P/"HWCP\X-Q8Q@&L8X1Z$\1_"!29_FP M^I2)$<["@YW%?A#_5I47BVJ]8:U10,,8UKQ@HJ58:#)_PG]X=)*QZZ%Z%%2T M% M-IKB7^(&?88P8O4IQUN%K/=A63\F*@5#6*=7=5%/ NV< MP>I3ID6(>A\6]4-I*;BY-27Z@P(2J&()JTN9$2'3??@QP5!>"FYNS8@>#HJC MR-,X.8>N]H6N]F%=/9"7@EM;4V*( Q$O#%4[C-6KS$DO, ^+:IN\% QE39 ^ M97]!?#]2;]18O5D4/5H!%M0:H:"D6FDQQ;]$L;"!&#E[<1;2Z?Z T5.TX5I\R,<(^!+!]4&_"0!X* M1K)F!S6L@X4FLRCL1!!-,X)1304J6HJ%)E,L_$< ^X^1(QAUJC[038H7:Q8% MJT^9&&%1 MBB'$;PV$04C&;-$&I!PM-)E"8D'": M-04AJD]!14NQT&2*A4\)X<<4(PN]OV>:%00A[AM]4$T)%II,L3 EX< SCA.A*+B9-66FI ]1 M72Y6GS(5PCR$L'EX\>NB4.U$:$K^N&I^#*M/F2IA)T+83HS,1,$HULSH#RR" M0%-HYW 'D7 'T5#J9VPD"@:RY2;2LS^>.@&,U:-,C5#U$:SJQP2B8 AK4@R: M7LTL8/4HDR(4?00K^J$X%-S? MKK\(7%7(8/4ITR-D08O4I4RL$=CPF6F^3 ME8(!K4E"#?)@H3[-X-D85\*AH*1::3+'0^C'&XED8Q)I P^)9XJOZ M#:M/F1BA^&-8\3\/9#@K!8-8$X,:Y,%"DPD4_B">9C%MC.H=4-%2+#298N$Q M8MACC!R\J!8C-BP;"%6UC-6ES(MP&#'L,+2;,)"5@J&LV4$-\F"AR33V7K\? M3S."<5_/C_IJ'RPTF6+A46+8HXP+#290>%!$G^:H8OJ4E#14BPTF6+A4A*, MY08PB#6!^O,+HCW=P>I2YD58BP2V%K>LSO?5$F_*9?Z8+[=947QS;M;KK.6_ MR@K'6'O12!ZJ_T!%2['09):%44FF68V0H)H85+04"TVF6)B89.#)R8EL%=S, MFC+3(NE(6X"0Z&NNQ4U;/L!>-3#80KPT,07#6A-@>!V0&\1J_,6P&8D2W\P! M]3/<-([/+U O9:;-@L]>NJH>U6^W*$XS]BDTP"2_8$; MWO[O:J] -&U& G+BG", MFH;.;-SR7*X^24]"K0".8:N3Q]HKNN7"<^^#U>O@]O;'J@=N2,!/9_UP]0WC M((Q.'7&OEI8+R]"AVG1P<_L#-B1H/!IHJ0?CAD$_G:4<<:\0E@L+3*O*'K<]@7E%^WM8*%A@U/GMZ]BE8N/#T]MJ@<#&-_U'K0)0F)7G'/L!U-_)/W MZ%ZY*G/@#NP9T54;I=3SM%I4A@VCI'=Y4"CI59ER8?&&4 \.[L&> M$UVAZTU8A39(3A/3KN X4NJJ(%5L MA;7<9-7#?U8NZZ8-B0T"D]1UQ.# Y5=7SA985?@#;D^+"I9185+T> 4GGO:>* B[;@)RP$4>Q9UX9NXKJO=*$VE:T/W MY!#O">2!:K,O'^)P@&>@7WNB4/,E:' *[SV93J99_4F0Z]:BPJ5H< K//4\P M4.9V[+#&M02&.K>!KZUS-&U&>V_F50ZZ9P@&"M@BW+>!9,] [_9DH09/T. 4 M]GO>@TQ35HH@U[Y%+GY[ENJWI%?^EL#%7\<.;=SRML]P\@L)J38S;=C,#T[Y MN%Y!6C)0D?;E0WMLY&=@#^P)0TVDH,$I?X&>*:+3A.<);GE<7+@4#4[AN6=\ MX/JPHXR +--"Q/4NH414T.(7X MG@NBTV3J"6[%7%RX% U.X;GG>N"2L:/'-*ZG.<#UTP&Q;K$-6]%$%>/S9L58 MFV9M=G7)9?(#NV9%T4TN;DO>JKN-'[]U:G;?4?+V/9W->4NQ^=7E)GM@OV;U M0\X';\'N>5/W3;>NNNZ>MC]_:*M-!^G<52W7Y+L?5XQ[[KK;@/_^OJK:YP]= M!T]5_66W>U?_!U!+ P04 " "R7F-7L&Y2F9X" "[!@ &0 'AL+W=O MW.3:6(OMS';:[=]S=M+0;J$@Q$OCN]SW^;MS_27>2'6O+48*A6OBX5T,R!>.&'03#T.67"2V*7NU%) M+"M3, $WBNB*IE#(S=CK>=O$+5OEQB;\)"[I"N9@[LH;A9'?LF2,@]!, M"J)@.?8FO?/9P-:[@J\,-GIG36PG"RGO;7"5C;W "H("4F,9*#[6,(.BL$0H MXZ'A]-HM+7!WO66_=+UC+PNJ82:+;RPS^=@[\T@&2UH5YE9N/D'3CQ.8RD*[ M7[)I:@./I)4VDC=@5,"9J)_TL9G##@!YN@%A PC_%A U@,@U6BMS;5U00Y-8 MR0U1MAK9[,+-QJ&Q&R;L*QL-7E';D'C(#21 M2_*Y!$7K_*62G%#Q1/9A"C)R? &&LD*_0?#=_((<'[TA1X0)\B67E:8BT[%O M4+#=UD\;<=-:7/@;<1&YEL+DFGP0&60=^-EA_.@ WL=!M=,*M].:A@<)YU"> MD"AX2\(@C+KT_#-\3T[4'E[D^*(_'=Y,\@43M+X8(B,3K=$ =HZ4?)\LM%%X M:7YT'4.]3;][&VLDY[JD*8P]= H-:@U>\OI5;QB\[YK!?R+;FTB_G4C_$'OR M44D8U?6N:&^; , !$+ 9 M>&PO=V]R:W-H965TY2O+4% M^-8V#VD6N]WVH>@#+8TM(A*ID)2=_GU(2JO8,N,&S;Y8Y.BIS.$U,33];/W7TSMJI8M%K!BU5^DD.7<>>.@ G:XK>0# M._X&?3VQ]I>S2IA?=.RQGH/R5DA6]V2504UH]\2?>AU.",J/G1#TA&!,B+Y" M"'M"^*T1HIX0?6N$N">8TMVN=B/<&DN&/4-6^E%J+XGCY*K MMT3Q9+9LA;((@1;YQY8(HD]/H)_0/6?(G 1:*0.K2($E%.@!A#H!@=@.O6^ MXPY^LP:)225N%?'I<8UN7MVB5\A%HL0=:' .U1@'\ $[VXP]^ MXOUL.X&7=+9^26>;%W)V=E;1<%;1->_9KYRI@^)P -J"]9_8\1/#UU^;0Q:$ MTR2,9N[A5%X;+(F]]!RVOH0EJ1^E_CEL8X%-O23^XNVLV'@H-KY:[._J]A&: MLQILA<87,?TP2$8%K"RH)$W"49F7J#",PWA4Y24J\J9!8B\R&8I,KA:YQ(+D M"#"GA.X%4MVYZ[_H1O7<@E45YB?66YL278#T)"]O\F8LQ"7(G_AC'2Y!P208 M@38V4!K;54@'%=*K*JQ)U>H/U7?ID-IT2$8Z7(+\B3<=Z7 )"B;^2-&-#92, M;X-[\HVO@>_-<"50SEHJNQ8]6(?Y;6'&EI%]Z=^M?(M]K>:];CS[XKX;%M]A MOB?J,U_!3H7RU!DYB'<#6+>1K#$3QI9)-:^89:EF5N :H-[O&)//&QU@F(*S MSU!+ P04 " "R7F-7_N=K%<8" !B" &0 'AL+W=OM M-<<.MM..?X^=M*%KT\(D>$ELYY[CB'ZDZ:GMNQ%+0$KJC@2,)\Y-SX MU^/4QCCIS4007,2BEH9F!JZVNBP;&Z^F?.VG1,?F7,*U14*O N$/1ST MP,>GX1/(#=QOX/@YW#7NNQ3@+@6XX0N.\.W:_78S4UJ:O?6]SU;+$_;SV/-V MK2J2P\@Q!TJ!7(&3O7[EQ][;/I/_B.R9Y:"S')QBWZZZ_.V\SV[+$3<<]C98 M97[BA7$\=%>[1GK"PH&7XB[LF<2PDQB>E/@1E+I&A)EKAO L#"*@Z1?9]SIC$_J[$[Z'S9 ?#@[#@/L[XD\#!M$OA?V:TPZCYMZH\,B>33O-Z8OS>G0'I(?'!F,OW-\!AV$#G,;[0MV="F"K[R.?Q09 HJ]Y5HBYM9&R MO+-MD6P@)^*6E5"H)RGC.9%JR)]L47(@ZQJ49[;K.*&=$UI8\:R^M^3QC%4R MHP4L.1)5GA/^[0UD;#>WL/5\XSU]VDA]PXYG)7F"%K>>6HQ5!!HG4%$3];&$!6::9 ME(XO+:G5O5,##Z^?V=_6R:MD'HF !<[1#7T8I-7]2UJ=$J&UKH:5Q)KIY2A9/QDBM'B?*.H M!Q#B3JWSI,JKC$A8J^6I>&Z.?6>W3B-\\/\)$IAX)!F'QHY+IV D4HA^\X>:2:[>$JNT0[@ M?3^ O6NZT]AM7%R*D=CZI=AW(=CN+.TS#UI8^",^[Z!-L]Q^+^']02P,$% @ LEYC M5[);>Y8. P ]0L !D !X;"]W;W)K&ULM59= M;]HP%/TK5E9-K=213PAE$*F03*NTKJBLV\.T!S=<2-0D3FT#[;^?[82,0,JZ M+7LAMG/.N;X?W-SAAM '%@%P])0F&1MI$>?Y0-=9&$&*68?DD(DW"T)3S,66 M+G664\!S14H3W3*,GI[B.-.\H3J;4F](5CR),YA2Q%9IBNGS&!*R&6FFMCVX MC9<1EP>Z-\SQ$F; [_(I%3N]4IG'*60L)AFBL!AIE^8@<"5> ;[&L&$[:R0] MN2?D06ZNYB/-D!>"!$(N%;!XK&$"22*%Q#4>2TVM,BF)N^NM^@?EN_#E'C.8 MD.1;/.?12.MK: X+O$KX+=E\A-*?KM0+2<+4+]H46+>KH7#%.$E+LKA!&F?% M$S^5<=@AF"\1K))@[1.<%PAV2;!?:\$I"/\BR-\7<2A"H:U#<;8.BHX@[R#;.,<689E-]QG:HQI\679MB?IMB04MB MM43TJD3T_F-7Z+69H#;%_#;%@I;$:@ERJP2YK70%]_"_['3WNT(#R.I9>UWA M$.08[AXH. 39KMG?:PKZSAR3 EVJ 9*AD*PR7GRXJM-J1KU4H]G>^=@<3,R& M$BYE,+2,QEP.5 M /%^00C?;J2!:M+W?@)02P,$% @ LEYC5[J-15H6! 41( !D !X M;"]W;W)K&ULM9A=@=X'H>F> MB\]R2ZE"7_.,R9FS56IW[KIRM:4YD6=\1YF^LN8B)THWQ<:5.T%)4@7EF0N> M-W%SDC)G/JW.W8CYE!4[$MP7-^'[F8.?QQ&VZV:KRA#N?[LB& M+JGZM+L1NN6V69(TITRFG"%!US/G I\O("X#JAY_I70O#XY1.91[SC^7C>MD MYGAE132C*U6F(/KO@5[2+"LSZ3J^-$F=5K,,/#Q^S/ZN&KP>S#V1]))G?Z>) MVLZ[-,L0X0EZ)HIPC;I?4;1A914231"2ST/DD*?X6O4=GY]115),_D&O4(I M0W=;7DB=0$Y=I6LJ,[NK1G]1Z\. ?HP^<*:V$KUE"4V^CW?U6-H!P>. %F!- MN*2[,^1[OR'PP$>?EE?H]:LWEKQ^>Z/\*J]_[$;]<\OUKYX2>R*2?_M&7"<* M^A.5-CN7.[*B,T?[2%+Q0)WYK[_@B?>[IM],0J?9'\IZVB8:%Z12<=4;]?+VSU0JN>?OK:[@Q=%D)0MOJ&[@1A M,B,5:+11&&>CD0 M=53'$'J^UZ\;M[JQ5??ZSW=]8M:@)YH#>X9VWG.YN,GTS)4>/ M+O9B'_J?' 8C#C]OY2;'H7@(DP%I@UELQ>,Q*S?1AZ(#\Q0;9&([,U_*S8WL M*;4:QF([9(^[&7<1&^/).!I0-HC%=L8N[I:].<#2PX@8#9;!#^21;0W?]BP'&@W/' MP!?LR^!CQNY9SN*!-R 8CH*=HR_F["YZ1WXX!"(#7K"#]P1KQYW/,1\\/_J1 M^>[!5WY.Q:;:RY!HQ0NFZ@_^]FR[7W)1[Q*8[O5FRPJ=A7K4 MHMZ_J!N*[ZH]@WNN%,^KPRTE"15E!WU]S;EZ;)0"[2[2_']02P,$% @ MLEYC5V%Y(8&I! *R$ !D !X;"]W;W)K&UL MM9IM;Z,X$,>_BL6M3EMI6S 0TO222&W,WE7:AVJ[>_?B="]<8+4V0YHV%IE,2F;5F>F= H-:;CLNTFGX[Y2L91RFYR)%9) M0O.G*Q;S]<3 QJ;A6[18RJ+!G(XSNF"W3/[(;G)U9S:4,$I8*B*>HIS-)\8E MOO!MJS H>_P9L;78ND:%*W>^!S5@<%R0UCW]K MJ-&,61AN7V_H'TOGE3-W5+ 9C_^*0KF<&.<&"MFMFY7L9.$(EG8YSOD9YT5O1BHLR^J6UBE>4%E^46YFK3R-E M)Z>_8Y+<1$[PF3-(K%B6K]<4O0 M^WX9WT&>>RJ5 ?AJRL,>>Z.U' M&GM3A:*)A[V)QY6M!=ZR[ PYU@=D6[;3,Y^9WOQK(,^0A4MSN\^=MXWN_^_1 M.\%PFB^'4_*9, +D=& M30R5X@3+'Y@Q_?47[%F_]<4=$D8@83X0K*.0VRCDZNC-X]L7_LK2*RV+]\7# M%-OV8&P^;(=5BS\TK*\9T0<:L1.N01.N@39\U[GE[KA+GG=R\,AV=X+RO)?M.E[;J^.MUWCK:;V=E:\/EJL7 M>ERZ+)91UINDM9Q#GU1(&(&$^4"PCAC#1HSA,7/I$%(A2!B!A/E L(Y"YXU" MY]K'94L46HKR :T$FZ]B%$=SM?Q1*YTG1G-QTJ>/%GVH/I PHG<:VY53R$5) MM9*R7132I[XTX0/-JZ/.J%%GI)WH]YR&#*4TZ4W86MM#PP\)(Y P'PC6$0!; M;:E@'3.%U70@D4!I!)3F0]&Z.FV5=/AXB4S//E@E2!IYP6^G3F7#32KS]F8R MJ'EU%;);A>S7KB=<5HBUQ\U"H7@Y:YH#0" M2O.A:%V=VE(7ZVO=MZ4UR$)W!DHC+_B-2[>0L\EJ^'Q_6CM&<8W;ZAKKR^LO M/#T->)(QV;M(TUL?K $DC8#2?"A:5X>V[L?>43,:Z'8 *(V TGPH6E>G=DL M:^O9-V8TT"T!4!IYP>]#%FK'V!' [98 UI?'A#VPF&?J,9(L6*9>L4 MK?]!:024YD/1NH*TNP!X=-34!KI1 $HCH#0?BM8]16OW"FQMC?NVU*9G'ZH2 M*(V\X+=7IS:O3FV]AWB@VP/FUN&O*BD7Y:F[0 %?I;(ZZFM:FY/]R_(\>Z?] M"E_,<$\[P1=^=6[?XJN?$7RF^2)*!8K97 UEG0W5LB>O3N:K&\FS\NCYCDM5 M[Y:72T9#EA<=U.=SSN7FIAB@^7W$]"=02P,$% @ LEYC5_#O3;@*!P MBC8 !D !X;"]W;W)K&ULM9MK;YM(%(;_"O)6 MJU9:U\P-0]:QE";J1=I65=/N?B;VV$8%Q@LX;E;[XW? U,-EYL1XQU\28\]Y M?=[A##P^P&POLN_YAO/"^9'$:7X]VA3%]FHRR1<;GH3Y:['EJ?QD);(D+.1F MMI[DVXR'RRHHB2?8=;U)$D;I:#ZKWONL-CL;\> MH='/-[Y$ZTU1OC&9S[;AFM_SXMOV5993P-(]$ZF1\=3VZ05>WGEL& M5"/^C/@^;[QV2BL/0GPO-SXLKT=NF1&/^:(H)4+Y[Y'?\C@NE60>?]>BH^-W MEH'-US_5WU;FI9F',.>W(OXK6A:;ZY$_[BXHO8O^>U(5;J+42<5W^= M?3W6'3F+75Z(I Z6&211>O@?_J@GHA& J"$ UP'XU !2!Y#*Z"&SRM9=6(3S M62;V3E:.EFKEBVINJFCI)DK+W7A?9/+32,85\W="+/=1'#MANG0^I$68KJ.' MF#LW>+.K\WA_RP(;][OGWM$/L%RE5_DV M7/#KD5R&.<\>^6C^ZR_(^8F@>F=EL=>7@FC]1Q-7WY)MIJER^H,[2\+8FU M+$^/EJ>VE_;4IG=+8BWO_M&[;V=I^[UJ(PCW%TQ_&,9RF*\ORN"896!M:0>: M)>OZQ/,[F6K&^5/7=!!"KCJMNO]C;=?!S6,?=JF'N]G5XUJKF[" FM)KG/71 M&>O;^=?Y*%=!LDNT28.20\O=EEI[ M1Y'%D_D2.K9W);:FW_ZER.X)/YMYRO M=K$31RONO)2(]L3#+'^EM0T+H2I4ZQ ,/->AX@ $@X"YQ,,?QA(')0?O8DMJ M[0E0=(&8]1('@66P?TMJ;?\*81#,, -*'!9"TT.LUN,ED 4I9D$@%LR_9N&2 M.VF8<*TOJX!B2ZUM52$*\JV7,T@]@_U;4FO[5_"#8/HYF=%J':]#7[C+%GWT M09[O&W[38$4^&":?(92&^WPS1E//8YU-80$S)*@[", ?!F%8'MW[)>GC: M30[UD@N8:\BLT6@ :"QLF$J@V4&]Q?LIX1,E,9''BN0P4E&.YYM,O:3&*PS.#=>@D2P8I$L&>]K*WV56RIM?TK M2L$PI0PH:UB(F4$,CCS7HJ(3#'=0CK\V'L+%]UBLM>:LXH@MM;9AA2,XL%[3 M(. ,]F])K=T+5YA#8,PYO1O>[_40.J5=Q"%]Q,$!18&>(X@B' (3SA <(WV2 M&1.$W6Y[3S<.3XD)QXB"'@)##XQC=7!K)AGI75; _8ET?<^06N/B!]SGZ"YP MF,I@L:&E;DNM;5U1":&VESJQVDBQI=;VKYB%P,QR^NGK&2$SE<&!YSI4@$). MO-S3*&XSF\%B@W?N)=B$*#8AUB_[$*MM%5MJ;?\*7 @,+@.*&Q9"KAG.X-!S M/2I6(7#KY)-(QPN1;'FA;9/!T8/WYR6XA"HNH:[M>J8@Z0SU;TNM[5_Q#H5Y MYV0NH_WF#J(!Z;;):)]U$$7(T-^A"G4HC#J#[E/H(\T884)1-U?=.(1-UUVI M@A\*PP_,9;1_)P=F02\YTN!.1V-MPT@&ZPRN\DL@"55(0JU? MVZ%6.RJVU-K^%;!06]=VGA'"YI,6''FN104F%.YU= K;C&.PSN =>PDV MQS[J$&R\,8HITF$PZ0S!,M8GFC'R*>JVR[3C*'&9(5G%/NP9]H%O(*5]+$,N M[=YCIAF&?(\8&H^L<7,KW.S0+7.8T&#!P05_"4)ABE"8]6L^S&I?Q99:V[_" M%V;KFL\S0L")#(X\UZ)B%09W/$P5;D8U6'#P'KX$JC"%*LSZ%2!FM=-B2ZU] MA[SB& _FF-,K_!DAJ',&AP[U.&D\*%0^I?4QS-91FCLQ7TEY]_54'C.SPX-/ MAXU";*MGAQY$48BD>KGAX9)GY0#Y^4J(XN=&^3C2\?&S^7]02P,$% @ MLEYC5UB!5NOW @ N0@ !D !X;"]W;W)K&UL MK99=;]HP&(7_BI554RMMS7<('41J0=,F;1HJ[78Q[<*$%[#JQ)EM/OKO9SLA M F)0+W8#=O*>X^N*? 4%%K>L@E+=63!> M8*FZ?.F*B@.>&U%!W<#S$K? I'2R@;DVX=F K24E)4PX$NNBP/SU 2C;#AW? MV5]X),N5U!?<;%#A)4Q!/E<3KGINZS(G!92"L!)Q6 R=>_]NU-?UIN G@:TX M:".=9,;8B^Y\G0\=3P,!A5QJ!ZS^-C "2K61POC;>#KMD%IXV-Z[?S;95989 M%C!B]!>9R]7021TTAP5>4_G(ME^@R1-KOYQ187[1MJZ-8P?E:R%9T8@504'* M^A_OFGDX$/C1&4'0"(*W"L)&$)J@-9F)-<829P/.MHCK:N6F&V9NC%JE(:5^ MBE/)U5VB=#*[SW.^ACGZ1O",4"()"'0]!HD)%3?H(WJ>CM'UU0VZ0J1$3RNV M%KB7 L=U7B M-G;0Q@Z,7WC&;X)?\8RJK"H-,G. J4"_[V="SH_!A&SZ\Y)Z-UIQ#*5'%N-E*;($HJ*V :+,( M7FWQ:\_$>.IWPR;SHRA,!N[F,)>E*O12OZTZ HY:X.@B\'Z1;G".-;$-KW:( MCP8.^\$)GJ4JB)*>'2]N\>*+>&HQ<4:I64L<*)8*5>(=6+=)W"6(_30\X>Q6 M)8F?V#&3%C.YB/D )2R(M%(EEO$2[P2J6Q3[!T5'4+T6JO>F1ZN.):Z>;;E$ ML%,GE+!/7J]#D'I>=(+9+8KBZ QFVF*F%S%_R!5P&U':G;@T.7V:W:(@BOIV MHGY+U+](],0DIC:B?F<')E$8U>[U<]9V , @0 9 >&PO=V]R:W-H965T8E&ZY^0<\O+R33>\K%=NQA[^>+SVRUUN:%/QE59$5G5#]4]Q)&?L.R8 4M%1,EDG0Y]M[A MZRE.#6M EV7#]66S_H#M#B>'+!5?V+]KN M8@,/Y1NE1;$#@X*"E?4O^;Z;B , CI\!A#M >"X@V@$B:[169FW=$$TF(RFV M2)IH8#,/=FXL&MRPTBSC3$OXR@"G)Y^$I@K=DR#G M.Z'O:Z'A,T)GM+I"47"!PB",'/!I-_R&Y@#'%AZVX3Y,63-O83-OH>6+GN6; M:W1;*BTWD-0:??T( >A6TT+]XS)7L\5N-K-7KU5%R)K&8\:XU$7^^0#*TF94\0I;![G.M;XU.)-%7F<1%&$]D+>,XV!_;0>=J?Q3EZE)3 M64#/,M<7:"6%X^1'NF:,DY5@D'IK%M*T'V]8)'[S%"\K2#UF4^G%$$O9TW9NIEZZN907Y%G_Z[#D]^$RR0UG$\8]LX79YW5.R/6(! M\WB&H.+'CLU9$&0DL1__E-#>7C,K//S\2K?S@Q<'LZ IF\?!=W_)U]>]28\L MV1/=!OPA?G99>4!&QO/B(,W_)\_%MH;8V-NF/ [+8K$'H1\5/^E+^44<%&C: MF0*M+-#:%NAE@=ZV8%@6#-L6&&6!T;9@5!:,VA:,RX)QVX))63#)SVYQ.O)S M:5).IU=)_$R2;&M!RS[DALBKQ2GTH\R[CSP1O_5%'9]^B3E+R3W]21:)#0S&7EO,D[](/WC:L"%? 89>*74O)#2SDCI MY"Z.^#HE5K1DRX9Z2UY_(:D?B,/>'[OV>NPWFA0XVZ[Z1-4_$$W15/+MT23O M?V\\+CGFD6WZ1%=RC"[!F'+,5X_WB:+F&$V"L3![8V/VQI%C3.:)O7D;X[; M*.,,HXZ:,34'Z'OWZSE7/\M=<'(;I3S9BNLQ)W]]%AN06\["].^&O;PI:,-F M6M;,7*8;ZK'KGFA'4I;L6&_Z[C=UI'QJ,HTJ>K*J9]< MD&K- N.]!<92"WS/[^/84C0Q+!'WI<2/.!,RG(B^O>C9TY10LF&))WI"37VT M&RF^JST*V.3@*U/ZBGYD#:2BU4;11BHZ2)@+@M6L,]E;9R*USB.+_#@A\X2) M/@JQJ7>V>R+E=/4($F8B81829B-A#A+F@F USUWL/7[0#H/"3.1, L) MLY$P!PES0;":\U2E"L44Z?7NG1F](B9V]@:294)H%I=E0F@.EN2A:W85:Y4(-VB:6.)0%D3032K.@ M-!M*FB8KE@>9^2UE-DH4-SH1 M&IV7M(O#9J.O&<=M)#04;Z5I0S4=*,U%T>K.J1)O51YYSUHVF]"$&THSH30+ M2K.A- =*R\TUQ:'RM:P]TD-(-O*VM#91THS471ZGZILGI5'M;_XB"?G-K9/^.3 MNW--F3389WQRPM6)<;*=U\BMA5><:>MTGB3)=] MI/](^]!=3NY\UJ&Q.Y1F06DVE.9 :2Z*5G=C%;ZKV/1=A<;O4)H)I5E0F@VE M.5":BZ+5)V=6(;PF#^'OZ$N>-"SB1-3ZT8IX5,B=N0;*85T-"*694)H%I=E0 MF@.EN=KIL(1J'$\5J[NK"O0U>:#_P'9QL,M<==3 =FIYY2*=70?-^*$T"TJS MH30'2G-1M+HQJXQ?PV;\&C3CA]),*,V"TFPHS8'27!2M;L$JX]?>R/B[M;S0 M:!]*,Z$T"TJSH30'2G-+6FU"P&O3>Z;EK<8!-/DX0.O)%7).9V,-6T^N@ I; M[85MJ+#3('QF<@5*M^Z(*I_7Y#/:Y7VQSA,OY&J=?0.-[Z$T"TJSH30'2G-1 MM+I#J_A>&V$[9= <'THSH30+2K.A- =*ZN:O1!DX\^S%:B15UESX%X10M+I2WLY&0@ M1]4G35V+N5RWL[N@HPE0F@VE.5":BZ+5W56-)FC2J'@Z*QYJ#;)GCH2_:)I] M:'LENVCH/I^YDD&'#: T"TJSH30'2G-1M/H3_=6P@2X?-KBM/=6VW":9P38L M\>-EBV?'@49$ %K;<%;:B@ Z6Y*%K=+%6NKTM#VU^= M."VG=O9,03NVY4*(VPC M7KRX9K]V_VZP6?Y&K*/U<_725!O66^JE7;SYJ\(7+R*[$Y;SHU1&ULK59-;]LX$/TKA+8H&J")OF4Y:QM([%WL'@H$23\.Q1YH:6P1I425 MI.SFW^]0LE7;HG4H>K%):M[,>T-R.+.]D-]4 :#)CY)7:NX46M?WKJNR DJJ M[D0-%7[9"%E2C5.Y=54M@>8MJ.1NX'F)6U)6.8M9N_8D%S/1:,XJ>))$-65) MY>LC<+&?.[YS7'AFVT*;!72\Y*J!03%9&PF3L/_OW2 M]PR@M?C,8*].QL1(60OQS4S^S>>.9Q@!ATP;%Q3_=K $SHTGY/']X-3I8QK@ MZ?CH_>]6/(I94P5+P;^P7!=S)W5(#AO:B0 MK%%:E /JAMR2 M3R\K\N[-#7E#6$4^%J)1M,K5S-5(P+AQLT.PQRY8<"78E'S <(4B?U4YY!;\ MRP^.\A^#48\O4-^1T'M/ B\(;83&X2O($.ZW\&"$3MCO1MCZ M"Z_N1EDRC;=$*X(I)OWN9 P463&5<:$:">3KL^"4YG_9]N)+E!D#V2* MP[VJ:09S!V^_ KD#9_'V#S_Q_K1EX3D*STQ/ZGJQARZH* MOQ&Q(;H \@I4VG+1!4C: *:N[19^'(;QS-V=BAQ:I6&0]D9GY..>?#Q*_B'/ MF2&K"%9]+3GHS2QA*5X=.EX ;K M4C%)[*<7LH96P702V%6E MO:IT5-5'H2DW1_W*J0>L"X?S7H-DPE9''],!L7@2!1?LAT;GU^*,_K2G/QV_ MKHV4AG4MY/%$7=-B(SX=7H$TNKP#0R/?2^,KI\GW?CZ%WB]6&@Y*X6M\ILSZ M_'G#2I-.)Q?T+591E/H7]-V31[T$N6U['60AFDIW[WN_VO=3#VT7X?XT[YJQ M#U1BI50H8X-0[VZ"J9-=?]--M*C;%F$M-#8<[;# GA"D,<#O&R'T<6("]%WF MXG]02P,$% @ LEYC5_W]@59%!0 _B$ !D !X;"]W;W)K&ULQ9I?;]LV$,"_"J$50PHTD2C)_S+;0&RI:(&F"Y)V?1CV M0$NT+40279*VXV$??A2ER)9,,_%&("^V1/-^Q[LCCSQ+PRVACVR),0=/69JS MD;7D?'5MVRQ:X@RQ*[+"N?AE3FB&N+BE"YNM*$:Q%,I2VW6SQ"M^S@&A2FS AY+&X^QR/+*4:$4QSQ H'$ MUP9/<9H6)#&.GQ74JG46@H?7S_2/TGAAS PQ/"7ICR3FRY'5MT",YVB=\GNR M_80K@SH%+R(IDY]@6_;M#2P0K1DG624L1I E>?F-GBI'' @(CEK K03$/ K ?^U&CJ5@#3=+FV7C@L01^,A)5M B]Z"5EQ([TMIX:\D M+R;* Z?BUT3(\?$#)]'CY42X.@93DHGYQY",X"7XBBA%11C!18 Y2E+V7K1^ M?PC Q;OWX!U(EIXDN>?X-UCQFD2<3$KY Q1Q5=+*!+<-5NA"(\LD<$8IAMLC7_] M!7:=WU3.-0D+3,)"0[!&&/PZ#+ZD>Z=FQ1)1?#D[7ITW8FGF"RPR-@>S'3CL M=X=VLOEFBV@,_OPBD. SQQG[2Q5$WV003<("D[#0$*P1Q$X=Q(YV+05XCBD5 MD8D.(JB*18GI2DRQP6_&G5ZO-[0WASY6=.IZ?K-3<-P)=CM.JU>HZ-5Q_4'= MJV%MM[:VJ[7VA]R:A;5H@ZDX:H"-2"5)O@ K3!,2@PNQ;>PPHNR]R@4ENW,P M)!]"QVOY0#N"<^=9]\@+"I6A(94-E_9JE_:T+IT2QD%.N/ ;%X>SB"SRY&\< M?P 7:_1 M&9K2V73CO@:$^B(P_+DNDO%=BG)15T*H=)[1*M H+3!*"TW1FL'85X+PK4M! M:+06-$H+C-)"4[1F*/?U(-07A%_7V0S3XLA8G1/1FB\)+<[T\C1?MBJ/\Q7Y M,*NZT._WND,=4NSE&$P-(YF&/;%,]17SZK'QB0M>,%8_W3N M,S6.,@SVP?/L#-.%?)& @8BL&ULM99M;YLP$,>_BL6FJ9/6 8"= E2TSV^ MV%2U:OO:A4MB%6QF.\DF[O*? T5D1-> ],K2RXJHO10K%Q9"R"%-:I*%WO>U*T(94XVLW.7 M(IOQC2HI@TN!Y*:JB/BU@)+OYH[O/$Y@;NI+H4=NYZ6@ M%3!).4,"EG/GW#];^*$QL#MN*>QD[QV94.XY?S"#K\7<\0P1E) KXX+HQQ8N MH"R-)\WQHW7J=&<:P_[[H_=/-G@=S#V1<,'+.UJH]=Q)'%3 DFQ*=<5W7Z - M*#+^L;O0^8Z(0J*3#Z (+>7;@3TS5VDHX]K-6X!% X"/ *3H&V=J+=%' M5D#QM[VK@^DBPH\1+?"HPVNH)RCPWB'LX0"]1BZ2:R) MH^1$X).L\">$!PY MX?NFN@>!^!+=L*T60 ??UZ$Y3:]J/2NM9",>8<6AHC>,*CFD60,0#@.83#V3 M-&$77CCF/5O BC)&V0J=4-:J]A;]'M2OH6W\ M1=:?*0/;+/:#. UF[G: (^HXHE&.SX(P(]53*:(#"APG"8Z&*:8=Q724XK;Y MP$^%F!Y G.(X35)_F"+N*.)1"EV!ED"? Q(/@>#XB!I)QY&, MOM1ZSTBL@I M]K!\;SJ)CV#A/19^:NJ]A H?4(7))#R2B/Z^^/NCQ?>?5'P)6' EN))$!X! MVY=M?[QN]W+S)53AP=WRO7 2_8OE]GJ-"L3*=E02Y7S#5--V=+-=UW;>]"K[ M[4W+]XT(G1 2E;#4IMXDUH5"-%U4,U"\MIW+/5>Z#[*O:]UY@C ;]/J2<_4X M, =TO6SV!U!+ P04 " "R7F-7Q.)PK/8" !,"@ &0 'AL+W=O,="9SQI[UY#8>68[>$*002V^0)E/F:#$4N% M^46;(K:M@J.5D"PKP6H'&:'%/WXI?=@!*)YZ@%<"O$- ^Q6 7P+\8Q7:):!] MK$*G!'2.!71+0-=X7YAEG ZQQ,&0LPWB.EJQZ8$IET$K@PG5!VLFN?I*%$X& MMS1B&:!'_ ("G8<@,4G%!?J$GF8A.C^[0&>(4/2X9"N!:2R&ME2B&FI'I<"X M$/!>$?#1':-R*="$QA#7X,-F?+\!;ZMDJXR];<9CKY%P!GD+^I3YOA(41*O1:^YZ5?G1[?\/G_/3TH)")*F5AQ M0#^NYT)R=6?\K#LN!6.[GE'?HP.1XPA&EKHH!? U6,''#V[7^5Q7JU.2A:Y(D8)[; M7<,YEH#.L4 8Y< CH/*BSO."^6IG/T[+[1]X7@2YSEZ4T_/WP\(Z+L<[<+.6 MR^T=A$T;,W[K^;5W7KL,^,+T)0)%;$5E<755JU7K_(/UL3NX<6O60W

-&[%!/);RC8" I!0 &0 'AL+W=O M_-FXIED$/)1-0 :/;6,JS1H MM.Y6&*NB@9:HF>B FYM*R)9H8\H:JTX"*1VH93@*PQO<$LJ#+'%G6YDEHM>, M' ]VM&ZT/R1S207XM$:G\LT"*T@8%!HRT#,7N\DE)PIN!?M&2]VDP=L E5"1GNF=&#[!F(\36 BFW!<-WG<1 M!:CHE1;M"#8*6LK]2I[&.IP HDN : 1$3K$4VR1(H!2>MMV.S&I>K0 M1ASE]J?LM32WU.!TMH-.2$UR!F@/M:FV5N@U>B!2$ELN].(.-*%,O4RP-N$L M"!HWZ%[P76CT =>0ODW'AN9D];HJ'43727<0S=#^R.N8D*\%Y37ZOLZ5EN;%_#B7MF=;G&>S7;12'2D@#4R;*) ' M"++GS^8WX?LK6A>3UL4U]NRA;W.02%2F(Z8_-Y9"G1/KZ9:.SG;H(8L3?#BC M8#DI6/ZG C,9["LQ];HF8/E/ ?CD^;8@:]>D"A6BY]J_Y.ETF@-K__S_N/LA MF&F0& !G+@ &0 'AL+W=O?\ME9=EMNXE1^RDEQFR11_O>%W&3WYQ,V>7SP.5ZMR^K!=':VC5;R2I9? MMY]R=3?M6)9Q(M,BSE*2RYOSR5MV&@I1&=2(WV)Y7^QM']G>U\\J9ZZB0\VSS>[PL MU^<3;T*6\B:ZW92?L_N?9>N07?$MLDU1?Y+[%DLG9'%;E%G2&JL>)'':?$V("W!EPWL/88B-9 /+4%JS6PGMJ"W1K4KD\;W^N!"Z(RFIWEV3W) M*[1BJR[JT:^MU7C%:351KLI<_1HKNW+V66ZSO(RN-Y)MK$ MW^62O(O3*%W$T89J1J:+MBL735?XGJX(\B%+RW5!PG0IEX!]8+;W#?93-2S=V/#'L;G@ M1L(KN3TA@KXFG'(!]&=N-O^X*$\(9;4YA]QY7NOA_VY],!BBFRBBYA-[NU// M#M),F#A=O5:7=S*]E>I[D:DIHBQ6Y+*4"?GC%V5<7Q9_0O.@:HX0M M/$=S>XRRJ>-RV&NG\]HQ>OTVJ5[$[TU"E@]JZ5!(R%T'<-?V-4?F8Y1'+3W* M8Y!0 V=IWHY1W!*.!7OK=MZZ1F\O?WT'.6)RH:T'YA#,LUU?RQ$ C#D68T)+$A#. MHWN7#JS7+LRXUIZ]#S^"7J(*$52V )4MQ&(;CG\O1IAUO"QA%#X'!PV3+4!E M"['8AD'K114SJZHG9(FQKG%]G^D+"0!F.:ZN#0, QGR;VK:>)2#]9N]JS:'# MO9YB9D'U<2OSJ)J=72D,=-I(0,8PQBWFC=0:$**-HXHV5+8 E2W$8AL&K1=M_+FBC0.;44!I!X(!I1T !I9V()RA MM,-[T<;-HNW0M GLAE'.1W\:$(RY^H(3@'''M5W=>6#?S':HL\?W7B%Q\YX8 MF#;WU+K,5 >_@:@*")4MQ&(;!J570/QXVV4<=;\,E2U 90NQV(9!ZX4;?^ZF M&1_O8$&U+@ &U;H &%CK@G"&6I?H19$P[YL=F#9;-FVUZ6A9?@[!N.UIR\@ M@ G7]?75)@!32W+N[O&]UQ;"K"WF6:Y>S:@$3TN8;0\^G(2Z"87*%F*Q#:/0 MZQW!CY8GA5%:'1PT3+8 E2W$8AL&;><0H%FH'9HV&K;=\UYO!/5\7\\; (X+ M)O3U%H1S/=?7%UP0SG$\II\SF^X7-J>;FILRV];'= MZZPLLZ2^7,MH*?,*H'Z_R;+R\:9JH#M;/OL74$L#!!0 ( +)>8U<.Y&L@ MJP8 &8V 9 >&PO=V]R:W-H965T?&M7' NT/?5,BO/1PLAUJ?C<3E=\%52GN1KGLE? M[O)BE0CYM9B/RW7!DUD=M%J.B>/XXU629J/)67WL4S$YRS=BF6;\4X'*S6J5 M%#\N^#)_.!_AT>.!ZW2^$-6!\>1LGOXNR$=[)M[/7!Q(I+)69$_H*)"2[;J0SWZ=;0B4(6M$1?4[% ME_5%\:)$MS_06Y[/BV2]2*?H?3Y-ZMJ_C+E(TF7Y2A)]N8G1RQ>OT N49NCS M(M^4238KS\9"7GIU >-I+'Q^V"6 EO^/H$4><71!Q"#==S:0__.!4GR,%U.#&E\[RSL_]\=F4PZ*Z) M:,U'!YNH;I<2W57]PKX+7F3)LM,ILNBR/[+YZ_=2%6;H35ERV4Y_OI<\Z)W@ MJ_(O4TML3^J:3UHIZ&FY3J;\?"0ELN3%/1]-?OX)^\ZOIGI DL609 R(3*F< MNZN<:V.?O"WRLI2"OZV?J0C;>+^.K_[7N9\0&I$P.!O?=X?7 '-<)_!46-R' M^:Y/7*+"6!_F17[D.SN8DJRW2]:S)OON]RM3AM:@0]L,DBR&)&- 9,K(^[N1 M]X\A$#YDY2#)8D@R!D2F5"[852YXID!LX[W.O8H=@JFO"40?%H6!YVKZT$=) MJ7$"#<;Z,.I@VF%3<@UWN8;67"\^WY@2M 8=VF609#$D&0,B4T8^VHU\= Q] MB" K!TD60Y(Q(#*E$[0FSC\8LK5&'=ALH6PS*QJ#8U/$G[?B38XA%PC&+1WZP91A/5'"@/,]0/=3,0&&(X\Q_-TP3#@L-)%L,RL:@V-1*M 80>T>1#E +"

MB ?$H_5?V&[ %/% _Z"!20P[R\$M",D6@[(Q*#:U'JU'Q.%1) 3498*RQ:!L M#(I-K5_K-+'5#NTC(=%^,QH&G&E*PP SSFD8<+9)#=(:-&(W:+J"#$QSV%D. M[4!0MAB4C4&QJ?5H_2/!QU 0 NH_0=EB4#8&Q:;6K_6?Q.J/]E"0AD U)E&H M"X@!YCD.U2<\##!,@XCJBR8FG!=X0ZLFI#5LQ&[8= $9F "QLQS<@* +=J!L M#(I-K4?K)XE[% $!=:&@;#$H&X-B4^O7NE!B7X?<0T"\_@2(%_2>0 PPUR.. MONAJ@.'0QT&H"X@!AXGO!P,"TMHV8K=M5WG!TWEFS!1T#0^4+09E8U!L:@U: M'TF"HX@&J.\$98M!V1@4FUJ_UG<2^^+D'J(1]F]?UR61+AH&F.,$@2X:?1CU M''T>A1E@Q*.=11LUW=:F$;M-:R1C>,+#'G]PXX&N[H&R,2@V=6M7:Q^I?W"C@:[K@;(Q*#:U$IU-H,?9!0J[#11V'RCL1M#_PU;2UE;2Y^X% M;0BTF5%7?\(PP$+/[>E%'T5\W%DP:0;% ".A,S K2EL31NTFK-6-@>D,>_S! M?0>ZJ ?*QJ#8U$JT[I >97,H!766H&PQ*!N#8E/KUSI+^MPMH@U!=S^WB\/> M,T8?A:65T&6CCPI#W;TP XIXG=WHVU3'G?=F9*?-ZQ>62C3--YG8OOVP.[I[ M*>I-_2J0=OP"GUYBP_$8G[+M*T\M_?8-K ]),4^S$BWYG3R5[#8OM2T M_2+R=?W6SFTNY&U0?USP9,:+"B!_O\MS\?BE.L'NU;+)OU!+ P04 " "R M7F-74MJ>F:\& R-@ &0 'AL+W=O[%Z=[01,W02.0 6DWZ3[\ M :$0&^,FU^?R9@7R/#^P'_,??QLF#VGV-5\)4:#OZSC)+T:KHMBSY3C?9")$PLBXW7892,II/ZV%4VG:3;(HX2 M<96A?+M>A]F/2Q&G#Q+N8O06GW/J5@EUQ!^1>,CWME'5E-LT_5KM?%A/+QMR&N9BE\9_1HEA=C+P16HB[>@:[2; //8/3)-1-'^_:7G=<$!;A=)*E#RBKHDM:M5'W?IU= M]E>45 /EILC*7Z,RKYA>BTV:%>%M+-"-6)8CH,C1&W0M[D6R%>CV!YK5UR R M]/G'1J"7@2C"*,Y?E4%?;@+T\L4K] )%"?J\2K=YF"SRR;@H+ZN"C^?-)5SN M+H$,7 )%'].D6.6()PNQT.0'YGS?D#\NNZ/M$_+8)Y?$"+P1FS-$K=>(6(1J MKF=F3O\T+\Z0A>MTHFO.\\[.__/9IE@M<5TMZ,NWQ6YU?_C=Q/"?6) MYT[&]_O=JPFS;,MUY+"@'\9L1FPBA_%^F.,SGUEMF-18IVVL8VSLA]_?Z5IH M3#IVF$'" D@8!X))/<_:GF?K[1-="8=.PH M@X0%D# .!)-ZWF][WC^9*/B0Y8*$!9 P#@23RH6M[MG?>J8L-(#]>]1Q"56> M F:Z,,]Q?447-&&8V1A311AT<9Y%V8 RX#VS@\T-YI^TK31F'3O:0&D!*(U# MT>3^)UW_DY,I1',JJ*)!T@)0&H>BR47K#" V&I9#5(+V[E?7]['Z\* )LYFK M>H5 $X9]QW(<524T<=C9]QYR@SL+AZFI[&T=S%"8+]&T;YM&;S>Y +N9% MFFD[P @\>BQ"T@)0&H>BR:7I#!]V3B<@H#X1E!: TC@432Y:YQ6QT=L<(B!, M^V#@$%5!-'&44-]5):0?9]O$89XJ(?TXZKK80"=8:2X)/)" %UH:"T )3&H6ART3H72HR&Z0 9:0#RZ$H>*(U#T>12=.:2 MN*?3"U##"4H+0&D8!>>'U3XN#>6HLN##/74_6B'T8LRGJ+ ML+HX[+ONP!0(ZN)QL $AQES]/@#7?P#I7$HFER0O;<_3_CZ)^S[G[ O@,*^ M ?I_&$K:&4KZW)= &X TUT!M"ZNBH0DC+E.76S1A&#.JSI=P71RES!DP)[0S M8]1LQGJR,3"E8<8DXL=6?%]6$>9[Z1!)HHHCGL)YH:,((8ZIFC/>^@5F+;%E_?)2C M>;I-BMW7#NW1]@.GM_5G/MOM :;=3I)OZ"YS;M"C2=;VY$N%"9%5 ^?M=FA:/.]4)VL_$IO\" M4$L#!!0 ( +)>8U=H (%.LP8 $PV 9 >&PO=V]R:W-H965T1W$R MFD[JSSYFTTFZ+59Q(C]F*-^NUU'V[5*NTL>+$1X]?7 3+Y9%]<%X.ME$"WDK MB\^;CUGY;MQ2YO%:)GF<)BB3]Q>CM_A<4*]*J"-^C^5COO<:55VY2],OU9MW M\XN14UV17,E942&B\L^#O)*K544JK^/O!CIJVZP2]U\_T:_KSI>=N8MR>96N M_HCGQ?)BY(_07-Y'VU5QDS[^(IL.L8HW2U=Y_2]Z;&*=$9IM\R)=-\GE%:SC M9/ MH!OY().M1'??T%6:%%E93O3IVT:BEZ$LHGB5ORJ#/M^&Z.6+5^@%BA/T:9EN M\RB9YY-Q45Y6!1_/FDNXW%T"&;@$BMZ7;2QS))*YG!OR0WM^8,D?E\/1C@EY M&I-+8@7>RLT9HLYK1!Q"#==S94__,"O.D(/K=&+JSO-:%_^Y=64P:#M!:,VC M@Y=3SPJTFRAQLGC=SHX;.4N365QF+-"[0J[1G[^6R?7+_"_3/-BUY)I;JB3Q M/-]$,WDQ*C4OE]F#'$U__ %SYR=3$2!A(21, ,&4!U MA8P_QET^K_.K_T8>IH0&Q/JA->G8:08)"R%A @BFC#QO1YZ?3!4X9+D@82$D3 #! ME')Y;;F\9ZK"+I_M_4"Q0S#EFBKTPP+?8ZXF"OVH4E\<3PL3_3#J8+I'4_KJ MMWWUK7V]_'1KZJ UZ=A9!@D+(6$""*:,?-".?' R40@@RP4)"R%A @BFE L[ MW;V_\TQ9: #[OU'F$:K=!5R9PGSF!9HN&,(P=S&FFC"8XGR'\@%EP'MF!]L[ M+#X8>VG-.G:V@=)"4)J HJGC3[KQ)R=3B*8IJ*)!TD)0FH"BJ47K#""V&I9# M5(+V?J]>$&#]YL$0YG)/]PJA(0P'S&%,5PE#'&;[WD/M<&>AL-U#7:5Y\2:3 M\?INF^7UTLBL600Q]]Y*.WHB0M)"4)J HJEUZ=P>9J=3#U"3"$H+06D"BJ86 MK3.*V&IL#E$/WK<+F#/NZ_+1C\-^4-Z.Z/K1CV,^=YV>?ACBJ,,].J ?G=G" M=K=ET0_T#QI8M+ SCYZ0D+00E":@:&IU.GN(_=.I"*BK!*6%H#0!15.+UCE+ M;'5"AZA(8%B:X SK(F((YC3&&^Y^CW(88P7"K-WJ9',RR&..+A8&"U@W3&C=B-FUU#!M9"[,RC MIR/H+ATH34#1U.IT+I.XI],04 L*2@M!:0**IA:MLZ#$ON-X@(:P_EJ(1WKW M(88PEW,/ZQK2#\.!XS%]?]44A]U@:"^%=/:-V.W;=?Q5SM]LD[A FRR>?6AZ";N:!T@0432U+9S&)=SKQ '6>H+00E":@:&K1.N=)[#N3!XB'W[<3 MU:V +A[],.PRA^KBT0]C@4\]73OZ89SO'PA1N]MY-F+W;,/2,;P*8D<>/1=! M-_Y :0**IA[JZOPE=4XF(!34=H+20E":@**I1>ML)_W.]N5W!:0!*&L\C&P &)''CT30?<$06D" MBJ869^]0Z E/A<(>"X4]%PI[,/3_<)RT?[ MFG*,]YZ.6XG.Q>["I MP^^>LWH?98LXR=%*WI=-.6=>^:O+=H\N[=X4Z:9^-N8U<)=7 '#P, /8* 9 M>&PO=V]R:W-H965T,LKDT$J5FAW;MHQ3R+ \XC-@^LF$BPPK/1536\X$X*0 9=3V'">T,TR8 M%0V*M6L1#7BN*&%P+9#,LPR+QU.@?#&T7&NY<$.FJ3(+=C28X2F,0=W.KH6> MV35+0C)@DG"&!$R&UHE[/'(= R@BOA-8R)4Q,JG<<7YO)A?)T'*,(J 0*T.! M]=\<1D"I8=(Z?E>D5KVG :Z.E^R?B^1U,G=8PHC3'R11Z=#J62B!"R^$6+*M:Q4)Q+Q;,*K!5DA)7_^*$R8@6@>9H!7@7P_A;@5P"_ M2+145J1UAA6.!H(OD##1FLT,"F\*M,Z&,%/&L1+Z*=$X%8T5C^]33A,0\@,Z M_YT3]8@.T5B_+DE. ?$).HGC/,LI5I"@KRH%@48\T^],:HHY!W3!8IX!VK_D M4AZ@_3-0F% ].D2WXS.TOW> ]A!AZ%O*VTL+-]G9\I6NG7BOA&&9'R'<^(L_Q_"8]_PQ?D^/7 M1?0+/G\#WW85^GFIX>A"029_-=6BW"MHWLM<*\=RAF,86GH'"6(.5O3^G1LZ MGYJ,V!'9FBU!;4O0QAZ=PI0P1MA4'W2*60Q-V98484%A[KQYU U<-^@-[/EJ M'B_#PG[@!4X=MJ:P4ROLM"HLBQ6O%8M4Q:*F6$V*2\K.BI3#P'.?Z6T("EVO M66U8JPU;U>K3\XJ9X8M=NYU^W^T^$_=JV)J\;BVOVRIOJU/0I+Z5?ML7?T=D M:T[T:B=Z__$^Z.W2EAV1K=G2KVWIO_T^:*78-MO^BQ=]PX7A.D_?:^>-A[ B M"#>=_>J+^4I4*<]>Z2PR$-.BX9+ZQLJ9*IN,>K5NZDZ*5L9^"B\[PBLLM/T2 M49AHJ'/4U;:(LLDJ)XK/BC[ECBO=]13#5#>F($R ?C[A7"TG9H.ZU8W^ %!+ M P04 " "R7F-7*;TA7B,# #L$0 #0 'AL+W-T>6QELAF1M3?8SC>CIG):W/5,6D10JE M2VIL5\_BNM*,YC602A'W.ITT+BF79#20B_*Z-'4T50MIAN2\#47^]B4?DFYZ M3B(O-U8Y&Y+[D_<_%\IC#T5'G_O1J/W[B@%,2!T4O7B!ZUL%U+89) MI[O2;OBQ%?+$8XQV&:#9+!LF=!PY;M9M-"B4W"Q?0GS JM.210]4#,F8"C[1 M'%@%+;E8^7 / E,EE(Z,W3>;K@N1^M'#7=^#+6UT2BZ5=KE]!O]WT@S? ]8] M,,B%: WVB ^,!A4UAFEY;3MNL L^@:*F?;>JK,.9IJMN[X)L".YFDTR4SIEN MTW3).C0:"%: 'QH[TL MMO:M [LFVZ8UU#2]C.^ _K::U]Z6?9UN5/$'93XO['2DZT.!LAO-"KYT_671 M&L#4N[@ZK2JQ^B3X3);,3_[%"4<#NN9%G.3:76$$XW@LC "&Y<$<8!S/ MPO+\3_/IH_/Q&.:M'T3Z**>/(4\7P?8GCY7(=A,\4K$9HJO-2#A=0-&EH5W M&\L##&P7L-J!_.$\4%-A3I+ KF+>L"<81[(,0Z 6PS6:ILCJI/ )[P_VE"1) MEH41P,(.D@1#X&G$$,"0)''GX-YY%*_/J7CS^\[H-U!+ P04 " "R M7F-7EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0 M(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I M6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6 MFD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L# M!!0 ( +)>8U?YH%Z3[@0 +@H / >&PO=V]R:V)O;VLN>&ULQ9I; M<]HX%(#_BH:7[BXO9OO1?*G]EH M4W'G=\VV;_=&\,+NA'!5V8\&@U&_XE+U/GU\>M:-Z<,=[43NI%;^8'/@JQ3W M]M?Y9I<=I)5K64KW,.Z%WZ7HL4HJ6-!^(N/>[73 M%[)TPLRX$Y^-KO=2;9O'^+?H@]<(<7C:'H-X9OY/&/5F(W,QTWE=">6.<32B M; "5WS MR6H^8^>3Z\EB.F?9Y7R^R@!@A !&)P-D;VXX@(P1R/@5(;.5W_PS7WC Y05; MS%<,0"8(9'(RR.GE9 $@4P0R/1WD)+L$D",$2MR 6 M4EOFY:+\[UPT=P+(#PCD!UK(.3?*HUFV%X9E.VX$[+L'6.<]H"5K:IL2UOH M_E?[?P\70#C4+,1J.9=E*8K0/KZH]7&G*6]YX!ZDA8GY94@L&%_A?+FZAP Z M]V'<-S?\Q92 U6^(V65(K)?/6A?W/H !\EW/)6.6-:&1)[ M9:I#']CTB/ZGE84PX2+(AQEE2*R4J:XJZ9J+; CB3][\M[+&C#(D5DKF='[W M]IQ;T0!6_DGV61 QF0R);7*EDC(M;'\_R%O5D%!_\) M$3%W1,3NZ$QD.BDQC43$&D$SFG9Y8QJ)B#6"9#1-2"$F9I.(V"9X5@,'S1'F MDXC8)QUI36?%Q)P2$3L%S6]:%3/&-!,3:^:E_.9'/"$FIISX-933D4%T8&+V MB8GMTR'MKHH9H_-BQ.KILG\U;8NFR->1),0 GUS-D+F#ZQ8Q<:?CE*, $EQ +" MTV'8;R:8@Q)B!Z'I\ SJ/$&_SA!;",/T[1UB8A9*B"V$9NVM5#/!+)006PC' M;-5-S$+)*<= +::@E-A! M<&ZZLX&GZ-( 8O5T#7C!T )B8NI)B=73C7G,A.5C"Q-33TJLGF[,6W$0JA;L M F)BZDG)5PA@F&N(BM^DC9?W#9U64[]L:6ZUKQX6GCWM&CPTW=0 M2P,$% @ LEYC5_5)DLP! @ 7B0 !H !X;"]?]"2J,T(%XO*+P2<$/#SG0S?M^U/9[8>R^#@>3F75[*9I^)526>_R ML2LW_9!/YR.;?CQVTWDY;M/0K=^Z;4ZZ7+9I_#ZC>7SX/G/Q\CGD_YG8;S;[ M=?[=K_\<\VGZQ^#TWH]O99?SU"Q>NG&;IU63/@[7W25=-G)SGMPLGEY7S?CT M*DVJ':00I/6##(*L?I!#D-@^_I! MLD09EP1),ZP)M!;D6@B\%@1;",06)%L(S!9$6PC4%F1;"-P6A%L(Y!:D6PCL M%L1;"/16U%L)]%;46PGTUMG#-H'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN! MWHIZ*X'>BGHK@=Z&>AN!WH9Z&X'>AGH;@=XV>UE"H+>AWD:@MZ'>1J"WH=Y& MH+>AWD:@MZ'>1J"WH=Y&H+>CWDZ@MZ/>3J"WH]Y.H+>CWDZ@M\]>=A/H[:BW M$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H':AW M$.@=LX^5!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>K>H=TN@=XMZMS^I=YD^#[E< M>[[6>/V?I'HZGYNOE[\LOW;.;L(%YP2_$SW^!5!+ P04 " "R7F-7UDS MDN ! #C(P $P %M#;VYT96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?B;)% MC>M7>8BR ;;0!3]@D@F-FL26;:#\/4X*E4"EHBH2=].HM3UWXI'.JITZ_1P:V\]S3VW(L^O-QB%KGAOGVJ8T,:VSE[[ZEC+Y2"C2 MR7%/6#8NG*0-.=N9,*S\'/!Q[OZ%O&\JRA;&QSO3I5ULW;(0WUH*Q?X2.WJT M==V45-GRN4M'BN \F2HLB6+7%INB)_N38[IAVGSRH_/',OL"T\Z%MRZDB7DZ M/.YS),/IB4N%R,=F_RMN$U/IH]^/AFE75/TR.UWOJ_6K<1Z!C8_C[_CKC+?U M#^Q#@/0A0?I0('UHD#YF('V<@O1Q!M+'.4@??(K2"(JH'(54CF(J1T&5HZC* M45CE**YR%%@YBJP"15:!(JM D56@R"I09!4HL@H4606*K )%5H$BJT215:+( M*E%DE2BR2A19)8JL$D56B2*K1)%5HLBJ4&15*+(J%%D5BJP*15:%(JM"D56A MR*I09%4HLFH4636*K!I%5HTBJT:15:/(JE%DU2BR:A19-8JL,Q199_\IZZ.U MJS^.'Y]%9YK^,Y^-_^VY>@=02P$"% ,4 " "R7F-7!T%-8H$ "Q M$ @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( M +)>8U>"\H(V[@ "L" 1 " :\ !D;V-08U>97)PC$ 8 )PG 3 M " &UL4$L! A0#% @ LEYC5_RJ MX0G@!0 JQ\ !@ ("!#0@ 'AL+W=O8U<[G+3BZ08 +8< 8 M " @2,. !X;"]W;W)K&PO=V]R:W-H965T M&UL4$L! A0#% @ LEYC5]S[8J">!P )B4 !@ M ("!=Q@ 'AL+W=O8U>C#CVWP H ()< 8 " @4L@ !X;"]W;W)K M&PO=V]R:W-H965T&UL4$L! M A0#% @ LEYC5ZJPFJQK! 4 H !@ ("!+S0 'AL M+W=O8U?GS;4ER P M #HD 8 " @= X !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ LEYC5X#^ MIM[>! !0T !D ("!(4@ 'AL+W=O&PO=V]R:W-H965T8U>:9Q" H ( $L& 9 " @6Q: !X;"]W;W)K&UL4$L! A0#% @ LEYC5VF]N0#( @ 2@8 !D M ("!0UT 'AL+W=O&PO M=V]R:W-H965T8U=UH\IDL@( M /$% 9 " @09F !X;"]W;W)K&UL4$L! A0#% @ LEYC5QLR-OR*"@ -AL !D ("! M[V@ 'AL+W=O&PO=V]R:W-H965T8U>!A+-9B , -4' 9 M " @01W !X;"]W;W)K&UL4$L! A0#% M @ LEYC5Q_(LYF!!@ NQ !D ("!PWH 'AL+W=O&PO=V]R:W-H965T M8U?47@T:@@, /0' 9 " @06= !X;"]W;W)K&UL4$L! A0#% @ LEYC5]>1=^QT!@ J@X !D M ("!OJ 'AL+W=O&PO=V]R M:W-H965T8U>%2J ]V@( #X& M 9 " @6>J !X;"]W;W)K&UL M4$L! A0#% @ LEYC5X'SCK#5! 90L !D ("!>*T M 'AL+W=O&PO=V]R:W-H965T8U="&UL4$L! A0#% @ MLEYC5X( H1 [ P .0< !D ("!R;@ 'AL+W=O&PO=V]R:W-H965T8U>' MF*TL;0( (& 9 " @9K, !X;"]W;W)K&UL4$L! A0#% @ LEYC5TSH37D7 P HPP !D M ("!/L\ 'AL+W=O&PO=V]R:W-H M965T8U=.6'\?K0< (Y- 9 M " @&UL4$L! M A0#% @ LEYC5X$!%"K4#@ (I@ !D ("!I]X 'AL M+W=O&PO=V]R:W-H965T8U?6N:&^; , !$+ 9 " M@8?P !X;"]W;W)K&UL4$L! A0#% @ LEYC M5_[G:Q7& @ 8@@ !D ("!*O0 'AL+W=O&PO=V]R:W-H965T8U>R6WN6#@, /4+ 9 " @??Z !X;"]W;W)K M&UL4$L! A0#% @ LEYC5[J-15H6! 41( M !D ("!//X 'AL+W=O&PO=V]R:W-H965T8U?P[TVX M"@< (HV 9 " @6D' 0!X;"]W;W)K&UL4$L! A0#% @ LEYC5UB!5NOW @ N0@ !D M ("!J@X! 'AL+W=O&PO=V]R:W-H965T M8U=Q:]F6L < &U- 9 M " @><5 0!X;"]W;W)K&UL4$L! A0# M% @ LEYC5VZJ236 P <0H !D ("!SAT! 'AL+W=O M&PO=V]R:W-H965T8U?KF.;Y20, -<* 9 " @0$G M 0!X;"]W;W)K&UL4$L! A0#% @ LEYC5\3B M<*SV @ 3 H !D ("!@2H! 'AL+W=O;RC8" I!0 &0 M @(&N+0$ >&PO=V]R:W-H965T8U=4IZ8:9 8 &&UL4$L! A0#% @ LEYC5P[D:R"K!@ 9C8 !D M ("!MC8! 'AL+W=OF:\& R-@ &0 @(&8/0$ >&PO M=V]R:W-H965T8U=H (%.LP8 M $PV 9 " @7Y$ 0!X;"]W;W)K&UL4$L! A0#% @ LEYC5PEU< &PO8U>7BKL

8U?YH%Z3[@0 +@H / M " >52 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " "R7F-7]4F2 MS $" !>) &@ @ $ 6 $ >&PO7W)E;',O=V]R:V)O;VLN M>&UL+G)E;'-02P$"% ,4 " "R7F-7UDS DN ! #C(P $P M @ $Y6@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 10!% -H2 !* %7 $ ! end XML 73 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 74 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 75 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 302 266 1 false 47 0 false 6 false false R1.htm 0000001 - Document - Cover Sheet http://www.nv5.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals) Sheet http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals CONSOLIDATED BALANCE SHEETS (Parentheticals) Statements 3 false false R4.htm 0000004 - Statement - CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME Sheet http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME Statements 4 false false R5.htm 0000005 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS??? EQUITY Sheet http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS??? EQUITY Statements 5 false false R6.htm 0000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 0000007 - Disclosure - Organization and Nature of Business Operations Sheet http://www.nv5.com/role/OrganizationandNatureofBusinessOperations Organization and Nature of Business Operations Notes 7 false false R8.htm 0000008 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.nv5.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Recent Accounting Pronouncements Sheet http://www.nv5.com/role/RecentAccountingPronouncements Recent Accounting Pronouncements Notes 9 false false R10.htm 0000010 - Disclosure - Earnings per Share Sheet http://www.nv5.com/role/EarningsperShare Earnings per Share Notes 10 false false R11.htm 0000011 - Disclosure - Business Acquisitions Sheet http://www.nv5.com/role/BusinessAcquisitions Business Acquisitions Notes 11 false false R12.htm 0000012 - Disclosure - Billed and Unbilled Receivables Sheet http://www.nv5.com/role/BilledandUnbilledReceivables Billed and Unbilled Receivables Notes 12 false false R13.htm 0000013 - Disclosure - Property and Equipment, net Sheet http://www.nv5.com/role/PropertyandEquipmentnet Property and Equipment, net Notes 13 false false R14.htm 0000014 - Disclosure - Goodwill and Intangible Assets Sheet http://www.nv5.com/role/GoodwillandIntangibleAssets Goodwill and Intangible Assets Notes 14 false false R15.htm 0000015 - Disclosure - Accrued Liabilities Sheet http://www.nv5.com/role/AccruedLiabilities Accrued Liabilities Notes 15 false false R16.htm 0000016 - Disclosure - Notes Payable and Other Obligations Notes http://www.nv5.com/role/NotesPayableandOtherObligations Notes Payable and Other Obligations Notes 16 false false R17.htm 0000017 - Disclosure - Contingent Consideration Sheet http://www.nv5.com/role/ContingentConsideration Contingent Consideration Notes 17 false false R18.htm 0000018 - Disclosure - Commitments and Contingencies Sheet http://www.nv5.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 18 false false R19.htm 0000019 - Disclosure - Stock-Based Compensation Sheet http://www.nv5.com/role/StockBasedCompensation Stock-Based Compensation Notes 19 false false R20.htm 0000020 - Disclosure - Income Taxes Sheet http://www.nv5.com/role/IncomeTaxes Income Taxes Notes 20 false false R21.htm 0000021 - Disclosure - Reportable Segments Sheet http://www.nv5.com/role/ReportableSegments Reportable Segments Notes 21 false false R22.htm 0000022 - Disclosure - Stockholders' Equity Sheet http://www.nv5.com/role/StockholdersEquity Stockholders' Equity Notes 22 false false R23.htm 9954471 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.nv5.com/role/SummaryofSignificantAccountingPolicies 23 false false R24.htm 9954472 - Disclosure - Earnings per Share (Tables) Sheet http://www.nv5.com/role/EarningsperShareTables Earnings per Share (Tables) Tables http://www.nv5.com/role/EarningsperShare 24 false false R25.htm 9954473 - Disclosure - Business Acquisitions (Tables) Sheet http://www.nv5.com/role/BusinessAcquisitionsTables Business Acquisitions (Tables) Tables http://www.nv5.com/role/BusinessAcquisitions 25 false false R26.htm 9954474 - Disclosure - Billed and Unbilled Receivables (Tables) Sheet http://www.nv5.com/role/BilledandUnbilledReceivablesTables Billed and Unbilled Receivables (Tables) Tables http://www.nv5.com/role/BilledandUnbilledReceivables 26 false false R27.htm 9954475 - Disclosure - Property and Equipment, net (Tables) Sheet http://www.nv5.com/role/PropertyandEquipmentnetTables Property and Equipment, net (Tables) Tables http://www.nv5.com/role/PropertyandEquipmentnet 27 false false R28.htm 9954476 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.nv5.com/role/GoodwillandIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.nv5.com/role/GoodwillandIntangibleAssets 28 false false R29.htm 9954477 - Disclosure - Accrued Liabilities (Tables) Sheet http://www.nv5.com/role/AccruedLiabilitiesTables Accrued Liabilities (Tables) Tables http://www.nv5.com/role/AccruedLiabilities 29 false false R30.htm 9954478 - Disclosure - Notes Payable and Other Obligations (Tables) Notes http://www.nv5.com/role/NotesPayableandOtherObligationsTables Notes Payable and Other Obligations (Tables) Tables http://www.nv5.com/role/NotesPayableandOtherObligations 30 false false R31.htm 9954479 - Disclosure - Contingent Consideration (Tables) Sheet http://www.nv5.com/role/ContingentConsiderationTables Contingent Consideration (Tables) Tables http://www.nv5.com/role/ContingentConsideration 31 false false R32.htm 9954480 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.nv5.com/role/StockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.nv5.com/role/StockBasedCompensation 32 false false R33.htm 9954481 - Disclosure - Reportable Segments (Tables) Sheet http://www.nv5.com/role/ReportableSegmentsTables Reportable Segments (Tables) Tables http://www.nv5.com/role/ReportableSegments 33 false false R34.htm 9954482 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.nv5.com/role/StockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.nv5.com/role/StockholdersEquity 34 false false R35.htm 9954483 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details) Sheet http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails Summary of Significant Accounting Policies - Revenue Recognition (Details) Details 35 false false R36.htm 9954484 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details) Sheet http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesContractBalancesDetails Summary of Significant Accounting Policies - Contract Balances (Details) Details 36 false false R37.htm 9954485 - Disclosure - Earnings per Share - Narrative (Details) Sheet http://www.nv5.com/role/EarningsperShareNarrativeDetails Earnings per Share - Narrative (Details) Details 37 false false R38.htm 9954486 - Disclosure - Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details) Sheet http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details) Details 38 false false R39.htm 9954487 - Disclosure - Business Acquisitions - Narrative (Details) Sheet http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails Business Acquisitions - Narrative (Details) Details 39 false false R40.htm 9954488 - Disclosure - Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details) Sheet http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details) Details 40 false false R41.htm 9954489 - Disclosure - Business Acquisitions - Results of Operations From any Business Acquired (Details) Sheet http://www.nv5.com/role/BusinessAcquisitionsResultsofOperationsFromanyBusinessAcquiredDetails Business Acquisitions - Results of Operations From any Business Acquired (Details) Details 41 false false R42.htm 9954490 - Disclosure - Business Acquisitions - Pro Forma Consolidated Results of Operations (Details) Sheet http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails Business Acquisitions - Pro Forma Consolidated Results of Operations (Details) Details 42 false false R43.htm 9954491 - Disclosure - Billed and Unbilled Receivables (Details) Sheet http://www.nv5.com/role/BilledandUnbilledReceivablesDetails Billed and Unbilled Receivables (Details) Details http://www.nv5.com/role/BilledandUnbilledReceivablesTables 43 false false R44.htm 9954492 - Disclosure - Property and Equipment, net (Details) Sheet http://www.nv5.com/role/PropertyandEquipmentnetDetails Property and Equipment, net (Details) Details http://www.nv5.com/role/PropertyandEquipmentnetTables 44 false false R45.htm 9954493 - Disclosure - Property and Equipment, net - Narrative (Details) Sheet http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails Property and Equipment, net - Narrative (Details) Details 45 false false R46.htm 9954494 - Disclosure - Goodwill and Intangible Assets - Schedule of Goodwill (Details) Sheet http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails Goodwill and Intangible Assets - Schedule of Goodwill (Details) Details 46 false false R47.htm 9954495 - Disclosure - Goodwill and Intangible Assets - Narrative (Details) Sheet http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails Goodwill and Intangible Assets - Narrative (Details) Details 47 false false R48.htm 9954496 - Disclosure - Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details) Sheet http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details) Details 48 false false R49.htm 9954497 - Disclosure - Accrued Liabilities (Details) Sheet http://www.nv5.com/role/AccruedLiabilitiesDetails Accrued Liabilities (Details) Details http://www.nv5.com/role/AccruedLiabilitiesTables 49 false false R50.htm 9954498 - Disclosure - Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details) Notes http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details) Details 50 false false R51.htm 9954499 - Disclosure - Notes Payable and Other Obligations - Narrative (Details) Notes http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails Notes Payable and Other Obligations - Narrative (Details) Details 51 false false R52.htm 9954500 - Disclosure - Contingent Consideration (Details) Sheet http://www.nv5.com/role/ContingentConsiderationDetails Contingent Consideration (Details) Details http://www.nv5.com/role/ContingentConsiderationTables 52 false false R53.htm 9954501 - Disclosure - Stock-Based Compensation - Narrative (Details) Sheet http://www.nv5.com/role/StockBasedCompensationNarrativeDetails Stock-Based Compensation - Narrative (Details) Details 53 false false R54.htm 9954502 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details) Sheet http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails Stock-Based Compensation - Restricted Stock Awards (Details) Details 54 false false R55.htm 9954503 - Disclosure - Income Taxes (Details) Sheet http://www.nv5.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.nv5.com/role/IncomeTaxes 55 false false R56.htm 9954504 - Disclosure - Reportable Segments - Narrative (Details) Sheet http://www.nv5.com/role/ReportableSegmentsNarrativeDetails Reportable Segments - Narrative (Details) Details 56 false false R57.htm 9954505 - Disclosure - Reportable Segments - Summarized Financial Information (Details) Sheet http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails Reportable Segments - Summarized Financial Information (Details) Details 57 false false R58.htm 9954506 - Disclosure - Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details) Sheet http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details) Details 58 false false R59.htm 9954507 - Disclosure - Reportable Segments - Revenue by Customer Type (Details) Sheet http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails Reportable Segments - Revenue by Customer Type (Details) Details 59 false false R60.htm 9954508 - Disclosure - Reportable Segments - Revenue by Contract Type (Details) Sheet http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails Reportable Segments - Revenue by Contract Type (Details) Details 60 false false R61.htm 9954509 - Disclosure - Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details) Sheet http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details) Details 61 false false All Reports Book All Reports nvee-20230930.htm nvee-20230930.xsd nvee-20230930_cal.xml nvee-20230930_def.xml nvee-20230930_lab.xml nvee-20230930_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 78 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "nvee-20230930.htm": { "nsprefix": "nvee", "nsuri": "http://www.nv5.com/20230930", "dts": { "inline": { "local": [ "nvee-20230930.htm" ] }, "schema": { "local": [ "nvee-20230930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] }, "calculationLink": { "local": [ "nvee-20230930_cal.xml" ] }, "definitionLink": { "local": [ "nvee-20230930_def.xml" ] }, "labelLink": { "local": [ "nvee-20230930_lab.xml" ] }, "presentationLink": { "local": [ "nvee-20230930_pre.xml" ] } }, "keyStandard": 239, "keyCustom": 27, "axisStandard": 17, "axisCustom": 1, "memberStandard": 25, "memberCustom": 21, "hidden": { "total": 6, "http://xbrl.sec.gov/dei/2023": 5, "http://fasb.org/us-gaap/2023": 1 }, "contextCount": 302, "entityCount": 1, "segmentCount": 47, "elementCount": 414, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 883, "http://xbrl.sec.gov/dei/2023": 30 }, "report": { "R1": { "role": "http://www.nv5.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "longName": "0000003 - Statement - CONSOLIDATED BALANCE SHEETS (Parentheticals)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME", "longName": "0000004 - Statement - CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME", "shortName": "CONSOLIDATED STATEMENTS OF NET INCOME AND COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:CostDirectLabor", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R5": { "role": "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "longName": "0000005 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS\u2019 EQUITY", "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS\u2019 EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-34", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-34", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS", "longName": "0000006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R7": { "role": "http://www.nv5.com/role/OrganizationandNatureofBusinessOperations", "longName": "0000007 - Disclosure - Organization and Nature of Business Operations", "shortName": "Organization and Nature of Business Operations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.nv5.com/role/SummaryofSignificantAccountingPolicies", "longName": "0000008 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.nv5.com/role/RecentAccountingPronouncements", "longName": "0000009 - Disclosure - Recent Accounting Pronouncements", "shortName": "Recent Accounting Pronouncements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.nv5.com/role/EarningsperShare", "longName": "0000010 - Disclosure - Earnings per Share", "shortName": "Earnings per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.nv5.com/role/BusinessAcquisitions", "longName": "0000011 - Disclosure - Business Acquisitions", "shortName": "Business Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.nv5.com/role/BilledandUnbilledReceivables", "longName": "0000012 - Disclosure - Billed and Unbilled Receivables", "shortName": "Billed and Unbilled Receivables", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.nv5.com/role/PropertyandEquipmentnet", "longName": "0000013 - Disclosure - Property and Equipment, net", "shortName": "Property and Equipment, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.nv5.com/role/GoodwillandIntangibleAssets", "longName": "0000014 - Disclosure - Goodwill and Intangible Assets", "shortName": "Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.nv5.com/role/AccruedLiabilities", "longName": "0000015 - Disclosure - Accrued Liabilities", "shortName": "Accrued Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.nv5.com/role/NotesPayableandOtherObligations", "longName": "0000016 - Disclosure - Notes Payable and Other Obligations", "shortName": "Notes Payable and Other Obligations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.nv5.com/role/ContingentConsideration", "longName": "0000017 - Disclosure - Contingent Consideration", "shortName": "Contingent Consideration", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LossContingencyDisclosures", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LossContingencyDisclosures", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.nv5.com/role/CommitmentsandContingencies", "longName": "0000018 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.nv5.com/role/StockBasedCompensation", "longName": "0000019 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.nv5.com/role/IncomeTaxes", "longName": "0000020 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.nv5.com/role/ReportableSegments", "longName": "0000021 - Disclosure - Reportable Segments", "shortName": "Reportable Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.nv5.com/role/StockholdersEquity", "longName": "0000022 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "nvee:BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "nvee:BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.nv5.com/role/EarningsperShareTables", "longName": "9954472 - Disclosure - Earnings per Share (Tables)", "shortName": "Earnings per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.nv5.com/role/BusinessAcquisitionsTables", "longName": "9954473 - Disclosure - Business Acquisitions (Tables)", "shortName": "Business Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.nv5.com/role/BilledandUnbilledReceivablesTables", "longName": "9954474 - Disclosure - Billed and Unbilled Receivables (Tables)", "shortName": "Billed and Unbilled Receivables (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.nv5.com/role/PropertyandEquipmentnetTables", "longName": "9954475 - Disclosure - Property and Equipment, net (Tables)", "shortName": "Property and Equipment, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.nv5.com/role/GoodwillandIntangibleAssetsTables", "longName": "9954476 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.nv5.com/role/AccruedLiabilitiesTables", "longName": "9954477 - Disclosure - Accrued Liabilities (Tables)", "shortName": "Accrued Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.nv5.com/role/NotesPayableandOtherObligationsTables", "longName": "9954478 - Disclosure - Notes Payable and Other Obligations (Tables)", "shortName": "Notes Payable and Other Obligations (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.nv5.com/role/ContingentConsiderationTables", "longName": "9954479 - Disclosure - Contingent Consideration (Tables)", "shortName": "Contingent Consideration (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.nv5.com/role/StockBasedCompensationTables", "longName": "9954480 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.nv5.com/role/ReportableSegmentsTables", "longName": "9954481 - Disclosure - Reportable Segments (Tables)", "shortName": "Reportable Segments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.nv5.com/role/StockholdersEquityTables", "longName": "9954482 - Disclosure - Stockholders' Equity (Tables)", "shortName": "Stockholders' Equity (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails", "longName": "9954483 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)", "shortName": "Summary of Significant Accounting Policies - Revenue Recognition (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesContractBalancesDetails", "longName": "9954484 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details)", "shortName": "Summary of Significant Accounting Policies - Contract Balances (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.nv5.com/role/EarningsperShareNarrativeDetails", "longName": "9954485 - Disclosure - Earnings per Share - Narrative (Details)", "shortName": "Earnings per Share - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails", "longName": "9954486 - Disclosure - Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details)", "shortName": "Earnings per Share - Schedule of Earnings Per Share, Basic and Diluted (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "longName": "9954487 - Disclosure - Business Acquisitions - Narrative (Details)", "shortName": "Business Acquisitions - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-56", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R40": { "role": "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "longName": "9954488 - Disclosure - Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details)", "shortName": "Business Acquisitions - Summary of the Fair Values of Assets Acquired and Liabilities Assumed (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-64", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-64", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.nv5.com/role/BusinessAcquisitionsResultsofOperationsFromanyBusinessAcquiredDetails", "longName": "9954489 - Disclosure - Business Acquisitions - Results of Operations From any Business Acquired (Details)", "shortName": "Business Acquisitions - Results of Operations From any Business Acquired (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails", "longName": "9954490 - Disclosure - Business Acquisitions - Pro Forma Consolidated Results of Operations (Details)", "shortName": "Business Acquisitions - Pro Forma Consolidated Results of Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails", "longName": "9954491 - Disclosure - Billed and Unbilled Receivables (Details)", "shortName": "Billed and Unbilled Receivables (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsReceivableGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsReceivableGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.nv5.com/role/PropertyandEquipmentnetDetails", "longName": "9954492 - Disclosure - Property and Equipment, net (Details)", "shortName": "Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails", "longName": "9954493 - Disclosure - Property and Equipment, net - Narrative (Details)", "shortName": "Property and Equipment, net - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "longName": "9954494 - Disclosure - Goodwill and Intangible Assets - Schedule of Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAcquiredDuringPeriod", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R47": { "role": "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "longName": "9954495 - Disclosure - Goodwill and Intangible Assets - Narrative (Details)", "shortName": "Goodwill and Intangible Assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-136", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R48": { "role": "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails", "longName": "9954496 - Disclosure - Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details)", "shortName": "Goodwill and Intangible Assets - Schedule of Finite-Lived Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.nv5.com/role/AccruedLiabilitiesDetails", "longName": "9954497 - Disclosure - Accrued Liabilities (Details)", "shortName": "Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails", "longName": "9954498 - Disclosure - Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details)", "shortName": "Notes Payable and Other Obligations - Summary of Notes Payable and Other Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FinanceLeaseLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FinanceLeaseLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "longName": "9954499 - Disclosure - Notes Payable and Other Obligations - Narrative (Details)", "shortName": "Notes Payable and Other Obligations - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-3", "name": "nvee:DebtCovenantLiquidityAvailability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:OtherCommitment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R52": { "role": "http://www.nv5.com/role/ContingentConsiderationDetails", "longName": "9954500 - Disclosure - Contingent Consideration (Details)", "shortName": "Contingent Consideration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "nvee:BusinessCombinationContingentConsiderationLiabilityAdditionsForAcquisitions", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R53": { "role": "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "longName": "9954501 - Disclosure - Stock-Based Compensation - Narrative (Details)", "shortName": "Stock-Based Compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-168", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-168", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails", "longName": "9954502 - Disclosure - Stock-Based Compensation - Restricted Stock Awards (Details)", "shortName": "Stock-Based Compensation - Restricted Stock Awards (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-165", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-165", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.nv5.com/role/IncomeTaxesDetails", "longName": "9954503 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DeferredIncomeTaxLiabilitiesNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R56": { "role": "http://www.nv5.com/role/ReportableSegmentsNarrativeDetails", "longName": "9954504 - Disclosure - Reportable Segments - Narrative (Details)", "shortName": "Reportable Segments - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails", "longName": "9954505 - Disclosure - Reportable Segments - Summarized Financial Information (Details)", "shortName": "Reportable Segments - Summarized Financial Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-188", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R58": { "role": "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "longName": "9954506 - Disclosure - Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details)", "shortName": "Reportable Segments - Revenue From Contracts With Customers by Geographic Location (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-199", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R59": { "role": "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "longName": "9954507 - Disclosure - Reportable Segments - Revenue by Customer Type (Details)", "shortName": "Reportable Segments - Revenue by Customer Type (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-240", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R60": { "role": "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "longName": "9954508 - Disclosure - Reportable Segments - Revenue by Contract Type (Details)", "shortName": "Reportable Segments - Revenue by Contract Type (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-272", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } }, "R61": { "role": "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails", "longName": "9954509 - Disclosure - Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details)", "shortName": "Stockholders' Equity - Schedule of Accumulated Other Comprehensive Income (Loss) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-25", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-301", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "body", "html" ], "reportCount": 1, "baseRef": "nvee-20230930.htm", "unique": true } } }, "tag": { "us-gaap_AccruedEmployeeBenefitsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedEmployeeBenefitsCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Benefits", "label": "Accrued Employee Benefits, Current", "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r27" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://www.nv5.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: accumulated depreciation", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease." } } }, "auth_ref": [ "r663", "r666", "r700" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred income tax liabilities, net", "terseLabel": "Deferred income tax liabilities, net", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r421", "r422", "r500" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.nv5.com/role/PropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r666", "r698" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r170", "r191", "r192", "r193", "r194", "r195", "r205", "r223", "r224", "r225", "r229", "r460", "r461", "r497", "r511", "r621" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails_1": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term debt, gross", "label": "Long-Term Debt, Gross", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r22", "r129", "r348" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r115" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r28", "r150", "r179", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r447", "r448", "r449", "r465", "r644", "r703", "r741", "r742" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME", "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Basic weighted average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r202", "r225" ] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails_1": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Finance leases", "label": "Finance Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r482", "r483" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r490" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: allowance for doubtful accounts", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r158", "r267", "r273" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails", "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities", "totalLabel": "Total", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r27" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/StockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders' Equity", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r118", "r178", "r349", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r457", "r593", "r594", "r604" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other current liabilities", "label": "Other Liabilities, Current", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r27", "r644" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r287", "r288", "r289", "r290", "r490", "r494" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 1.0 }, "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of notes payable and other obligations", "verboseLabel": "Current portion of notes payable and other obligations", "label": "Long-Term Debt and Lease Obligation, Current", "documentation": "Amount of long-term debt and lease obligation, classified as current." } } }, "auth_ref": [ "r27" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r31", "r82", "r502", "r550" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r30" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r53", "r56" ] }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments of contingent consideration", "label": "Payment for Contingent Consideration Liability, Financing Activities", "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date." } } }, "auth_ref": [ "r9" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r683" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Deferred tax liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r646", "r647", "r648", "r650", "r651", "r652", "r653", "r679", "r680", "r736", "r753", "r756" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchase of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r102" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Billed receivables", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r11" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Right-of-use lease assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r481" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r12", "r240" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r683" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted stock issuance, net", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r18", "r121" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization expense", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r12", "r52", "r57" ] }, "us-gaap_AccruedVacationCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedVacationCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued vacation", "label": "Accrued Vacation, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r27", "r61" ] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of debt issuance costs", "label": "Amortization of Debt Issuance Costs", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r97", "r343", "r477", "r675" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnet" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment, net", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r114", "r135", "r138", "r139" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME", "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted weighted average shares outstanding (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r204", "r225" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r149", "r159", "r179", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r446", "r448", "r465", "r644", "r703", "r704", "r741" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligation expected timing of satisfaction", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r137" ] }, "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Revenue By Major Customers By Reporting Segments", "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]", "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer." } } }, "auth_ref": [] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-lived Intangible Assets Acquired as Part of Business Combination [Table]", "label": "Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed information about the characteristics and cost, by total and major class, of indefinite-lived intangible assets acquired as part of a business combination. Indefinite-lived intangible assets are assets that have no physical form, but have expected future economic benefit. The future benefit is not expected to diminish over a stated period of time. Acquired indefinite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the entity) and in total." } } }, "auth_ref": [ "r54", "r70" ] }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.nv5.com/role/StockholdersEquityTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r35", "r738", "r739" ] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed." } } }, "auth_ref": [ "r53" ] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross revenues", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r236", "r237", "r248", "r253", "r254", "r260", "r262", "r264", "r374", "r375", "r489" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock", "presentation": [ "http://www.nv5.com/role/ContingentConsiderationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Changes Carrying Value Of Estimated Contingent Consideration", "label": "Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table Text Block]", "documentation": "Tabular disclosure of contingent payment arrangements including the terms that will result in payment and the accounting treatment that will be followed if such contingencies occur, including the potential impact on earnings per share if contingencies are to be settled in common stock of the entity. The description also may include the period over which amounts are expected to be paid, and changes in the amount since the previous reporting period. This also includes contingent options and commitments." } } }, "auth_ref": [] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization, Nonproduction", "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." } } }, "auth_ref": [ "r12", "r58" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesContractBalancesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from contract liability", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r236", "r237", "r248", "r253", "r254", "r260", "r262", "r264", "r374", "r375", "r489" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r115" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r182", "r183", "r184", "r230", "r489", "r533", "r537", "r543", "r544", "r545", "r546", "r547", "r548", "r551", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r564", "r565", "r566", "r567", "r568", "r570", "r572", "r573", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r590", "r649" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-term Debt Instruments [Table]", "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r29", "r59", "r60", "r78", "r79", "r81", "r83", "r119", "r120", "r181", "r322", "r323", "r324", "r325", "r326", "r328", "r333", "r334", "r335", "r336", "r338", "r339", "r340", "r341", "r342", "r343", "r346", "r478", "r626", "r627", "r628", "r629", "r630", "r676" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade name", "verboseLabel": "Trade name", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r71" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Accounts, Notes, Loans And Financing Receivable", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r33" ] }, "us-gaap_DeferredFinanceCostsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsGross", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt issuance costs", "label": "Debt Issuance Costs, Gross", "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r80" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r87", "r90", "r91", "r110", "r553", "r569", "r591", "r592", "r644", "r655", "r677", "r686", "r737", "r756" ] }, "us-gaap_OperatingLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseExpense", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Facilities and facilities related", "label": "Operating Lease, Expense", "documentation": "Amount of operating lease expense. Excludes sublease income." } } }, "auth_ref": [ "r740" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r86", "r350" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/ContingentConsiderationDetails": { "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0, "order": 1.0 }, "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of contingent consideration", "verboseLabel": "Current portion of contingent consideration", "label": "Business Combination, Contingent Consideration, Liability, Current", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r5", "r76" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r111" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average interest rate (as a percent)", "label": "Debt, Weighted Average Interest Rate", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r401" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 }, "http://www.nv5.com/role/ContingentConsiderationDetails": { "parentTag": "us-gaap_BusinessCombinationContingentConsiderationLiability", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration, less current portion", "verboseLabel": "Contingent consideration, less current portion", "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r5", "r76" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r399" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r399" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails", "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivables, net", "totalLabel": "Unbilled receivables, net", "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r363", "r365", "r376" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning (in shares)", "periodEndLabel": "Ending (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r396", "r397" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning (in dollars per share)", "periodEndLabel": "Ending (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r396", "r397" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r86", "r551" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average vesting period (in years)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r414" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r264", "r634", "r709", "r751", "r752" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Vested (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r400" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r86", "r551", "r569", "r756", "r757" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r29", "r181", "r322", "r323", "r324", "r325", "r326", "r328", "r333", "r334", "r335", "r336", "r338", "r339", "r340", "r341", "r342", "r343", "r478", "r626", "r627", "r628", "r629", "r630", "r676" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value of restricted shares vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r403" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r400" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "negatedLabel": "Interest expense", "label": "Interest Expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r80", "r133", "r168", "r239", "r476", "r575", "r654", "r755" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r63", "r64", "r381" ] }, "us-gaap_LineOfCreditFacilityInterestRateDuringPeriod": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInterestRateDuringPeriod", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate during period (as a percent)", "label": "Line of Credit Facility, Interest Rate During Period", "documentation": "The effective interest rate during the reporting period." } } }, "auth_ref": [ "r25" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23", "r644" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r86", "r350" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r25" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Office furniture and equipment", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r656" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r51", "r55" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.nv5.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate (as a percent)", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r424" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r147", "r232", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r258", "r264", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r292", "r294", "r295", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r625", "r667", "r751" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of shares authorized (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r643" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r89", "r121", "r506", "r528", "r532", "r534", "r552", "r644" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/AccruedLiabilities" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued Liabilities", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r24" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net Amount", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r490" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Line Items]", "label": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r181", "r322", "r323", "r324", "r325", "r326", "r328", "r333", "r334", "r335", "r336", "r338", "r339", "r340", "r341", "r342", "r343", "r346", "r478", "r626", "r627", "r628", "r629", "r630", "r676" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r22", "r84", "r85", "r128", "r129", "r181", "r322", "r323", "r324", "r325", "r326", "r328", "r333", "r334", "r335", "r336", "r338", "r339", "r340", "r341", "r342", "r343", "r478", "r626", "r627", "r628", "r629", "r630", "r676" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r658" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Carrying Amount", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r494" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r18", "r32", "r145", "r165", "r166", "r167", "r182", "r183", "r184", "r188", "r196", "r198", "r230", "r269", "r272", "r362", "r416", "r417", "r418", "r428", "r429", "r450", "r451", "r452", "r453", "r454", "r456", "r459", "r470", "r471", "r472", "r473", "r474", "r475", "r484", "r525", "r526", "r527", "r536", "r590" ] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-lived intangible assets:", "label": "Finite-Lived Intangible Assets, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesOther": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesOther", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Payment of contingent consideration with common stock (in shares)", "label": "Stock Issued During Period, Shares, Other", "documentation": "Number of shares of stock issued attributable to transactions classified as other." } } }, "auth_ref": [] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquired Finite-Lived Intangible Assets [Line Items]", "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails", "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.nv5.com/role/StockBasedCompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-Based Compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r379", "r384", "r412", "r413", "r415", "r642" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]", "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "nvee_AximGeospatialLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "AximGeospatialLLCMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Axim", "label": "Axim Geospatial, LLC [Member]", "documentation": "Axim Geospatial, LLC" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r182", "r183", "r184", "r230", "r489", "r533", "r537", "r543", "r544", "r545", "r546", "r547", "r548", "r551", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r564", "r565", "r566", "r567", "r568", "r570", "r572", "r573", "r576", "r577", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r585", "r586", "r587", "r590", "r649" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodValueOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueOther", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Payment of contingent consideration with common stock", "label": "Stock Issued During Period, Value, Other", "documentation": "Value of shares of stock issued attributable to transactions classified as other." } } }, "auth_ref": [] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Tax Disclosure [Abstract]", "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities, Name [Domain]", "label": "Antidilutive Securities, Name [Domain]", "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." } } }, "auth_ref": [ "r44" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r657" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic earnings per share (in dollars per share)", "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic", "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r664", "r665" ] }, "nvee_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets", "label": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Right-Of-Use Assets", "documentation": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Right-Of-Use Assets" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities [Axis]", "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r44" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r165", "r166", "r470", "r471", "r472", "r473", "r474", "r475" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r661" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive securities (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r226" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r21" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Accrued Liabilities", "label": "Schedule of Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of The Fair Values Of The Assets Acquires And Liabilities Assumed", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r123" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income \u2013 diluted", "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "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." } } }, "auth_ref": [ "r172", "r204", "r210", "r211", "r212", "r213", "r222", "r225" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation expense", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r12", "r58" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted earnings per share (in dollars per share)", "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r664", "r665" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive income (loss)", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r34", "r35", "r93", "r157", "r505", "r529", "r532" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Unvested Restricted Shares of Common Stock and Restricted Stock Units", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r401" ] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtInstrumentsTextBlock", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Notes Payable And Other Obligations", "label": "Schedule of Long-Term Debt Instruments [Table Text Block]", "documentation": "Tabular disclosure of long-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 entity, if longer." } } }, "auth_ref": [ "r29", "r59", "r60", "r78", "r79", "r81", "r83", "r119", "r120", "r627", "r629", "r678" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Change in fair value of contingent consideration", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r445", "r674" ] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r657" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Accounting Policies", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r106", "r176" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "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." } } }, "auth_ref": [ "r44" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total estimated fair value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding", "documentation": "Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r657" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r153", "r289" ] }, "us-gaap_CapitalLeaseObligationsIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalLeaseObligationsIncurred", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Finance leases", "label": "Lease Obligation Incurred", "documentation": "Amount of increase in lease obligation from new lease." } } }, "auth_ref": [ "r41", "r42" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r469" ] }, "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "presentation": [ "http://www.nv5.com/role/OrganizationandNatureofBusinessOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Organization and Nature of Business Operations", "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]", "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles." } } }, "auth_ref": [ "r106", "r107", "r108", "r125" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r657" ] }, "nvee_IncreaseDecreaseInContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "IncreaseDecreaseInContingentConsiderationLiability", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration", "label": "Increase (Decrease) In Contingent Consideration Liability", "documentation": "Increase (Decrease) In Contingent Consideration Liability" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r6", "r103" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2023 Acquisitions", "label": "Goodwill, Acquired During Period", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r278", "r625" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r657" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents \u2013 beginning of period", "periodEndLabel": "Cash and cash equivalents \u2013 end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r40", "r103", "r175" ] }, "us-gaap_LossContingencyDisclosures": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyDisclosures", "presentation": [ "http://www.nv5.com/role/ContingentConsideration" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent Consideration", "label": "Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for loss and gain contingencies. Describes any existing condition, situation, or set of circumstances involving uncertainty as of the balance sheet date (or prior to issuance of the financial statements) as to a probable or reasonably possible loss incurred by an entity that will ultimately be resolved when one or more future events occur or fail to occur, and typically discloses the amount of loss recorded or a range of possible loss, or an assertion that no reasonable estimate can be made." } } }, "auth_ref": [ "r298", "r299", "r300", "r302", "r304", "r305", "r306", "r307" ] }, "nvee_PurchasesOfCommonStockTenderedByEmployeesToSatisfyTheRequiredWithholdingTaxesRelatedToStockBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PurchasesOfCommonStockTenderedByEmployeesToSatisfyTheRequiredWithholdingTaxesRelatedToStockBasedCompensation", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation (in shares)", "label": "Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation", "documentation": "Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Current portion of lease liability", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r482" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r625", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r695", "r696", "r697" ] }, "nvee_DevelopedTechnologyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "DevelopedTechnologyMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Developed Technology [Member]", "documentation": "Developed Technology [Member]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r11" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r105" ] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r659" ] }, "us-gaap_OtherCommitment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitment", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other obligations", "label": "Other Commitment", "documentation": "Minimum amount of other commitment not otherwise specified in the taxonomy. Excludes commitments explicitly modeled in the taxonomy, including but not limited to, long-term and short-term purchase commitments, recorded and unrecorded purchase obligations, supply commitments, registration payment arrangements, leases, debt, product warranties, guarantees, environmental remediation obligations, and pensions." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement, Restricted Stock Unit, Activity", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r62" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payments to acquire businesses", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r37", "r442" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r173" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "negatedLabel": "Income tax benefit (expense)", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r134", "r142", "r197", "r198", "r243", "r423", "r434", "r512" ] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r291", "r293", "r574" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting [Abstract]", "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover [Abstract]", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r293", "r574" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Property And Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r13" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivables" ], "lang": { "en-us": { "role": { "terseLabel": "Billed and Unbilled Receivables", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r685" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities, net of impact of acquisitions:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r11" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails", "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r13" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410" ] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Standards Update and Change in Accounting Principle [Abstract]", "label": "Accounting Standards Update and Change in Accounting Principle [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, useful life (in years)", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r112" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Useful life (in years)", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r710", "r711", "r712", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r729", "r730", "r731", "r732", "r733", "r734", "r735" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r88", "r644", "r754" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r152", "r275", "r495", "r625", "r644", "r688", "r695" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total Assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets", "documentation": "Amount of assets acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Receivables [Abstract]", "label": "Receivables [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r87" ] }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesAcquisitions", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock issuance for acquisitions (in shares)", "label": "Stock Issued During Period, Shares, Acquisitions", "documentation": "Number of shares of stock issued during the period pursuant to acquisitions." } } }, "auth_ref": [ "r86", "r87", "r121" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.nv5.com/role/EarningsperShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Reconciliation Of The Net Income And Weighted Average Shares Outstanding For The Calculation Of Basic And Diluted Earnings Per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r682" ] }, "us-gaap_SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesOfIndividuallyImmaterialBusinessAcquisitionsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series of Individually Immaterial Business Acquisitions", "label": "Series of Individually Immaterial Business Acquisitions [Member]", "documentation": "Represents the aggregation and reporting of combined amounts of individually immaterial business combinations that were completed during the period." } } }, "auth_ref": [ "r67" ] }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermLinesOfCredit", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments of borrowings from Senior Credit Facility", "label": "Repayments of Long-Term Lines of Credit", "documentation": "The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer." } } }, "auth_ref": [ "r39" ] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r180", "r420", "r425", "r426", "r427", "r433", "r435", "r436", "r437", "r535" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted stock issuance, net (in shares)", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r18", "r86", "r87", "r121" ] }, "us-gaap_NotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesPayable", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notes payable outstanding balance", "label": "Notes Payable", "documentation": "Including the current and noncurrent portions, aggregate carrying amount of all types of notes payable, as of the balance sheet date, with initial maturities beyond one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r22", "r129", "r749" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r232", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r258", "r264", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r294", "r295", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r625", "r667", "r751" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.01 par value; 45,000,000 shares authorized, 15,892,912 and 15,523,300 shares issued and outstanding as of September 30, 2023 and December 31, 2022, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r87", "r504", "r644" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r127", "r155", "r179", "r235", "r250", "r256", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r446", "r448", "r465", "r499", "r563", "r644", "r655", "r703", "r704", "r741" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r380", "r382", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r87", "r551" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Billed and unbilled receivables, net", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares outstanding (in shares)", "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r18", "r87", "r551", "r569", "r756", "r757" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r380", "r382", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410" ] }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsResultsofOperationsFromanyBusinessAcquiredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross revenues", "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [ "r66" ] }, "us-gaap_RepaymentsOfNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfNotesPayable", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments on notes payable", "label": "Repayments of Notes Payable", "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [ "r39" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Excess consideration over the amounts assigned to the net assets acquired (Goodwill)", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r69" ] }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfProductiveAssets", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sale of assets", "label": "Proceeds from Sale of Productive Assets", "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r101" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r154" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r36", "r162", "r164", "r169", "r496", "r510" ] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails_1": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Debt issuance costs, net of amortization", "label": "Debt Issuance Costs, Net", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r80", "r706" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Accrued Liabilities, Current", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r27" ] }, "us-gaap_NoncashOrPartNoncashAcquisitionPayablesAssumed1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashOrPartNoncashAcquisitionPayablesAssumed1", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Notes payable and other obligations issued for acquisitions", "label": "Noncash or Part Noncash Acquisition, Payables Assumed", "documentation": "The amount of payables that an Entity assumes in acquiring a business or in consideration for an asset received in a noncash (or part noncash) acquisition. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [ "r41", "r42", "r43" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r657" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r262", "r263", "r538", "r539", "r540", "r596", "r598", "r601", "r603", "r605", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r619", "r633", "r648", "r709", "r751" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r248", "r249", "r250", "r251", "r252", "r258" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r181", "r237", "r248", "r249", "r250", "r251", "r252", "r254", "r258", "r308", "r309", "r310", "r311", "r313", "r314", "r316", "r318", "r319", "r703", "r704" ] }, "us-gaap_AccountsReceivableGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGross", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Billed receivables", "label": "Accounts Receivable, before Allowance for Credit Loss", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business." } } }, "auth_ref": [ "r156", "r265", "r750" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r68", "r69" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets:", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r68", "r69" ] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r68", "r69" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r181", "r237", "r248", "r249", "r250", "r251", "r252", "r254", "r258", "r308", "r309", "r310", "r311", "r313", "r314", "r316", "r318", "r319", "r703", "r704" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.nv5.com/role/EarningsperShare" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r201", "r226", "r227", "r228" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r657" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r262", "r263", "r538", "r539", "r540", "r596", "r598", "r601", "r603", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r619", "r633", "r648", "r709", "r751" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeInterestExpenseInterestIncomeIncomeTaxesExtraordinaryItemsNoncontrollingInterestsNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "presentation": [ "http://www.nv5.com/role/RecentAccountingPronouncements" ], "lang": { "en-us": { "role": { "terseLabel": "Recent Accounting Pronouncements", "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]", "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle." } } }, "auth_ref": [ "r140", "r141", "r143", "r146", "r185", "r186", "r189", "r190", "r199", "r200", "r270", "r271", "r430", "r431", "r432", "r455", "r458", "r462", "r463", "r464", "r466", "r467", "r468", "r479", "r480", "r485", "r491", "r492", "r493", "r528", "r529", "r530", "r531", "r532" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r49", "r94" ] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "nvee_BusinessCombinationContingentConsiderationLiabilityReductionOfLiabilityForPaymentsMade": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationContingentConsiderationLiabilityReductionOfLiabilityForPaymentsMade", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Reduction of liability for payments made", "label": "Business Combination, Contingent Consideration, Liability, Reduction of Liability for Payments Made", "documentation": "Represents the amount of reduction of liability for payments made, effecting a change in the contingent consideration liability during the period." } } }, "auth_ref": [] }, "nvee_PrivateSectorMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PrivateSectorMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Private sector", "label": "Private Sector [Member]", "documentation": "Information related to the private sector." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r53", "r56", "r490" ] }, "nvee_BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseOfLiabilityRelatedToReMeasurementOfFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationContingentConsiderationLiabilityIncreaseDecreaseOfLiabilityRelatedToReMeasurementOfFairValue", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "(Decrease) increase of liability related to re-measurement of fair value", "label": "Business Combination, Contingent Consideration, Liability, Increase (Decrease) Of Liability Related To Re-measurement Of Fair Value", "documentation": "Represents the amount of increase (reduction) of the contingent consideration liability during the period related to re-measurement of fair value." } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeInterestExpenseInterestIncomeIncomeTaxesExtraordinaryItemsNoncontrollingInterestsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r98", "r179", "r235", "r249", "r255", "r258", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r465", "r623", "r703" ] }, "nvee_GEOMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "GEOMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "GEO", "label": "GEO [Member]", "documentation": "GEO [Member]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Aggregate purchase price", "totalLabel": "Total Consideration", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r2", "r3", "r15" ] }, "nvee_BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BasisOfPresentationAndPrinciplesOfConsolidationPolicyTextBlock", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation and Principles of Consolidation", "label": "Basis of Presentation and Principles of Consolidation [Policy Text Block]", "documentation": "Disclosure of accounting policy for the basis of presentation and principles of consolidation for the company." } } }, "auth_ref": [] }, "nvee_RevenueRemainingPerformanceObligationSatisfactionPeriodDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "RevenueRemainingPerformanceObligationSatisfactionPeriodDomain", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Satisfaction Period [Domain]", "label": "Revenue, Remaining Performance Obligation, Satisfaction Period [Domain]", "documentation": "Revenue, Remaining Performance Obligation, Satisfaction Period [Domain]" } } }, "auth_ref": [] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Line Items]", "label": "Goodwill [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r625" ] }, "nvee_IncreaseDecreaseInAccruedLiabilitiesAndOtherLongTermLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherLongTermLiabilities", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities and other long-term liabilities", "label": "Increase (Decrease) in Accrued Liabilities And Other Long-Term Liabilities", "documentation": "Increase (Decrease) in Accrued Liabilities And Other Long-Term Liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitions" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisitions", "label": "Business Combination Disclosure [Text Block]", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r122", "r441" ] }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets", "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets." } } }, "auth_ref": [ "r14", "r50" ] }, "nvee_NetChangeInOperatingLeases": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "NetChangeInOperatingLeases", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash lease expense", "label": "Non-cash lease expense", "documentation": "Amount of net increase (decrease) in right-of-use assets and operating lease liabilities during the period." } } }, "auth_ref": [] }, "nvee_PublicAndQuasiPublicSectorMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PublicAndQuasiPublicSectorMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Public and quasi-public sector", "label": "Public and Quasi-public Sector [Member]", "documentation": "Information related to the public and quasi public sector." } } }, "auth_ref": [] }, "nvee_PayrollAndRelatedTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PayrollAndRelatedTaxes", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payroll and related taxes", "label": "Payroll and Related Taxes", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for payroll and statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [] }, "nvee_PaymentOfContingentConsiderationAndOtherObligationsWithCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PaymentOfContingentConsiderationAndOtherObligationsWithCommonStock", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Payment of contingent consideration with common stock", "label": "Payment of Contingent Consideration and Other Obligations With Common Stock", "documentation": "Common stock issued as payment for contingent consideration." } } }, "auth_ref": [] }, "nvee_SubConsultantServices": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SubConsultantServices", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_DirectOperatingCosts", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Sub-consultant services", "label": "Sub-consultant Services", "documentation": "The cost of sub-consultant services." } } }, "auth_ref": [] }, "nvee_PeriodTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PeriodTwoMember", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period Two", "label": "Period Two [Member]", "documentation": "Period Two [Member]" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill [Table]", "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r625" ] }, "nvee_CostReimbursableContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "CostReimbursableContractsMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost-reimbursable contracts", "label": "Cost-reimbursable Contracts [Member]", "documentation": "Contract with customer in which amount of contract may be cost-reimbursable." } } }, "auth_ref": [] }, "nvee_EquityPlan2011Member": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "EquityPlan2011Member", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Plan 2011", "label": "Equity Plan 2011 [Member]", "documentation": "Represents the 2011 equity incentive plan." } } }, "auth_ref": [] }, "nvee_CommitmentsandContingenciesDisclosureRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "CommitmentsandContingenciesDisclosureRollForward", "presentation": [ "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Roll Forward]", "label": "Commitments and Contingencies Disclosure [Roll Forward]", "documentation": "Commitments and Contingencies Disclosure [Roll Forward]" } } }, "auth_ref": [] }, "nvee_OtherAcquisitionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "OtherAcquisitionMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Acquisition [Member]", "documentation": "Other Acquisition" } } }, "auth_ref": [] }, "nvee_BusinessCombinationContingentConsiderationLiabilityAdditionsForAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationContingentConsiderationLiabilityAdditionsForAcquisitions", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions for acquisitions", "label": "Business Combination, Contingent Consideration, Liability, Additions For Acquisitions", "documentation": "Represents the additions for acquisitions during the period effecting a change in the contingent consideration liability." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]", "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]", "documentation": "Tabular disclosure about the extent of the entity's reliance on its major customers." } } }, "auth_ref": [ "r109" ] }, "nvee_WeightedAverageCommonSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "WeightedAverageCommonSharesOutstandingAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common shares outstanding:", "label": "Weighted Average Common Shares Outstanding [Abstract]", "documentation": "Weighted Average Common Shares Outstanding [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CustomerListsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerListsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer backlog", "verboseLabel": "Customer backlog", "label": "Customer Lists [Member]", "documentation": "Information about customers such as their name and contact information; it may also be an extensive database that includes other information about the customers such as their order history and demographic information." } } }, "auth_ref": [ "r73" ] }, "nvee_DenominatorAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "DenominatorAbstract", "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Denominator [Abstract]", "documentation": "Denominator [Abstract]" } } }, "auth_ref": [] }, "nvee_StockPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "StockPayableMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other obligations", "label": "Stock Payable [Member]", "documentation": "Represents the stock payable." } } }, "auth_ref": [] }, "nvee_SalariesAndWagesPayrollTaxesAndBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SalariesAndWagesPayrollTaxesAndBenefits", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Salaries and wages, payroll taxes, and benefits", "label": "Salaries and Wages, Payroll Taxes and Benefits", "documentation": "Labor and Related Expense Excluding Stock Based Compensation" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Revenue From External Customers By Products And Services", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information." } } }, "auth_ref": [ "r48" ] }, "nvee_OtherDirectCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "OtherDirectCostsMember", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Direct Costs", "label": "Other Direct Costs [Member]", "documentation": "Other Direct Costs [Member]" } } }, "auth_ref": [] }, "nvee_NumeratorAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "NumeratorAbstract", "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Numerator [Abstract]", "documentation": "Numerator [Abstract]" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "nvee_DebtCovenantLiquidityAvailability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "DebtCovenantLiquidityAvailability", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt covenant, liquidity availability", "label": "Debt Covenant, Liquidity Availability", "documentation": "Debt Covenant, Liquidity Availability" } } }, "auth_ref": [] }, "nvee_IncreaseDecreaseInContractWithCustomerFromUnbilledReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "IncreaseDecreaseInContractWithCustomerFromUnbilledReceivables", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Unbilled receivables", "label": "Increase Decrease in Contract With Customer From Unbilled Receivables", "documentation": "The increase (decrease) during the reporting period of the amount of unbilled receivables from contracts with customers for work performed for which billing has not occurred, net of uncollectible accounts." } } }, "auth_ref": [] }, "nvee_ARCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "ARCreditAgreementMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "AR Credit Agreement", "label": "AR Credit Agreement [Member]", "documentation": "AR Credit Agreement [Member]" } } }, "auth_ref": [] }, "nvee_BTSMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BTSMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "BTS", "label": "BTS [Member]", "documentation": "Represents the operating and reportable segment Buildings, Energy & Science (BES), which includes energy and environmental practices as well as buildings program management." } } }, "auth_ref": [] }, "nvee_StockIssuedDuringPeriodValueAcquisitionsNetOfIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "StockIssuedDuringPeriodValueAcquisitionsNetOfIssuanceCosts", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock issuance for acquisitions", "label": "Stock Issued During Period, Value, Acquisitions, Net Of Issuance Costs", "documentation": "Stock Issued During Period, Value, Acquisitions, Net Of Issuance Costs" } } }, "auth_ref": [] }, "nvee_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsNonvestedWeightedAverageGrantDateFairValueRollForwardRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsNonvestedWeightedAverageGrantDateFairValueRollForwardRollForward", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted Average Grant Date Fair Value", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Roll Forward] [Roll Forward]", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Roll Forward] [Roll Forward]" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line Two", "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "nvee_LineOfCreditFacilityCovenantMinimumFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "LineOfCreditFacilityCovenantMinimumFixedChargeCoverageRatio", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum fixed charge coverage ratio", "label": "Line of Credit Facility, Covenant, Minimum Fixed Charge Coverage Ratio", "documentation": "The Minimum level of fixed charge coverage ratio under the line of credit facility." } } }, "auth_ref": [] }, "nvee_LineOfCreditFacilityCovenantNetLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "LineOfCreditFacilityCovenantNetLeverageRatio", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Covenant, net leverage ratio", "label": "Line of Credit Facility, Covenant, Net Leverage Ratio", "documentation": "Line of Credit Facility, Covenant, Net Leverage Ratio" } } }, "auth_ref": [] }, "nvee_PeriodOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PeriodOneMember", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period One", "label": "Period One [Member]", "documentation": "Period One [Member]" } } }, "auth_ref": [] }, "nvee_INFMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "INFMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails", "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "INF", "label": "INF [Member]", "documentation": "Represents the operating and reportable segment Infrastructure (INF), which includes engineering, civil program management, and construction quality assurance practices." } } }, "auth_ref": [] }, "nvee_BusinessCombinationProFormaInformationIncomeBeforeIncomeTaxesOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationProFormaInformationIncomeBeforeIncomeTaxesOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsResultsofOperationsFromanyBusinessAcquiredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income before income taxes", "label": "Business Combination Pro Forma Information Income Before Income Taxes of Acquiree Since Acquisition Date Actual", "documentation": "This element represents the amount of income before income taxes of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [] }, "nvee_ConsiderationTransferredCashNotesAndCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "ConsiderationTransferredCashNotesAndCommonStock", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration paid (Cash, Notes and/or stock)", "label": "Consideration paid (Cash, Notes and/or stock)", "documentation": "This item represents cash and common stock transferred plus the liabilities assumed on the sale date." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award vesting period (n years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r642" ] }, "nvee_OtherDirectCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "OtherDirectCosts", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_DirectOperatingCosts", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Other direct costs", "label": "Other Direct Costs", "documentation": "Other cost of labor directly related to good produced and service rendered." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "verboseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r74" ] }, "nvee_LineOfCreditFacilityAvailableIncreaseInBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "LineOfCreditFacilityAvailableIncreaseInBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Available increase in borrowing capacity", "label": "Line of Credit Facility, Available Increase in Borrowing Capacity", "documentation": "Line of Credit Facility, Available Increase in Borrowing Capacity" } } }, "auth_ref": [] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Currency Translation of non-USD functional currency goodwill", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r282" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost not yet recognized, term (in years)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r414" ] }, "nvee_SeniorCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SeniorCreditFacilityMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Senior credit facility", "verboseLabel": "Senior Credit Facility", "label": "Senior Credit Facility [Member]", "documentation": "Represents the senior credit facility debt instrument." } } }, "auth_ref": [] }, "nvee_VisualInformationSolutionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "VisualInformationSolutionsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "VIS", "label": "Visual Information Solutions [Member]", "documentation": "Visual Information Solutions" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "nvee_LiabilityBasedAwardsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "LiabilityBasedAwardsMember", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liability Based Awards", "label": "Liability Based Awards [Member]", "documentation": "Liability Based Awards" } } }, "auth_ref": [] }, "nvee_PurchasesOfCommonStockTenderedByEmployeesToSatisfyTheRequiredWithholdingTaxesRelatedToStockBasedCompensation1": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "PurchasesOfCommonStockTenderedByEmployeesToSatisfyTheRequiredWithholdingTaxesRelatedToStockBasedCompensation1", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation", "label": "Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation 1", "documentation": "Purchases of Common Stock Tendered by Employees to Satisfy the Required Withholding Taxes Related to Stock-based Compensation 1" } } }, "auth_ref": [] }, "nvee_RevenueRemainingPerformanceObligationSatisfactionPeriodAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "RevenueRemainingPerformanceObligationSatisfactionPeriodAxis", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Satisfaction Period [Axis]", "label": "Revenue, Remaining Performance Obligation, Satisfaction Period [Axis]", "documentation": "Revenue, Remaining Performance Obligation, Satisfaction Period [Axis]" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r170", "r191", "r192", "r193", "r194", "r195", "r202", "r205", "r223", "r224", "r225", "r229", "r460", "r461", "r497", "r511", "r621" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Finite-lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r53", "r56" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recent Accounting Pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss)", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r10", "r16", "r126", "r161", "r164" ] }, "nvee_SecondARCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SecondARCreditAgreementMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Second A&R Credit Agreement", "label": "Second A&R Credit Agreement [Member]", "documentation": "Second A&R Credit Agreement" } } }, "auth_ref": [] }, "nvee_SurveyAndFieldEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "SurveyAndFieldEquipmentMember", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Survey and field equipment", "label": "Survey and Field Equipment [Member]", "documentation": "Represents the property and equipment that are classified as survey and field equipment." } } }, "auth_ref": [] }, "nvee_APICShareBasedPaymentArrangementReclassificationsIncreaseForCostRecognition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "APICShareBasedPaymentArrangementReclassificationsIncreaseForCostRecognition", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification of liability-classified awards to equity-classified awards", "label": "APIC, Share-Based Payment Arrangement, Reclassifications, Increase for Cost Recognition", "documentation": "APIC, Share-Based Payment Arrangement, Reclassifications, Increase for Cost Recognition" } } }, "auth_ref": [] }, "nvee_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPrepaidExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPrepaidExpenses", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses", "label": "Prepaid expenses", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, acquired at the acquisition date." } } }, "auth_ref": [] }, "nvee_AccruedOperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "AccruedOperatingExpenses", "crdr": "credit", "calculation": { "http://www.nv5.com/role/AccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nv5.com/role/AccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued operating expenses", "label": "Accrued Operating Expenses", "documentation": "Accrued Operating Expenses" } } }, "auth_ref": [] }, "nvee_ContingentConsiderationEarnOutNonCash": { "xbrltype": "monetaryItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "ContingentConsiderationEarnOutNonCash", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration (earn-out)", "label": "Contingent Consideration Earn-out, Non-cash", "documentation": "Contingent Consideration Earn-out, Non-cash" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation losses, net of tax", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r10", "r16", "r126" ] }, "nvee_UncollateralizedPromissoryNoteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.nv5.com/20230930", "localname": "UncollateralizedPromissoryNoteMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Uncollateralized Promissory Notes", "verboseLabel": "Uncollateralized promissory notes", "label": "Uncollateralized Promissory Note [Member]", "documentation": "A written promise to pay a note to a third party with no attached collateral." } } }, "auth_ref": [] }, "us-gaap_DirectOperatingCostsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DirectOperatingCostsAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Direct costs:", "label": "Direct Operating Costs [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligations" ], "lang": { "en-us": { "role": { "terseLabel": "Notes Payable and Other Obligations", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r117", "r177", "r321", "r327", "r328", "r329", "r330", "r331", "r332", "r337", "r344", "r345", "r347" ] }, "us-gaap_DirectOperatingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DirectOperatingCosts", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total direct costs", "label": "Direct Operating Costs", "documentation": "The aggregate direct operating costs incurred during the reporting period." } } }, "auth_ref": [ "r99" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r301", "r303", "r304", "r305", "r377", "r378", "r407", "r408", "r409", "r486", "r487", "r524", "r541", "r542", "r595", "r597", "r599", "r600", "r602", "r616", "r617", "r624", "r631", "r641", "r645", "r648", "r701", "r705", "r744", "r745", "r746", "r747", "r748" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r116", "r296", "r297", "r606", "r702" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred compensation", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r411", "r419" ] }, "us-gaap_LongTermDebtAndCapitalLeaseObligations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligations", "crdr": "credit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails": { "parentTag": "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "weight": 1.0, "order": 2.0 }, "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Notes payable and other obligations, less current portion", "terseLabel": "Notes payable and other obligations, less current portion", "label": "Long-Term Debt and Lease Obligation", "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent." } } }, "auth_ref": [ "r22", "r501" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r375", "r632", "r633", "r634", "r635", "r636", "r637", "r638" ] }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerBasisOfPricingAxis", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Basis of Pricing [Axis]", "label": "Contract with Customer, Basis of Pricing [Axis]", "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer." } } }, "auth_ref": [ "r635", "r709" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r301", "r303", "r304", "r305", "r378", "r487", "r524", "r541", "r542", "r595", "r597", "r599", "r600", "r602", "r616", "r617", "r624", "r631", "r641", "r645", "r705", "r743", "r744", "r745", "r746", "r747", "r748" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r301", "r303", "r304", "r305", "r377", "r378", "r407", "r408", "r409", "r486", "r487", "r524", "r541", "r542", "r595", "r597", "r599", "r600", "r602", "r616", "r617", "r624", "r631", "r641", "r645", "r648", "r701", "r705", "r744", "r745", "r746", "r747", "r748" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETSParentheticals" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r87" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments", "label": "Goodwill, Purchase Accounting Adjustments", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r1", "r694" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Comprehensive income:", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r11" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r301", "r303", "r304", "r305", "r378", "r487", "r524", "r541", "r542", "r595", "r597", "r599", "r600", "r602", "r616", "r617", "r624", "r631", "r641", "r645", "r705", "r743", "r744", "r745", "r746", "r747", "r748" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining revenue performance obligation amount", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r136" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r137" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash investing and financing activities:", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FixedPriceContractMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed-unit price contracts", "label": "Fixed-Price Contract [Member]", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r635" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for doubtful accounts", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r171", "r274" ] }, "us-gaap_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationConsiderationTransferred1", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent earn-out liability (Cash and stock)", "label": "Business Combination, Consideration Transferred, Liabilities Incurred", "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination." } } }, "auth_ref": [ "r2", "r3", "r75", "r443" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToContingentlyIssuableShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToContingentlyIssuableShares", "calculation": { "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of issuable shares related to acquisitions (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Contingently Issuable Shares", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of contingently issuable shares. Contingently issuable shares are those shares that are issuable for little or no cash contingent on certain conditions being met." } } }, "auth_ref": [ "r207", "r208", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r225" ] }, "us-gaap_NumberOfBusinessesAcquired": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfBusinessesAcquired", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of businesses acquired", "label": "Number of Businesses Acquired", "documentation": "The number of businesses acquired by the entity during the period." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Aggregate credit agreement", "label": "Proceeds from Lines of Credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r38", "r676" ] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerBasisOfPricingDomain", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Basis of Pricing [Domain]", "label": "Contract with Customer, Basis of Pricing [Domain]", "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts." } } }, "auth_ref": [ "r635", "r709" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r660" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Billings in excess of costs and estimated earnings on uncompleted contracts", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r363", "r364", "r376" ] }, "us-gaap_ProceedsFromLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLongTermLinesOfCredit", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowings from Senior Credit Facility", "label": "Proceeds from Long-Term Lines of Credit", "documentation": "The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer." } } }, "auth_ref": [ "r38" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of dilutive non-vested restricted shares and units (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r206", "r207", "r209", "r225", "r383" ] }, "us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAccumulatedAllowanceForCreditLossCurrent", "crdr": "credit", "calculation": { "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: allowance for doubtful accounts", "label": "Contract with Customer, Asset, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r273", "r365" ] }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Potential earn-out in cash and stock", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination." } } }, "auth_ref": [ "r2", "r3" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.nv5.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r662", "r668", "r699" ] }, "us-gaap_ContractWithCustomerAssetGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetGrossCurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivables", "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current", "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r707", "r708" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.nv5.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r13" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r174" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 }, "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/BilledandUnbilledReceivablesDetails", "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Billed receivables, net", "totalLabel": "Billed receivables, net", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r265", "r266" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r174" ] }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Other current liabilities", "label": "Increase (Decrease) in Other Current Liabilities", "documentation": "Amount of increase (decrease) in current liabilities classified as other." } } }, "auth_ref": [ "r674" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r416", "r417", "r418", "r536", "r679", "r680", "r681", "r736", "r756" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.nv5.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Obligations", "label": "Revenue from Contract with Customer [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r144", "r366", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r618" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r145", "r182", "r183", "r184", "r188", "r196", "r198", "r269", "r272", "r416", "r417", "r418", "r428", "r429", "r450", "r452", "r453", "r456", "r459", "r525", "r527", "r536", "r756" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit", "label": "Line of Credit [Member]", "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars." } } }, "auth_ref": [] }, "us-gaap_GainLossOnDispositionOfAssets1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnDispositionOfAssets1", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gain on disposals of property and equipment", "label": "Gain (Loss) on Disposition of Assets", "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee." } } }, "auth_ref": [ "r675" ] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails", "http://www.nv5.com/role/GoodwillandIntangibleAssetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-compete", "label": "Noncompete Agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r72" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.nv5.com/role/ReportableSegments" ], "lang": { "en-us": { "role": { "terseLabel": "Reportable Segments", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r231", "r232", "r233", "r234", "r235", "r247", "r252", "r256", "r257", "r258", "r259", "r260", "r261", "r264" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from financing activities:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r100", "r573" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income tax benefit (expense)", "verboseLabel": "Segment income before taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r95", "r131", "r235", "r249", "r255", "r258", "r498", "r508", "r623" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate", "label": "Corporate, Non-Segment [Member]", "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." } } }, "auth_ref": [ "r19", "r249", "r250", "r251", "r252", "r258", "r684" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from investing activities:", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r103", "r104", "r105" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeInterestExpenseInterestIncomeIncomeTaxesExtraordinaryItemsNoncontrollingInterestsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeInterestExpenseInterestIncomeIncomeTaxesExtraordinaryItemsNoncontrollingInterestsNet", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Income from operations", "label": "Income (Loss) from Continuing Operations before Interest Expense, Interest Income, Income Taxes, Noncontrolling Interests, Net", "documentation": "Amount of income (loss) from continuing operations, nonoperating income (expense) and income (loss) from equity method investments, before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from operating activities:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross revenues", "label": "Business Acquisition, Pro Forma Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r438", "r439" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r26", "r179", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r447", "r448", "r449", "r465", "r549", "r622", "r655", "r703", "r741", "r742" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Revenue From External Customers By Geographic Areas", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r20" ] }, "us-gaap_CostDirectLabor": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostDirectLabor", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_DirectOperatingCosts", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Salaries and wages", "label": "Cost, Direct Labor", "documentation": "Cost of labor directly related to good produced and service rendered. Includes, but is not limited to, payroll cost and equity-based compensation." } } }, "auth_ref": [ "r673" ] }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedTranslationAdjustmentMember", "presentation": [ "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent." } } }, "auth_ref": [ "r8", "r17", "r35", "r166", "r167", "r471", "r472", "r473", "r474", "r475", "r670" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsProFormaConsolidatedResultsofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r438", "r439" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r669" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r18", "r145", "r165", "r166", "r167", "r182", "r183", "r184", "r188", "r196", "r198", "r230", "r269", "r272", "r362", "r416", "r417", "r418", "r428", "r429", "r450", "r451", "r452", "r453", "r454", "r456", "r459", "r470", "r471", "r472", "r473", "r474", "r475", "r484", "r525", "r526", "r527", "r536", "r590" ] }, "us-gaap_BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionEquityInterestIssuedOrIssuableValueAssigned", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration of common stock", "label": "Business Acquisition, Equity Interest Issued or Issuable, Value Assigned", "documentation": "Value of equity interests (such as common shares, preferred shares, or partnership interest) issued or issuable to acquire the entity." } } }, "auth_ref": [ "r124" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Segment Reporting Information, By Segment", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r45", "r46", "r47", "r50" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r7", "r17", "r35", "r451", "r454", "r484", "r525", "r526", "r670", "r671", "r672", "r679", "r680", "r681" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.nv5.com/role/EarningsperShareNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationNarrativeDetails", "http://www.nv5.com/role/StockBasedCompensationRestrictedStockAwardsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock", "label": "Restricted Stock [Member]", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r44" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.01 par value; 5,000,000 shares authorized, no shares issued and outstanding", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r86", "r503", "r644" ] }, "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "crdr": "debit", "presentation": [ "http://www.nv5.com/role/GoodwillandIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount", "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes." } } }, "auth_ref": [ "r77" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonUsMember", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenueFromContractsWithCustomersbyGeographicLocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Non-US [Member]", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r758", "r759", "r760", "r761" ] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement [Abstract]", "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r65", "r67", "r440", "r639", "r640" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_SegmentReportingRevenueReconcilingItemLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingRevenueReconcilingItemLineItems", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyContractTypeDetails", "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails", "http://www.nv5.com/role/ReportableSegmentsSummarizedFinancialInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Segment Reporting, Revenue Reconciling Item [Line Items]", "label": "Segment Reporting, Revenue Reconciling Item [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/BusinessAcquisitionsSummaryoftheFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r440", "r639", "r640" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r92", "r130", "r507", "r644", "r677", "r686", "r737" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Stockholders\u2019 Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.nv5.com/role/StockholdersEquityScheduleofAccumulatedOtherComprehensiveIncomeLossDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r165", "r166", "r470", "r471", "r472", "r473", "r474", "r475" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.nv5.com/role/ReportableSegmentsRevenuebyCustomerTypeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r264", "r634", "r709", "r751", "r752" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Line Items]", "label": "Business Acquisition [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r440" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Pro Forma Consolidated Results Of Operations", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r664", "r665" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r40", "r151", "r620" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Payables and Accruals [Abstract]", "label": "Payables and Accruals [Abstract]" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.nv5.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Cash paid for acquisitions (net of cash received from acquisitions)", "verboseLabel": "Aggregate cash purchase price", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r37" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/EarningsperShareScheduleofEarningsPerShareBasicandDilutedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income \u2013 basic", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r172", "r191", "r192", "r193", "r194", "r202", "r203", "r222", "r225", "r235", "r249", "r255", "r258", "r623" ] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockIssued1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssued1", "crdr": "credit", "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Stock issuance for acquisitions", "label": "Stock Issued", "documentation": "The fair value of stock issued in noncash financing activities." } } }, "auth_ref": [ "r41", "r42", "r43" ] }, "us-gaap_LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtAndCapitalLeaseObligationsIncludingCurrentMaturities", "crdr": "credit", "calculation": { "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/NotesPayableandOtherObligationsSummaryofNotesPayableandOtherObligationsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total notes payable and other obligations", "label": "Long-Term Debt and Lease Obligation, Including Current Maturities", "documentation": "Amount of long-term debt and lease obligation, including portion classified as current." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "calculation": { "http://www.nv5.com/role/ContingentConsiderationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.nv5.com/role/BusinessAcquisitionsNarrativeDetails", "http://www.nv5.com/role/ContingentConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earn-out of cash fair value", "periodStartLabel": "Contingent consideration, beginning of the year", "periodEndLabel": "Total contingent consideration, end of the period", "label": "Business Combination, Contingent Consideration, Liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r4", "r76", "r444" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Billings in excess of costs and estimated earnings on uncompleted contracts", "label": "Increase (Decrease) in Contract with Customer, Liability", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r488", "r674" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY", "http://www.nv5.com/role/CONSOLIDATEDSTATEMENTSOFNETINCOMEANDCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r96", "r105", "r132", "r148", "r160", "r163", "r167", "r179", "r187", "r191", "r192", "r193", "r194", "r197", "r198", "r221", "r235", "r249", "r255", "r258", "r268", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r461", "r465", "r509", "r571", "r588", "r589", "r623", "r654", "r703" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "b", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a),(b),(c)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(f)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "25", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-3" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-5" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "250", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-26" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "44", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-44" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "48", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-48" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "48", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-48" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "51", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-51" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-52" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-53" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "54", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-54" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450-20/tableOfContent" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450-30/tableOfContent" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483049/450-30-50-1" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r619": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r620": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r622": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r623": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r624": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r625": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r626": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r627": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r628": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r629": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r630": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r631": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r632": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r633": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r634": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r635": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r636": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r637": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r638": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r639": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r640": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r641": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r642": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r644": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r645": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r646": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r648": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r652": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r653": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r654": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r655": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r662": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r663": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r664": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r665": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r666": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r667": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r668": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r669": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r670": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r671": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r672": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r673": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r674": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r675": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r676": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r677": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r678": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r679": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r680": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r681": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r682": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r683": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r684": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r685": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r686": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r687": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r688": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r689": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r690": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r691": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r692": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r693": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r694": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r695": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r697": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r701": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r702": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r703": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r707": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r708": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r727": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r728": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r749": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r755": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r756": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r757": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r758": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r759": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r760": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r761": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 79 0001628280-23-036602-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-23-036602-xbrl.zip M4$L#!!0 ( +)>8U=ETM=J@AT! .J>$@ 1 ;G9E92TR,#(S,#DS,"YH M=&WLO6MWXDBR+OQ]_PJ]S.R]J]82E*Z 7#V<16% S5O>?]LE9Q;U"US,=^V\5 ML294N/_3^N7_JU;_Y]OS(W?OZ,$,VC[7<2'PH<&]F?Z4\Z>0^]UQ_S!? ?=D M 7_BN+-JE7RKX\P7KODR]3E)D.3XKNBB>Z?JLCQ1@%%M&%"M*@;4JYH@"55Y M8@AC06X* H3\RYT$&@(0&FJU+HW1;8K1J *C#JJ2I@E@+$(%W<\;=V-=TH2F M*@L3250,50;:&#V["51%KHN:3EX[]='\T!QM[\YS_;]5IKX_O_OR90*\<VM]CYV+7*S) CRE^B.^ OOGKEQ\YL@:MJ>#VP=+K^%'FD>>LGF_;O>(&J:]N4=SR]^:.!57P"8;T\R MNK YT7>_ZD%]X\GH[]J+\XK>;IDVQ CXXKO ]C"#@8\0@IX@JE6A697%^#GV M*X0;#[%?U9KNS,C+!$T6EE-&S_QC_T3PU77J&"ORK).F_B6\&-]JP _WQ7- M%S[.=S>]#TT605.0JJ*T>L@^GHGRVH/BVW4GL'UWL7N T<6-06Z1:!,5^/(8 M>"$J[BQ@O_RM NWJSV$% 1T"H_7+#/J P]^OPG\'YNO?*AW']I$ 5T>+.?J: M'O[UMXH/W_TO!#M?6O_Q'__QBV_Z%FQA7E9COOWR)?SPER_AH\>.L6C]8IBO MG.L$3NMTQ-E_1K+3^D>(% M;?1T@[S! B\5+@3KWRH(W7<3\QT:U0FP,$"BMVF5%OG@_!=V M?=H%C7-N[1 M6K#Y;@-]4IVAITRK!EBR#0E_2Y2^8"PE>7U=C@<0*:Z[X12X\!M"OM%Q9G-H M>T1 VRZ2UQ>(J?%ML;KE"2SP1^TWX!KDQV_0\TW[)>2&& ^NH2)0/4G_W!K; METWXNG "$05TZ.V0.BR1=Q[1\6CT'-%B=SZ2M;]5/',VM["HDL^F+I[++YC/"]Z]>&HW!"_)R9T.?)\ MN%/;=WI_WY2NCU]NQ1]M/GU.Z!G_A=8KU\? (!)4%43TO_A[JVO+81IKMVI5 MC)#-*_'?\4N^;,Q[-QDD"L@0+MQ^.#-10"IE^:#HRFDS"VPSG):'<>TM9S:# MP M2D@1$FVYG!Y:U-&PUF\ERA#XCGLF0;>^CS^\A[8S,^U=CST5SAN/ M^+(Y^J/\5"G@YT]CZW3-WT?\#9&+W",-'5, :QM/E\-"7\G2[R9)!G M@ P_Y&C8OM=^-]%Z&-^&/D=VY]!W]#_"9_WR9>CTUY&3&5@X(#?PI]#%][EPBI_V M"GNV[LQ@87AQ<=?EPKQXACXP;6AT@6LC'],K#.$IT/&AAT<:^I\!J:!BY=W*DKLAAM!E'6:9YJG;FX!UF6=>9"]"^ZZYJ_ M'9\=+XKNTU[9CL^,\-+%G=G\IE9TW_!::UH81LZ&YA=W"TNXIF5)_\+[KCFO M:5GRHNBNZ577M"P)3\-&W86F5G0_+9_85#X;I5+1';SKQ:9R8A#S O*..8N M%H!+G-RP#*C?^$=X/P=L,QX471G^-H.6&:$+[KG M>\6D,#$CSU N^CYK3EEAF=&_\)YY[KM)V?&BZ([WM;/",B/\Q1WJ_*96=)9Y4LZ@HKNIU\\*RX-+17=FKY@5=GYIW0>:%]UIS2DK+#/Z%]UW MS=^.SXX71?=IKYT5EAGA"^_,YK7-G$/; J7HWNY5MYGS8!#;9BXHXXKN\U]_ MFSD'+JDY.?NX38^QGT7/\!7: 7R&,\2"L'T0Z7ADZW PMLP7TH*H^SZ'.A*K MD3E#MPPF0_2I-P$ZOC:,R1?R])?+/+AF./@YRX8SF'V7?=,2?FL$I&CS2J4N M-(&[/IW&BW7:A^VJ0NR0)X0?#.QCNIK!N]3PSBFFP^"4)9RNJS-&;TY14@]4 M:L-G;?0$P[0"']G,0Z@'+G)0H==]UZW @,:#Z\RP%1?XA"F#26RRQ?YKHD!5EYW2J4V0E="%N>S\:!2&_C[%GC(H?*\MHX<+X_$F-;4Y6^F M%^#NL\L>P$,',].QK^!Y*56A?J(DKM^:BDW4A@D/LPG].OL.'6^.> 2LQ\?. MY;DC5:53TZ_7;TW%'6KC@MERY^37WL.QWT.VA4M:+*^]\:>M.Q8.;[G ,O^$ MQA/2U*;G.>ZB[_@73W==YW3'L/( M-+06O=D,+S1(T^WX.EUI1.N[R:D:!E.;1G1]#A;:6,DPPZ!.;9RF$%)](:90 M&UFAQ^V^T")7T(#'U6WWS A>O- %I?HG2Z90&[%X,)$_ !_-5VCT;#2_%W-L MP;;G0=_[MO@!_N6X'0MX'_.: L]W9M!]AA;12M[4G&=F'Y1>(U(;S2@:%HJK MHZF-KQ0- D7U_1O4QEH*A(#RVPT-:D-$#"84N;>-XL6ATAESEX7IR 4&[(,9 M+(Z>*%[0Z;([HK?"]X+&M1*:;8SM']A>O*!:_OL.MX(-%O\K%S:RM!/+&89\ M-#V?A1]/Q4 YPX]7Q$!APXZ-1 :!1&]PLF_E0:)10&^-D**''LM1N+=1Y!N4IZ)2EW4CLL:#<*5XPD*9- M'!HX2&T([\EUT$3\Q9.%5'S;-G";Z#E^QK?%:#&'F]Q\"%RT?@4N1#<^F._X MM^+8*]0&Q>AF09;& +5AID0L"%LS0G=Y4V%$@-K8#L7TSQ+_U$963J(_L;B& M@?L*%T3Y0,LHG B( K7!#;IYD*$8B *UH8-$>N@1 @].':N\UJL\(TH M4.N94\Z$3"6!6K\[/*QG>7K,HZ.#7?'V>].%NM]QCB<&9N"X-4[L2)>AXR8* MU/K>-'(H!]=:%*CUK:GCD$1D2#Z%0QGV:!<%:EUO&CF40Q=]4:#6,U_R)HX5 M#L-'>&L\ZO4?BK/B4^N#YT9I*A81:EUS&@0@2[]#I-8!/X72WT;#PJ@:D5HW M.S=*TZ!J1&H=;QH$(%-50ZUW?0JEOW<'Q5$UU'K)N5&:"E5#K6M,@P!DJFJH M=7&OUEB0(F90Z\T6A!F9+@W4.KPT-RG*5!RH]6UIYD"6,B!1Z_->O!\$/6(@ M4>L.4\Z$3"6!6N>W&*GYF0H$M>YQ,7B1J5Q0ZT GX@7QV^[A*[2<.316U='% MD0EJ/6;Z^9"I/#!_^NB(/->_>T8#B#*B\)\_T.!FP:PXXL8\];/8#-Z+Q>8; MC0'/%>I"(D?I_1,M&):%V^(!R_P3&D^N,S,]SW$7?<>' MQ4$ZM6$*&BF?*>:I#1_LUS&^H__Q!!8 +FBCNHU,8= MZ(1&@4,>*K4A#\;JC"UUE=IH"YVLSD/A7RO0'-AFB L[P -? F,&@1>XL!4] M _T:/R"^$O^-G[ /:-0&EVX::)=:00H8T"HZR8L7VRHPL:D-<.5);!I:/JO4 MAJ9HXDP>&]TWX!K;QX<\0Z093-V'!MDES^Y+*^%,43OR)? MLG)&EGDYT"JX]B>8YD&:4_1\^'L0YGV !$- M7;-?XL-GLHK2G7*ZS56.4LS%'J$NI,"PD-M:2UW4@V$A-WN8NE@+PT)>MEZ3 MN@@/]5BXRGFH>=@+3>KB2@P+>=D+3>IB60P+>=D+3>KB9PP+N=D+U,7LJ,?" M50XUSL5>H"Y.R+"0F[W XH[T82$O>X'%'>G#0E[VPDW$'8NZ@-]$(+"@*ZIV M$Y&Y@BYQVDV$R@JZYFB%C%UU''?N(/; OF-'_"GGJJ,5,IQT??;DM>X4,L*3 MB_3DLO(4,NB2B_3DLO90&0=9NJ#?H?/B@OG4U($5>KB2?GON^7%"NKB.I0)85E[ M-DD2=>$M[NGEA<$BA8 NP6>4!>:NNG%.1?[C+H8U4TOSKE @+K8V$TO MSGE 0"Y:D.P6>$)=^(JZ>'(>-I-,76R)NF!O+FPI=)RIM%N@WHG8ASX4]A8Y?992X ML!\-KOF*1E%J2Z[0D;*,TA9N&@#4Q>1R2%JX:0 4+ QW QRA+A1VPXMR'E:9 M2EWTZX87Y5P 0%U\[887Y5P 4+"0V@UPA(6U: QYYY2.I=Y(6.O*AD%1T4!= M%*T :"AMJJ9*74B-SI!W7NRA+N!5 &$M;0*O6K#H%Q5H*&W>L$I=Y*T :"AM MNG*=NC 8(+[HIOVRQJF.X_G/T)R- ]<#8PO&7S[6M^C*)D):D.24 M==B@+MIUY87[JI@L*DBHC;D53Y.4MGB[06UHC4,R MT3[ M4('!V]I>R$G*U*C-CA(J8%PCE$;!%R*=/?? 1I7QYG-'7LE MTO%M;5T/9H&%[C5&+K ]]!MZ3-OX%V(R_G;V;#-MQ!QT;\@)J2JOIAU=.8\3 MU$;:BL")#WDXIW+BB_E^YT+/"5P=>N&?4P@,,A[#?&W]@GX0!IEC7=*$IBH+ M$TE4#%4&VE@!1A.HBEP7-1W\+Q:DU7<\?V$A1LU,NSJ%YLO4OY/K<__KFVGX MTSM1$/ZS0NYK_>+-@=WZ9>Q^0=\.?P\?LO4H/. JL,P7^TY'1(%N)?QR?%UW M+,>]^XM _OLZ03.L3L#,M!9W_SU"//6X/GSCGIT9L/^;]Q![JAZBR22\T3/_ MA'>BA 9(_GP+1]Q S['0:AK/0)3PL'_V>Z/N/3<:8*1SML-OY^=P; M];I#KMV_Y[K_T_FUW?_>Y3J#'S]ZPV%OT,]Q"L))4_@=>%.T/OF.S?_77\2Z M\/6^UJEQDJ J6GYC;YXT]/\][[^]TYH!]P5)E._,0^+1@K*'P?,/[A>D/&S' M[@?(M#!U+M(QSW""U;M8X6R 5;8>O(M_^6J8WMP""Z3XR1#)E[Y& MSQH[/K+W\..^OD+7-W5@180C- PO1ZI9E:2:((0O1HN ;\1OCC1W+;SVQ3=V M7!1J#?7 Y8/?/711%1HUZ=0G?R'C=N,[8F9%Q#00+BU,^K]5Y$I\SQP8!M(P M=]+\G1,WQ W(_A'KQI-?4#XI2/B O7S<1R M]H\ &=/0M1;/<.ZX?H6;..X,^&A5?_?O)MC2K_INL!1%9(C]UU^TAE+_^E$: MEZB-N'!]6IXFNMNDW!)>0LI__&P_C[K/C__DGKM/@^<1]_3S>?BSW1]QHP&' MELX16A_#-4>4N<$S)ZJ?C,_A!X,';O1KEUM;7Y=K:[LSXM!E49.5#8(19'XA MHKDF^->?.M%;'/GOP7$Y?PJY?\<(X4)+D4-.%33.4.E/Y.O=T"7;!)J!/JG. MT".F^&M5 RRJ"PC<*K1CX,G(7H%S/S3$98'GL&&[#X,7IMJ6[(54RV\Y.I6Q M@^>M,;)%A"TBJ1<1XM.:V*7=OXI,@.4MEQ$E6D:4TB\CH^=V?]C#B\7UUY%\ M%H\=*H:"5QB:N,Z-CP5L)^'UV)65VOM/J_J=QWRQD#B^=ZMEZC MB..G2L*G[CO0?3)ESIEP[G*J'/ X;PYUO,E@<*;-F;['Z5/B3WV^822K>X!\ M75=$TVI-M?Z?^SV1_]SG#TC-FJS5]UX6:N+>:X<>*ZHU46UF_MA&397ES)\J MJ35-W7_Y;!HT:DK]M-%&CMBFFU"O?,!/A CD*'">8YD&%PO. 3/.(_..;%-VG,#VW44'.8D;#AH:DHXWU7TX=YU7_)Q5V*51:=U#"[P! M%Z;PU 1,X,J.6QFW(FZ-P'LOVH[6"<RFKG7[KD:?N%(B3@DEE MT"MMPW"AYT7_/*+GB;%.T2HM21"XH1/X4^X)N'^@ 0*#SS8@5TX:2LN=::'2 M&@8FTD*R*EQV@2PPN(\GN";KSAL@\P;Z%%M%:+'Y$8^ MA"\. VR'X;>5M7 LCK4KI9/*L-[I$HG7H+8+P88,*I66IBH?)3#:VSO]V8\. M@L#3U+$_A,E%%3F%FEJ51%$J8M!T%1'^K[\T);'QU>-\:,$YGBEGDZGRV(>S M BPF'$#DY?0-"%([M\)O IPZT2'2GZ[IF^B18=0;NM#@YH'K!3C\[3LF[5'E..B.S)]BVPH0:!/.=T"GI>%>5)08KB + /#Q6SL6)^R ML=2*28I^M,](8 '?]2FP7] '-O8D/$QNH,5RX? 3A.I862]]=O#^_8_0MG@?@#W#^@?#S/L]1(_ MV+8Y*%5BR?9L ^]O0&Z\X/0I1#.;X9#XVQ22O25LM:[R.NZX3V+DQTV!QTU, M"UF]P++0+3C]%1O#_PY,; HC"W@,HQO0DR-K>)GOZ;CK^9Z1=;QF5,]PD]%#&3\P*T&'A3!R>;Q#F/_A3X M'^;"O8'-\>+!AE^.9O.9YX!M<)^DM2F/$2[03>-_H0GA+Y'[T3?Q4**'D1X# M9"1DI,#S.4W@#+#P:GLS !.&P#J!ZZ*WA$G'6('XP ^\)5ZU2NN?T-OK&U\] MNYH ;5D^DV.RXS[ZY0==LGK&NIO]'%@P9)TBJ%A3/,.7(*PR MYX;5$?<)7VQ\Y219JD5W^%.3)*/-<3+:I95*..JEFH#>Y\R4P!K5,-$BG; L M6!-V*@%J8$ZI)F"*X&** $D=X"PT*P,5M(8A4N'BEW?DIA[!;W7G! MFR$-@M[BQHL@DI@9HL*"Q]8%>AQ:B#&57K@7UWGSI_'E&K(S(&? B6F3L@BR M-8(CL1*:XI[1D;7FBPS9I0SSZT>IG!2E*M MWE O,MC32'!^9#7/JKRT)8ZK(A6W@Q3=B^,N=OC*Y":B O7HII7;+(F5UN-N MA7K%XLR\+:_RQ9C_"T- M?X?[S-;;XG'219*0+6XR>K0%@"0=[P&P0E69C(_N;D>'@>L0N&*B?25-H63&$N$\(&"0P%A9MGQ!VVA7- M_B?T*(RA4A)E[CLY8SFQ<8,1I\+1)''B@^PYNYB$UPD9K/$:\ M"[DW_",BW0/9=$'Z*K#-D'#>%+@067Z;Q)0J2)AT$QF'WM\JO?[#CFUZ$BG-35K;P:QJ.*1Q#7X@6LR0M8.>)2PIKU9:HLHW-977Y&6E M;#S4%A<.D7-6+XC%V=U.1];#)"!O9Q(0M9%F9%_5A-#&2AIJUIHU33BMIC]Y MS>=FN8ZT-]GF!(/DI#J"]=[2"/*ICXT+T#UAM8>)4O^UII*VJZ5MI' M4\W#3Y"1A?ZZJ\<-^:YD<\SCXUG[DN5Z_4TM0]$#/)'K]^^[_[!]Y M<76)*-3D"^2M-\5:_0(]4I1:73GMJ2=&(B[CK!6CX/0)*:U+-PC(V.?=7P69 M,.829H >ZGHXF5R,](>Z^OT"J!D+-W6Q:?B7$PZ.$!":VL\CKD>R!$3Q*_?0 MZ[?[G5[[$>E\W%N^/2('%8"4 9WB0?3LL. 2HA^^7\4W7VLUW!,5W 72"[YQ M"Z3(64B$3QFMX*/NCR@\::TT"3FPY4>W/QI> MDH.[PO'7/TBE/(*W3]S*H,K3V81,?UQ#?W0 MM$W&A2>?,HNGJ+H'\5YFNH?IGKQT3_.@Q=,!WI1[L)PWYE,55L,@#JM,PS - MDY.&D45,^Y'N]_^3O;S(A]UR-WWAIV?PR$^AK/=OT?_;S_^<]@;XC,T5]N MG4'_/CRJ$]_SW!W^?!R16P9/W6>29\#V!PLDO]*10#[3NK1Q3<0]K5=J=U]8 M@JE=ZM0NX=P_\+'&O1'2E+]UB0I%'SS&?V,-_#@8_D1JE6M_&_P<<3_:SW_O MCKCGWO#O3*T62$ EC>G5HK&MN:Y7%:97BZ-7<7ATT!\]#QZ'1*<^/0\ZW7NL M1IG2+)#T'5.:!8I/L-QX.G+C<6.I,#E^E1T_&/W:?6:9\6M'8UMA0EVVF+XNC+Q'KVAW M1H-GIBJ+)'-,51:.;;+ ]F:+J2DQYW[VG[O?>\-1][E[SPW;CUVRP]K]Q\_> MZ)_?3H(\T:;\W>%Y3J$QY%D@*F?(L'MOJ;(NUH,H3<>Y'K]]%UNA#%QFA:YDJ M3&D62/J8TBP>V[10:7+[ZH.8OJ107R*F9;//S#1E/B+'-&7AV*9(Z^9EG:G+ MPJA+S+GN__S:^]9C[>4*)6YR>1I!T9^R=R.Z0*VTAKWO_?:(>9=%T@:X1\K! M!DVICB@@/?L+<40![L=\H3,*EO<=.X#@XJ#=W:C_M#;4VR0^BH43*2]7MIYX M;1(03UW<<=11^'-7/]T=IZ2<.-]Z98? Y ^.W:?FD*,H+&<,+!ZWX:N1[GS# M8.R9A@E<$WJG'TV1TPPZ@_YP\-B[1XR[Y[ZU'Q$GN]SPUVX7&ZV4C_W3SW[[ MYSU"Y_UG^L=JVIP_=0+T#,/C.?BN0WP2#CZ6B#. #Y8S*,Q!'W6Y5M>R/Y%# MK-=$Y;QCU ]?4\4+#?:T8^^OTE2(PD-!A@CG<(8/%9.%\%"Q! >>EHX:]U"/ MB"$28DB[SDO);*JA%Y?'/-N>!WWO!$Y'&HZL[*<=#98:,8GP:!X.6"=P M7=S<$Q#NW&5_\G!^4]L\,RNN'C.*_PC-& Z_Z L#\#F.C;1OXG^X*&&V_ UP7G^/\&S[1\[2C M1N7XJ%'<=$ZI\XJL;1TSNEL)G2-RI_+GT#)W['T?-2"3C_+)AY*#?. ME":O M*B(M\I%X+9R0_PJX%GXS+0L:G(N\#,3,L04]GK.AO] M;5U'!/&]YR4Y^]"/;.BD0H'/K:K7^:::>M4X ,Z+K!H?WK?7;KYQ+!W1M%EB M24%84E2^ON.@\YRP=#O>QD][G*&./=6R*K!<'+/0T+XS@RX) M'ITO'BH2#TGB!:5L!CJ#U&E&;?:0JE=:FL0WZQ(MB+H=D_;)A7-@&AQ\GT/; M0\_%H1['GT*7TS?"FD$1%< MWJ%HO-I,+2-)&76Z "T9E9=5? 'PE4)EIT&>(N NMP)?;U",O.Q-9WHU]I/K MS-%8%L12QONA ]2XS5' M0<1,[.N:V+0!4D* %/FZ0@T@,[+0Z57SA+=59U(-/,A9F-N1=<["T>=K^@$2 M*X1_^V67^"25"=S01^-%0:4E:LCBT-=4TIEB22%8DD6%%BR5WHSNV3ZP7TQ< MC9%6K]Z P7)$KZZ(&;J:?>AWWW4KP/3X[CC&FVE9244"'TDEXT0\F1:;@QG! MU]2OE\!4':?I" A3J9/7F!U[(B)B5C&+]2S->B[2&Y66*C5X(7T(@5FG5.+F MB/8\%S=-Y.@+ J^IJ9//F"5Z(M?)_BG+&B9&I<7\8*5'V8H8"58KD]3[JD2DN35;XA MI8X)7C,7)1Y%1,MF-ATEUX8NH\$93H!CV5?KK7'J.\O3].31!&/3,GTSRE(? M^H[^Q]2Q$$4\TC^N\97#._7^XC)]*F@Z3#F73A!1DJJUXD.2'B?Y4[I$:<-Q MO2,W!PM<),>:<1R87TE6]!/+J9]"1)R7;:K*E5:]P8L*-1OAK/L&$XAT->'I M!$*IM-0&WVBP=AMY+')N (UU@X/%Y\]=&S EURSH,Z5!1J6E*+PL4I-;=$2KQ@V!28O[@]"[UIVWX^O@KDMHQ!YGVJ2QL^=Q MS@3-V?/#. #T?(0R'RT4$+@VN9.@7'=FS/Z"(2ZX!% M4M%O(-&7^*:0>@FAS,-@6#J[?>KSG=9S9V+0))3M+"G?6";RT2LZ4(I'D,RJL M/+&<.#NBBJ^',PEI:X%OJM1LV=R.$;Q#7=N.#Y?;LFO=])PQ&BOA-[.0S]/< MCX[],H+N[!Z.?=)5?6[ZP"+5OX,5<<\4(MQ 6N*U)FNJ5TYL'='6%\46;BBM M\F+Z!D[,GCXO)SVK*,6MMSD[IJ!3.YZXM[0F\W4QJZK)R^:7LA9[]"CPU-B+ M:M.;6E9V-.NSE\ZVWA/WX#D+;P'JFZ8WLZFO%0TYNSJOCAM7(_FB)JS(3&S* M R+G0PV7T?,*/;7$I6\S$FX'6LB-JOK(C\K*U"ZSO"3<$#Q?&/">(&Z41\WQ M&BP2G>>FX-E :I!6U+RJ4 .DTAO!_>/19&8/7SW&G%1N1"0WHLK7TPL.,WVI M1%4FT>6DJ))(S])ZHR@YU,4WUPU=UAGZ?,4;D[9' M*#L"[^L&2^)^O@VYTE+Y1OI0 [-XJ033$7V;,9B42JO.-[52)AD7I*M41OG% M-[M[VEQ40&GIX%28:1Q M5VLP2%J#E;-CU6F<,,S7#X.IXIOOQ!"H>3#JR8U#*AYF&<_]]9!0/T%W. 4N M/&C=]OH/.XY,#M]")I" MI274A.U=[:T/N#EPN5?\M*_NL&3D7KMP)\Z+N*[<9HEMYJ1>(#" MN\>7C-EIQR?A0!*2 ?S_$\@>#ID#R_?Q2+$E)&^YAJ'S/V0\9)CZ.C1M&DP MU*010U=-XJ#0!L:NIV.G,H"/K3+A*Y):FV=:O\=,A;,&HUW#]$TP\I1VI9;< M[DW X[2#PZ=-TV7U;DUNK_UV?';9&[];H]MEP1T?6%@GV-0D7A.W,X6VR8[- MLTN#* 6=LS>6,Z)SG=!9E61>3@+OW48Q!T@[NB&<^W VABXG"SPG"9),;KR' M>O2I2#Z5> X]:@[1DU^AM4AA4:?*JBJ,-72T,=T2$)$I]-'DT7#1B9IO5?=Y M)G/NJ7>% W:4;9IPBUU#QK\J($M$2*T[60X=E3 ZUNHY$QBA82%?HB'N MM+1*D#Y'N6[5]6 66*0WKQO3,I#W+I(WIV(W(N"8N]W!BZF;2 ME'Y1D"LM26WP2IV:7M-C7L!2"D(4I+$-YK4='S-TM)M%*).Q-N;^,?* M1K+7R^MIEN')JXF%1JVT&JK&:V)678%8^4A9P'=$@V< OCKRMC2%EY34L8EK MEI%D8C@7K^Z/[*>=KM]/[,X7AMUWG::]EY>E/RLT*]*41 ^=7CO9MHT,M!)I MDR<)*J_5L[(D,^)HGGX-DVMK*54SH#[8MKABX5-&=(AXH%[.7B0)][A+2I3/PP8B52(0<@!'6^' 'N! MTWC"(O39?EE'/P JMC M%X(_JF"")G@'K#>P\"I?-K&'@+=.](_T"JG2^F7LHN_M&"H=,#Y(XOYO*O?= MK=>(23P,QIYIF,!=+S3^."-:9M 9](>#Q]Y]>]2]YX8C],^/;G\T MY 8/7+\[XGK]SN!'EVOW[SGTR]-S]]=N?]C[K1M=H'YZGW[VVS_O>VARG^D? MJVES_M0)T#,,CRD M9JW15/=>%FKBWFN''BNJ-4UKG/78P]?DAL(&6YS!UA$NI9,>>V*A_=ZXH79* M37ZH7G)*ZVSLCNI,761X_4#W33VN:QO0R*(>OZC4Z*-/]A,C+482]FLI!LFV M\^Q/::Z248N<$M%QH/L.IF)4EI!M5XP2T8GA[?)XNU(3E%SG_]UU/(]SX2NT M@^V&4"=&?,[< \R1&-E&,$^8?WFJ6M1C"2P$2@^N,\/=JO 3?S?]:2?PT/2@ MV[-U*\!D:7L>1/\SMM(&3XA63R^%$>Z[G+ MHXC/WQ 47FADO"_(Y)$N6#)Y/$$>Q?SE$5=K*'5>RNQ '":/3!YIFG@2>6SD M+X^X69]6Y[4ZQ<<'[ZSS_K!I+*J%ZQQ;I%NS[7*;:UCAWG2AC@_(]7R/LM:V M1;JU7!&H/3V1@45R!$C2P!MXR>-@SL(L9D>"+QTD;Z'H/0*T1B1>J/#Q1'6^ MJ>9[I QKY9AKQ" MB)1*2VGRDI9ON1D#4:YN;EH0J9666)=X6:PS%)4814>< ML[0HPAWU%)'7&C2AJ)!F_A[;+1A7<5YR8/G 1GXH=%]-_20#KN2XWF.GV:\0 MWB&B=98T&T8D2PSM!NF%JDH)0WR74X,)M%W)F;_'OLJ0^4W$?)&7DMKIC/FY MV449,E]#BYHH\4TIX>XWXWYN]DQVW)<$S/TZKZHY3+K<,0H6"T"&[+36$%.*J*Q(+0EVP(T]2BRW[[E6% ?N1 M3<00ZH,Y= $^;/@\S./XO23S327I5F(^F69)5.0-(^?(SF$FR,$Q>T'AQ<3- MSQAR*$;.D>W"3)#3J+1D"9G[B5OZ,^10C)PC6X29(*>)D"/(O);X0*9BYV%F M50_*7IGZE>4*K1ZJ-9V[SL3T65#U7/.<4/&)$#&QGB-;1\@5512*7%$6S;BR MF9X"0;)0:6D:K\DLN:_, #IBK:;@^QS:'F2E6JQ4*UFI%L_-P<)U+(OS MP3O^$U\90QLBQT-PG5# M-RTQU!NX/QLOY5$RP I&TH7J,T9"$Y=5\PTYH:7&D)!_S#UC)&C$9F](":LK M&!+RCYUGBP1%0$AH\'4Q83B=%92=QOD'H*^?%#I9_4E.W3IPT@3S"X[822$I_)F'62@D';&SLD$2[O/(*PI#4IF1=,1.RP9),HY[\9+ M:E_+#*4CAEXV4%(0E%2^F;11# MSG<;O>SAW$?$!83:)=MBA6:-=8J#CO0)<<<9B&]2AX%C=6(8HJ%=:&M]HY.#,,A"D*P'+$ 2X M$JR9O.*:H2!WFR=+%#1QHB@O-W+HDG8+@:VP[M[92B),$\^ZY4+'4X-=D2.0 M>,=;P=4_@H $HC#'4.3@$FYM9/J& *S#CX[GQ2?HF7: R#%8TO8;1!H2]O#)[]#S([T9_QE^/?Q) M,GJ[[[X+$')-&[B+G@]G7M^Q\8APSB]Z;OQ%KP\35XZJ,MD*$1JL^T&9$7O$ MBRD48O'F79.7)5;^4&;$'G%["H58M=)2%%[16+_<,B/VB)M4*,36*RU5YA4: MSXAB/E?97WD;/EY39$IOP;[DNBB7G8O$ M88C$:DW$?9EYD9U35FI 9K8Q<7E 2J3^3)981Z\R S*S?8?+ U*NM&25EYLT M!6D9(*G=5K@\()5*2Q7X>H.F);M$996]=#9OR>5DR[3UT/#1;[L%!@E"Y&]' MS?(2@UW%;K54- 1\LT$ [I:XLX/

    ^=Q_Z4>SN8CG].V%/G3'WU\O- MGVYQSS!F/(8E;N2=M&Y@7IE M&0W0<(*Q!:^75L[>F3(;:$+^*U08+N$.NO@[$OZ:/]$NN_ M^-L$)$M315B9*G*E)=2:)>R9S22@[!)0ST8"<+^ FD#3B79, I@$G"0!8C82 M@%-5:G()C^!@$E!V"6AD(P%U+ '-K-K+Y;+9O]M)+XH3Q(/(3)0-EE()DC()CJ;(7DC>[X>YP2^YP.;3(=M -_(,]@&\.U62(=R?S#* M('Q<66,=T@Y52#^8C:$[F)!5UANL-$@4/CPE&6QM,19)!W5)%'@T=(HBC*P4 M_P) J^<(--R 1.$;]29?;Y9P.Y,!;:^_?&6@16="R"K?U$J8.<* MM3EG7O)B813"(*W61) MR[K)$I,()A&%[H:D9=T-B:(=/*K!_>"XZ$^;TP/7A;:^X'P7/8C,#[D^.2"[[OFN/ !V,+CIPG@!ZSJR>Y)B-9D](<%N7IRLRW!F!"J/JCJR M7;%#2\4Z)[$;CI-I)+ZI9=7E)CM^4A[68I+-)#MS7RU+R6Y>Y@ -)ME,LIED M)]X^RE*R-;*9)-13MS-ADLTDFTEVRL!!=I(M"<)EC@C)4;))H. +"7Z@?PWS MM?4+^A$/? ;<%],.7R]L"I,.\8'BEX,'>>*=Z:.WZ8+18)DR'7X. M7F!U[$+P1Q5,T 3O@/4&%E[ERR;V$/#6B?Z17B%56K^,7?2]'4.E \8'2=S_ M3>6^6\X86#R'-%.- [;!#8.Q9QHF<$WH[44C+3/H#/K#P6/OOCWJWG/#$?KG M1[<_&G*#!Z[S:[O_O3OD>GUT8=#Y^Z^#Q_ON\Y#$2AM?N>X_?O9&_Z1^@I]^ M]ML_[WMH>I_I'ZMI<_[4"= S#(_GX+L.\9J!JVPXI/[ _AFL"4A4HX(7A)42 M(XL0FH8%YAZ\BW_Y:IC>W *+.],F@R%?^AH]*])\6'(_+$"$7.'EE5#7A%"P MHYAU].;H*PHU65/.>NSA:ZK89(,MSF#E MFJJJ11ELH2B+!WO:8X_L91TOMMF^=X=S&&INJC:X1E,76;4_T'U3C^O:QH=F M#KN+#&4A39&AMNN(NDW/X] >(85$[(2=!8>^H_]Q2IWM[?R2 MT+&-!HL=&& 1B_L)F$:U9Y/?.V"._31&W134U?5@%EC$1R69#MSF[G88M^ ^ MX53>K7P71NC3"?T,?8 ^- APX^:\%R?H>0_94T6N9'Z^Z]'0$N5,#1L)I.%B M5HPL'NW:,R>P_1-H1V?1_^%;B\&"D?-Q];R%]*UOP *V#GGN_P;6@I-X3A(D MZ:QRADP.A,]S#V0W@1)V8FFN;X/T^@\[]D&0(4SLX+2-5R0A;(^KR@U>E+>W M.6,NYK%S1.E9[=?=02W>!NEN$3AW@[1 ^Y\)97_'_F?S\/XGD?BI8R&Z>-U_ M!Z:_V+6SB=L0J]M)ADR2F20S2;Z6)&O))3EA @.N-*Q+O%#?+G1GHLY$G8GZ MM41=%-+)^J&:)$DX4+K)Q)R).1/SJXGYD;3C#)9TW$1<:_(-:;LRELDZDW4F MZU>3=>GBLEZOM.IU@=>4[01D)NLWV2Z(@*HZ!A[$V1OJY,.KWJKOAC=R5DE$.'^H9T>90V0_BNBPSIH*>X9HD?1,'PZA M^VKJ\ E-QC&>H>Z\V.0IOP$K@(G7T$:EI?*RNMUNBZ&2;E0RY<'8Q-A$85<$ MZE1\DSX57ZZ,GMV0>H:>[YHZSF'UL%O"F9X7A#D^-MR?8L8.[,1FE'(D?8CU$4&C>0M;B/L/7"QY"(Q%*AF;&)L8FQB;&)MH8U.B8,L%C\^51#FK/M4,0Q1C MZ(+GS4JB0B&$RK4A=Z3$?J#[SABZG,BJ[-/NT]6O6&8OJF&9O:KQVH[S 5G* M+TOO9^G]5TOO/R58>JS.'CT$230KOF6BS$0Y1U$^?OU9SPC+4)[SA3+8LW ML%&R4;)1?NQ4?QN;::1?=;B3)I>VJ"V3S3))O.)FF13VI&YJ J\)S1(LVP6R MPF_ T"ZK+7U&@[IMD,L0JV)"R83R MK+DE*EF6$I4L'UT2<D6R M+IN7:QXLX61I7A*W*_Z+' O.?Y8@T?&)L8FQB;&)L8FQJ8;W!EX"EQ]BAPN MCW,F>&M@YMB16>Y#VX NLM+'"P[.YI:S@.@NW^&P4^9-%IP_A9R+73-\TYOI M3_'&%)HWYX-W=*<++8"-?/P-MOV0D;$?VOCV*X1W2\X-)FLYU:.(:]\6W9AG M(V<8A3Y M+>R1##1.[BF"!$SW#/47;1\/&?Z%?/=. +@DSD!W# MS1W'&]L.O*I;._"GT$WLS]:Q/]O<<7@!BSS2C2T6("X$F[(LH3ID-T72OVT> M-2HM6=C>Q&>XH1LW3+P9FQB;*/)<4RGA)FU*^!:VV @W2#:B"Z<0.2:O,#H2 MG?MD.9ZWM;=9\O -B[(Q-C$V,3;=%)N2I5IN'2NUI_22+"V=]95E=9 RB5J/ MP/N3X^(7MGW?-<>!#\86'#E/P(6VO\M$T"HM9<=QL*RRDEIH,0U0"#:E2]&[ MF@)0!(H4P"WL8" V1>[ C>U*L)@%8Q-C$V,38Q-C$VUL2N2M'3D=%"WP*Z,L M:>\H!1\\)//RCJ.^&8;*@Z$CP?YT$)(HA%"Y O]'#G4;PKD/9V/HNG,-).8L1 M==KHW-.?LR!00?7+CH5:/N-XZ.T562G+D79,6S!MP;3%?FUQQ@&8"8U[M=)2 M!61\"$R=,'7"U$GAU$FB;4%YZW#/-,<(*O5*J[[#:4F\UX?3&[IX$[-MN.'_9VQB7:F-*D<_/$M(&MF\!"(T8? MD*-[N$^!#0+#1-<_UTZA!!GD/E*<3E#V&/:8@CXF$CT%ZX2Y$W8ON2/=T*YGZS4. MV 8W#,:>:9C -:&W%UBTS* SZ \'C[W[]JA[SPU'Z)\?W?YHR T>N,ZO[?[W M[I#K]=&%0>?OOPX>[[O/0Y)OU?C*=?_QLS?Z)_43_/2SW_YYWT/3^TS_6$V; M\Z=.@)YA>#P'WW6(S2>\H\ZA91WLG\&6R4-LHY4^(O88FH8%YAZ\BW_Y&O>X M,6TR&/*EK]&S(B6&)?>#+4;(%5Y>"75-" 4[RD")WAQ=KI%+'^S+\)HDUP2Y ML?>R4!/W7COT6%&HR9IRUF,/7U/%)AML<08KU^K:>8]EE#T^6.VDQQ[)3#N: MS"AOW[LC-A-J;JIB$'WT"?<#W3;UN*YM0&/#TX[(\L'4E(50?Y]'*FT56MOG M@Q]*^*.0AF%J&4=B,'MS_.0$T]X/LPKG.F];28,EH6/;B$_M)08W/KJWVK/) M[]$!OHRZ*:BKZ\$L" _-"KM3;)00X4C-!'"?T,?8 ^- APN\"U MT=#W]]3/BJ#G/62W@A>5- K^A,$4CZEASG :+F;%R.+1KCUS GO_T=MG08N: M6XO!@I'SA7+/.0B-U%HJH\(*@EF=; MLBPY#+>>HG!;&0A*!D40JH E6F&BS$29B7)^HGQ*F]%4V42J6&DIJL@WF*PS M66>RGJ>LG]+7_8"L3\QW:%3_A*ZS2\RE97,3)N9,S)F8YR?FC8LOZ;CI04/B MFV7J>,!DG2[(,UD_1=:W.@5G+NM*I567%+XA;9\;P&0]?5^C G8L):"JCO%Q M[N18@_@\=]:_] 0@LC9LC$V,32E7O2,=%]O&OP+/)U5$(V>52H2SB'IVE#]$ M=J2(#NNLJ;!G&![["H?0?35U&!ZJ\PQUY\4F3R'GZR1>0_'9L HO[S"7&2SI MAB73'HQ-C$UY*/DC40SJ='R=0AU?KLR>W9AZAI[OFCK.90T/=S:CD]IYSH;[ M4\W*>Y5BKU(,G/:\H3VYKOP'7((>./#CN!)I^0-Z8+,]';>!FQ3(O M:]N]!]@)-P4%WP[MKIS21W//\9:GX6Y;0S M.N:(^/O+JVXL,'()OZV]1N>D_ED=GTY$B[CB>G_B$J3H^88J759I"GPQL3"^EW<, &+YC V,38Q-C$V,3;1QJ9$^]='3G9+=6)S7:FT%)'7 M&C)%06F&H2MO@Z2#D$HAA,JUKW&DT=1 ]QU\Y'>:1E/1_&^\T918OV*CJ7J= M-)I2\?DW4J%/TTH*GIQC0Y<5 NKTQ.GEK8GG7U#AW[%"BF=TK-A>"G%*J5IG MHLQ$F8ER?J)\\:X4]28R>>L-7A&9K#-99[*>HZRG[$IQ.&5/*T6C*2;F3,R+ M+N9'RO#3+^D-H=*21(5O- O=\IG).I/U@LNZ=$J]7CI9%RNM>E/B9;70ITY? M2];W'->B'CBNY?R]FA.>L3;A'6=L9_$&-DHV2C;*C^5?\=,D:ZX8]:0PATS2>9EH=!-(NE+F$X-9>I$.K&U75*#>E-$S]S::N#T M;;4,OC&3.29SEY).+,[<:XAL(61"R83R1*$\XS"QDS>+&FJ9-HN8/#)Y MO+P\7OQ$L$:]TI(DJ22[.DPHF5!>7B@O+I.-2JNN*;RD,,/U=LJ0,SW)H[A% M.ZP^C[&)L2F7,LHC"?ZT=7EO-,E>AR!O5P8Q6-(-2Z8]&)L8F_)0\D=*Y:G3 M\1J%.KY)U^D@=#5B%\!L8FQB;&IHNZ M=E<\R:,I9W:2!]M$2H27I\#5I\@U]SAG@G>19HX=^6\^M WH(G=NO.#@;&XY M"XCN\AT.N^_>9,'Y4\BYV(G'-[V9_A3O8:)YZT +8&\3?8#M5AVVH MA&XAZ3.]Y-Q@LE80,(JX]FW1C7DV]0W9F&K7X8]'90K II:N5DXH0=RWK:J75W [$,A5!+?:8 MBF!L8FS*19/O\<;H4.1U>A3Y+6RFL?,5<]M-2W.^8A,W*Y5D7I&WFQBRP%E! M099@URSU^4_;BA>GK#$LE1E+AQRXZYTEUL1Y,PI?KV]7]3"TT8TVMC/#V,38 M1-$&VI55MR9$JILFH_,6]LZ>H6X!SS,G:$ $*\Z$LTPP-BW37U3C:]#@ -X> M)7MGD-3W;5^[L9TP%K]B;&)LHL[=:#_U.B0*0H*"3V"!\_K;K@OL%XA__:CP MO)ZMNQ#=^^"X>.E:2]Y/O(B)^"SCNK;=/I:ACV[T,27!V,381)O[D:P:10Q.4SDLWTT;/P7^M4S#>B&'@I.T]M(\V-;29?;2AKX4^@FW4/2Y$I+ MXIL[CKQCD2.ZL<4"?(5@4Y8=+@X%^2+IWUX>E4IK5X=1AANZ<5$E9I4\*WL&%"N$$J@%PXA<@O>86<::._(??)\R$>J55EV4Z$AZ9]!B&J T;$I7%G,]!="@2 '2N"P(I/-Z4Y-X;8?77*!SJ#)'5\[AI)S%B#IM=/JY M=-D3J*#Z9<="O:EJ,6W!M 73%J76%J%4R>)M@5E*HD$W5R<6VB5EH-5>,U<;N8F6F3,_('5 ML0O!'U4P01.\ ]8;6'B5+YO80\!;)_I'>H54:?TR=K^T=@WU!)+N^C*%G.C_ MIG+?+6<,+)[KV7J- [;!#8.Q9QHF<$WH43^#SJ _'#SV[MNC[CTW'*%_?G3[ MHR$W>. Z[>&OW,/CX/[IN!5 M8AZ2E6"EO27--2&4Z&B_/7IS=+E&+GU83<-K=;E6UYI[+PLU<>^U0X\5ZS51V?_50X\] M?$T5+S18^:3''LEI.)H&HVW=NL.H#Q%/E?':1Y]P/]!M4X_KV@8T-DRTM%19 M\[\2&&J4DRQ!1DC"^=\6'0>Z[V JBH2(TCG *X+CW '>E)M8SIO'35QGQCES MTMH(F>#8+7M%5B_T[JZ(H*S!MO&<C;UDNBB+N.W:5++T6;GW-P7=\"NJM=1_(JN4X M,E([4]Q?O&^ MYK,H:O8).S8>A@,^R1@GG?B3P"(9% %RCIC%>Z[%NR3L@^/>1V1M1U3=)0H2 M$@4E===39LE2C)@CENQAQ"34K#(^Z$-2M_/FF0%[)620%,?J&)_Q0OKJ(O/U M_"#";5@=QPK1EH?F=-;HF5@T%"0:=5X5%(JL#F;!7EG99H0EE316D!1FP>8& MBM 7X4QDP0+3Y5YQ;_E#!RW=F$E[D8Z>WP(/O=VFOG MFGFQU]B>89MF,-GSEQX""-X'9B[>,/67Y#=/'S(]QSS^L:L\'2K MP*9L82KC9(>!?4_H3,I9!I.VYT'?VRD2S4JK+J<1"69ITXR7(Z9V(]A M.Q:6"UYNS)J^AQ/HNM!8)L& =WAK4>"+F,PQ8<-DL1$F:]LVT+\=]*&9/,(G M";B:GE>4[?)79NR6 UJG&KN90TNLM!1>:E+B1MV8$;N>N(+M5P..?<[TO "W M:44$\,[J[=N4DW+@L?7(N,U\I1LP1ZS4I M8F2$&*I."+^%2J4P<./A(/!:=C9Q,(C;;T41&Q-Z/$GJ1GK5G,T1;_!O0/]W M8(9NR9F)W*<:-7D^X\:6T6^F92$WQH4Z-%]Q6?JMK9I9AGR09>GB#*][&/[; ML^/$A.?E^O8V+(L+40NJ2[@O%P$7WIB5D0^3.H.;OI6X*!KX MISW.1@??B+M_*(%[6T;PWA1^ZN^F/^T$'IHC=!]<9Q93?24[R?W_>J4E*;RB M4'+ (@LM72MDGP/6&I56DT^W.\1B3>=G?\,Y,(VXNB9TEAQ\7&OD/=V8S7R) MP/^V.$54C\.VW9#X;=L@!^6&^V*)Y:B)$WXUA24U%@US66ZU7@EK&M;9HJ#2 MX;G=F%D=.T?<'"SPDGMC)O55HAI/(6F3"H8L5%HRWTQ?&\F,YT(IX<2!C7/Q M)>+\5DVF9,O_QHQEQ#PW@!N;"6OVLN78+U4?NK/UZ\Q\SBC:$='^<47:V(1Y M1'0?(;*O74HL5A(IEMN1M,ML9[H!EZG:S@5ZI$ZS+J1)M;F>*1UW>T;CA(>! M>JT[;\SVQYN::-ADHQN^Z]#SPDHG+]KGAIZ/@(;/-X# M64_WR1. "3YR...*OF.UZ%SS3CL.S41. MHW?&L2&78FT-7+:F*(NC!MU00^M!(,)YDYTQ4BL\/$V?E/CQ1W]Q-F&23G@=:R% M\B7AA2N[>4%*TY>(N8U)F],C@AG1 NHAAI!R;5:9D+8S/:$JKN 9(IH.)N@3 M(\!&"8P3PK?1C_>BM:RV/;V6.&W,.C6FX&K3_&I M2=FVO[P1&R.I"?L44?C) K;?MHUN3.3$%@;>359X2:4DOYO9K[G;K]EAJT&P MU6RP78_K[WH$'FFHN3,$Q'8\+IRDN2?"W(MYD2+"W$0VL2#S0F,[Q)PX_X?M M>Y0,GZ=N9%\0G[B/LL8WLTA/8YL?;/,CQ>;').Z;6-C-C]+6OE""HST%+X[K M.F^DD(7@: AMTW&YL+$Q]P!TDE=Y8][LA6*!JW(V&WJ#24CCI&N.BL\';C9Y M84?_?I:G5QY<)8@5GH"K@ZG0JIA9*C1S8)/%$:-P!"XBM!T?INLY4MP@>I;A MPVP SA1<&&8A-@FNF21%D[X&_B!U3'P2.>F&>[=RYR#;-*WGD,J MCYP1>/]]Q0-DY0VGP(7?,,T[:R3?I2>:E=:. T:86T MD"Z0JI4<1Z<'OK4" M!KY+L!H5T(?966#_*HXWW5NLHWI*R2Z4_C M88'J4E-WE522@BEU/6"71R MR7$B-VD""LY::/!:,V'A#4O:S4J70GP8X#XM>HP4420OG.*=C!AA.,'8@LN2 MT73%U-2%Z?Z:(X%*I(%H4D!-I(#JO")GU:$_.X[G[*TPV6>RG[WL2P)-PJ^1 M#4!Q1RN4H@H_,6J^^+BF"OUKF*^M7]"/>. SX"+/*7R]L"EO.B(@="^'(/+$ M.]-';],/8TK"F!I"R $=IP\">X$]O;"4TW=(P1$F&TDWC')$@(5&C#X(4^(_ M!39 KCZZ_KFVY.!'4D1O4_!Q/G,G[))\1[(8S5?X]/O?OVJ'O/#4?HGQ_=_FC(#1ZX3GOX*_?P./A]2/TL/OWLMW_>]] < M/M,_5M/F_*D3H&<8WO[AKBE==8_.)?KZ0WH$FH4%YAZ\BW_Y&N<)FC89"_G2 MU^CID6+"+_BP/I#WA9=7@EH30F&-W-_HS='E&KGT8Z1\(FOM.6WC[)9E96@U5[" ;;)SE;E/$+AVU0G\5,EB M)0VUE#18LB>1@QSDNZ>LOXM0,@A\I!YP;&1'S*,A5%JRE/I,!/JR*Y@8E%4, M#IUG?:(8)(L+-G!A -]4:#JU]R8*PM;;M1%[QB&'63MC-#80GG=F>EX M\]! M2U/B7C9ML&N*Y=$&QZK9'!O;Q0/W";A^]$=[!92HWYC71C":04-,K!K"#G;2 M=N.QPA\JQ$2FK")S[#C;"XN,7&E)O"9OU[VP Y4NB9 A:>R!UTM@Z_#\%9/9 MSP47_R,K)L%)CYA5R65;(2?TU.NIUT/F4#*!H&0]3"40I!6BK$H4R<,MN([/ M4+> YYD3-"#"?V?"67&+RVI\#3F.X VX!DDDP=FPNZXQ5_)6[.)#\=7V4Z^S M:H84-4YJNRXN'<*_?@2<%Q<D$W0([@[)UW>T4V4^)I,E M2F7I4)#V8K)TL.*]T<@H;_^H<-. M2!?DC2[*S'.\%6MW3PDCL78CZ PF>W(3VK8QP-O::^*/>_!V")!([&F'%FCB MM)WTQQ,RCY#)2-ZE?ID)R8#.[PQBS]@19J1XKU=NB:'U_J1X>+4:U.=8E M36BJLC"11,509:"-%6 T@:K(=5'3P?_*8B6#^CY-2%??ER.,2U[OUQ^,ND-N M-. V"O\>>OUVO]-K/ZZ5 %(_E<(6_?&X72_$U0LXNLDA10=VS.!$>54JQ^7G M^M4F4IR8R8G+GC&1%= /9NAQ^G80:-/E';@OP#;_)(MX9[DBH#^^ <_T!I,G M%WJ(H^%'@8[YCRR!-IH=0F(F?"$OJPCZ1RA]WVSB!40K_%2)?+4 M FBT_>@S/!KT*##'"'(#6&FMCX8(?1_X >(=62%>+&Y$$WU@[9# MUZ)7AH];#J4J5O+A8L*E.Y[Q*;6KHA2K;],V$+_NY/H5\)A >YO(GO#6-#CW M"5?.0EP'!:T%3TXPP@B6A*^=T%@A?R$\.VY\8?7@Z-IGSO0X$)]0X6*8^%"? MVFBB+^B9B/W8"C7]!0<\#U$2FS7D8R^P2%46,3DPE'@R2,^9^&]85X#YW(JW M.["M- ^0I:N3>^:N^8J;?WMH[&AHNF426XDH'MP4=>("#X%9Q[CE.?1TO,>- M[G9?31UZX=O)=?1LGD.+O85D -M<2%W9KZ;KV'B4F';X;2_002STL6&&N/T' M]-$3G% L"U'1H@,@# ?&XQ=!Q@U;H0&LD9$L?'56QLG[K0(R6!_UH8U[@%B MJQZ]C@R"/ >)+GK?BX,,9#*8B#KX*YNSKW$KEL1

    '15'>GX)Q8F:%Y7\6^Y5WC(_"KV!*]>M6VIM2:4N.U19-#"AR-*J/";,;#2T_IL?^= MR5M!>(7#HZ;G(8L-#9=)6$&XUK61+0C1=S_PC+&*.E9]"\SPU%ODBKRX8(9< M)AN$26Q,W K"PX[Y:EK'&,CX1AW?NNNQ"VX*@>5/(^O2 Q/H+Y@$%H23P\!] MA0NVW%'/J.=5[)#S7?2@:-M_IS_ )(Y>1G;60L+9> MUX;NRX*#DPG>_++U1;3LZ19$@X'A52:3!>-JQS$@3A^=6R:IEEAM&C%YI)MS M\OWZKAG>]>=FB)D6"[H4AX63;4OAJ94%U"0C/IBX<(/[)P1NT?(1U]+AHMPY M]&R<7\I55.F+*G-O$.*"E7"&"S1#?.XBWD=RPJ2^(39D#+! +KWC0<_'&8'X M3(5FN M]1 I+-)&P_9/2IJ6=R1-R]M)T\-@AD"QP*F6:V_@5J_@XG=PYV5,DW?N&(ET M*@%(4=F.A/*V;3RYIJV;Z(#[3G5MD_W*>U9/=AM[-\/6X"BMZ)W"TS/#W=Q*4TYFR-B*8=UE6BQ]2X MI[5Q>8$^W3TPGM.1R000*=:^')Y'XC@^+@?D#+3TH:4M0#S@;'P+)F*4*4Z( MN).+2_J@&S!'T!*)(Z6$0TO:KM$3<1$AU$-?0/-T$#<13\)D]>.(64];C[B_ M#:,=908UKFU9(1VC&LCUK;*05F-@X8%[:T.%."W=!A&$]'6AK'$%%,M>* ?. MW+2C]GNKS I^2=1EC>BR[G.)P,0RC5<"C#D$)0X8_PH\/[S-AHC2'EZN<%E% M*/3Z&A0OD"&UOI6=J M9(%TL9T7U9]X<'T^WM0)+ 0.B<8AC\*[#U57<)_R3HXE&$1;<1359ZZ6.1 M1MM&2Z_%/1,=@*W/!R2,G"A4_[Z<1VR>HH?<(U+B,ZG"(FDY.E-I0[N0#Y8/ MB15-*'2[2;H\CGQB.6_>\K4Q#K;(2)0W+N2(&6L2U6$03^@5Q@R)7X:8CB@* MW^=0]^.# A#G)@$I\]I\"U83\?LG <(1/G=KW4S?86MOV#8[;>](\FZN;+EQ MD1-&#U0@[YC@9'*Q"8;*UH!(I FS[P(D(RZ^"XT)4#,6;NIBV_@OQ[T_Y/R- M2 E3:!7Z6)?\\@6T]JX^M "-%6]3-)42%V\?\UEWE1S+53FIT_X,7R%ZQ(/K MS+ 8XLXDI-<)LF@<]("];JJZX_7JMO->!.?U";K$<<#6_5K+ER(:PB.',R"" M^ R?@1H6M&+C!]DGA,OHWV4S4VX&$1H-?L/$A*_ "HAQ^3:%Y/@C_\W!ALK, M<8DQ2 "R;CTBLWI,;#Y2H1NZ+K'E@\.0R.C$)NCJR^3&Y=.G:T] 7_EX[^H] M6X\F(_*1\TE>,E_CX>K$IM 2G(%_.2YVKC?MZ?_VUB9$?",0OW_WT_!;(YHB M5Q<2=QD[6Q,8&Y$((Z81D.)B;$7B"44;_'BD/B[GQK:DAQU+1&5L2F+0F!.3 M+(43].#HU*GH'B1R<9$LZGXAW;==!=V[6> 1>]Q# MOWMATW0$5,?](TRHA[@('A,=41H@_PJ9VX1\:*@U+M)S<7W6A.1L' MKD?8L*(U(FXD,7]B?+YB1J.G<;ASP0NB.;KHDP<0#YXT4<3OWWT!P<4@)>@> M2;P"T6=X-/@0U1D(Z\1Q@L'& S#>]U%C#'40("B:" %P;N(QX^4O52(1O):X1!2,FQ53S=F#K TJ0:K,W*(T8AMUB;\F)2 WAG@T^C^XW]2E^ MQBJ^%\P12G%*%P+<(E:LR%@@[!\O/CP]]D"Q4TW4PQ?B=0)K@6.R$7+@QYV; M0G"H3=SWY>G4420@.J)Z<^6: H/[:P9=%#_81<]PAGB']S%6$KBR$9(VUV_6 M*RWD%/%-:?MT1SQ3-W[;/H'G\5TA8A)-5MW3#N^RLT4^7EU3>'5' UD,^&68 M)(R:;&E:Q%T;3>%PQQ]UGT5[>"[=Z-TC' A]^7_L?7MSXDBR[U=1L+MGNR-D M1N^'>X,(M]W=US=Z[(ZQ9S;N7R<$%$8S0F(E8;?WT]_,JA(()!X" 0+JQ)Z> M;A"E>F1FY?.7CX,G>J6PR?V@[IGY[BM P;WK_B0>PX3=5(PXZ:7L34#!C#G<4=[]#"=-0+8Q MYUK>#[^$ZMO2CR7W7W9I12'UKT9P%7HCYCVG"M?LG8,)=2I28F4-N-M1,SHR\]VS^LP-$C9M"P6"48JH^M"7NE^YY"?5SP.Y=S6!G M%G0Z4&'^Q+>S/C#RTBL_6S+W*6;7ES<;#U40=CV@'YKF U!SDV'3S!Z+X<)Y M X& SP.I848JQ0/"C:,H06PK,'H2DZRO#5T/!=MIH^T!-@91**W8?%LQ66>KZ 2:[YWSY&=06$D7FB0>Z MP0=)GW,K[2(IPR59_!2QNC+;%'6RY"/3P566,HGR0?9]9(+LK"SUIZ&A*2,@MVVDPJ"WQ\KF]J&0X9 M*) LZ)$L63@_C'F3*.21I9PL2^954FHIP51P)7#ISY8RI_+F&V&!IHP6$W!L M,<8AW4T0JH!)W6%,&*)7B.X.?NNRX-$2G7%._DQ5XYG:SV)QT^55T[$V4K&6 M.=J^9/+YAD*YP9WM_:RJ<+D*]FZRW6*S4[JP2JM9TT[C$*L!<:!9LF,4@<<1 M6"X9S]#UYD1%P UI&BPO8SMVPY&??I(R5S=$H>O6X(QN3)"=>#[*ULF);_90B6VTE-+M)RN MQD^XXC$3O/G6#&//ST*_K.DM.A'0S8>&B7K+ELBL59T$5 MM/*AY#+1FM MF&)34A?8_-MF/8&9KQ\282CNS M0A5L"*TM(,,W=)9YCH@)/R>> \$C"8P3?#@Z/V9-34)*%"P5I,OR!F/J-2/( M&RC&4_H12RQC"7)^W)N,DI3E,?'T"S+SHE&K#%[*7D.37\*,XX;<:Q]10%^< MW<"/DY23):]'9\D<:!E'<3)/IOE0!;LSJ!TRR,]T;GH!\5B/3V\Z"I,++ 1 MHP T>!'X?Q%JML)^H/U)OZ?&YQP3>#E%"F]L_'V 4Z<_I)><%\<\P7,)P_G#8[ RN\*[&O%V^9V 8,][F1S3=["3; RIA0>X,HZ!/]XLPVW'. M><]*$B@B:P24"2QHU,MTEGF]&=\XAW>;WZH19.7H31".0T* MOL28CQ(=8A_Z_YEDKGO&S\E,K]]^%H23+V.G'SI[[A$*J,*T"U]$)A,4[R9O "?2"H5 5YO MR%*UYMZ"'#2ASHO9N+GAD"R3S/2;OH_%E/"C.1IF45HF;]BAPE/9CW;)$,M? M(9H]O4+*5-M+SBMS1%Y9 ^8B\LI$7IG(*SM(7EEY5991(IV/;W\L6P;SBY1X M2[0LIIS=XF6A9'Y]D_[*^WNK^UJB3:BSNW_NARQB3^:C35-EIU^B[5#MH^!K MI5H/5SSY$J8:*_TIU56R]*$Y%>3-8X&PS(R:1C"GT_'[/%+&7:2HZN5V!DRV M^(7[X.CN1#DUMV3?V]+728PJXRB;#-#L&Z$I]YF91RV/#:Q":CF\T72QJ8$X MM[+IJOHS%S+/Q*=^#3XU;>HI9CKU$D]RB6_ZU/Q9*[@'^.1^M4=E'(->SJLA MF$DYS4C!QG5!]"+//F$$ 3K]T!_#:::Q!\^C1S21:5 4C0R"J5$O,2&YEAQ] M./<@&B/U3R'9/[?8PP#4#_W4RD>U+9U!DZ%Q>Z=0JW(NG3P.(5IE*C &['*;*TR%_[WDIYTYKEDQ(E_!8CKE M2D-^9:B_>;<+4R89-\S2.L4R3MJV.Y^A-!PI0]^R.Q_,(8<4$4)G] I M4L*J)<5L;DDQ6S82FHT2'6LKP!DV=,D+M97U<@UB8(1[Z@Q>?1K8"0D63("],JU@8&] G1S#BB^@I4[P&F7Y%-AIG8T)BO$D M13V8#E.PW?.9K9,0[+:4)O>!R>=3%PX;HRW=^1ANZ)=-FN?]\N*N"%W&%/7, M9R"#3/GN4>6;AJS0L$AF,"AHJ%$U;Y8#A\E'23(ATX5@SWBFGI.?).[Y'"4$ M?H%X;TSWB^:?IF I&)^;:2@XIL>CSW//9I8EW[+I#V;)?W.5;RQ:1< $ZM&H MW'3-P3M?]2O)KY#7F&59+C/;(H-+@#$"K*6)Z-ZDL\&Q?RF,?)6->HI%*,^K M:;6$2-%\XUR _^PNXY9,F=P\?1$MAL=>&DV_R5 Q&!,0:6F*'YMF(6=QK@I& M612=-W!VV='-@']8!XN2]H8&NS?+^U-FTMAJ=2S'EFW5 M*L]CK+I&HX%KM%L=VU)DQ2PF-U*/V#)!-I_YV-XQ'7;.Y5IU6QNXJTZKHVFR M;IFU$([:P!6ZK0Y8F(Y3PAH%&363X(OYLJQ()X.V632$I[*+57ST^'XXH\G ;,1>3AB#PS M_SP<[@RJ!K_<&Y+^)"#%:YBZ:V["/O>!4+XL>,$,1:L WM0P^WP0!4'T1C5$ M*G1RQ8P>S58)>W[@3V][5G0_=4C-\J)77_R9O;Z@.S#[GN8K+#B9F!XZ-?BO M-_%^L(UDRYA>VS$(X"LL<_7&";G._O*I[R?CP'N_]D.Z+?1'G_A8_*Y'!6&Q MIP >'?MZ=O>U%7;_\?X9_,W\ZS;]*NMJ,/>=YK1UTUCZM=)6EWZW:EC5;+NN MO=6PJ[\S54=,]G0F:P%=;C:A#;N_*-AU(S?>]%%WDQ8=[()99"C&2X>/"2E, M_*$Y_"NS@K^@%5RA"\G9[<8#N@26;L:N-#)[E(MD>AWB+8_5^U*VO-/:LJEO M4,K<@AL0T$;KOZQ]Y+XGGMNJU<&%9[E/@M[V3V_;MT(K:T)U7(F.U@]F2EX? MD$SJIJ@+?.4:$L0D\9/--_M MF-YI=71#MFQQTPNF;];:JC"1?6RF=X\TWZV87E5:'4.57;O1-SUW4BQD5:D\ M!ENCTT2'"?:C"09U#^:H$>^LY)%JIN.IW"EZ1Q"X+]S4+;J?(SCY1R_!19WM?[,L5JOO ][,46!\0+NEJ&#W*2PI]U)RAPV68H_Z?_P MWO'AFSA&X!R*'E.98TQLN@+LHE14 /8G?BM(V?.GE]7JX1'HQ6IU3-66-;WB M/2[HI0%:WA'HQ6YU=,>6+=,6]-) >EFMK!V!7IQ6QW -63&.0"^7X!^F:1.U[8*-G1KTN5M:#_H"3P7O]_Q,GOC+*C*/2X$4%*TB M[P@;^]3(K@:UL#ZRTQ3JWK%4X=HY<[*K0;NLD>P8;(Q:U1(19'=J9%>#DEHC MV6E,VCE-"LV=D7_Q;G-DIDU44Y8VPL$12C)'-BX0/$_6VBK.S8^HX+.OS$HL M+F2XMNSH5=WUM1WLT;P+@C;W$!JOC38-2INZHLJF4<27%+1YV;2Y532]-MHT MF=PT'-ERB_FV@C8OFS:W"L#71IL6RUXS--DP3XXVJ1[]"[49.I6:[&[8:P)3 M^AO<:^)B.TR8%[OR[1KY?,9NF"1)P.#N\G;W=W[2"R+LNE:$&M3L0O\+^*S8 M<",;5KK)!2"D;9IN\.%+7EJEZ<8ANFF5'PM%_[\I"\-4:J1PO'9@CZ%T,X[] M0++*6J[2 !/MSQ<$&4!C'GD1V\VGV&HR)3'MOLI1G/_P$^S4=9]KL/84L;8= M"6V1@+ M8S]I2_ A!7F6QG'TBFTP:/.'21=;CM&&]5>L$>!TP&0ZD0PWDK5X]5D.%.RH MQX*B=*#L5]YX'&!_/_I#?.X&?P0W5(*]"SWIB<2O?H]('VX\[^GC["7S'>BG M^XFSQM=[K"'A>!+WAC!-;-_)^HC\O1)FQ!K0"![P39ZC&S:!C(%)\D#2Q\$M MS(%_4[G\37-:'1L,,%LM*!%L[0MKP[UC?5FR0&8O0LKQDB0"FJ N)>SI2"'E M8Z!LOGX*$\\:QM%&DZP+['R#.%@TA9MG+4)I3SD8'A;EI[,>IM('_%'K"=%' MX1C_QQN-/_TFW;*G;K*G6@@4#@^%/OR7?_G50[32]!V(D$[QLQ?^19OG4GGG MR=)#^Z:=6V" LXD3:>S%Z3M#NT^C]JQQHZHTK7,C3BN1@%QHP)EV-:$K>>R" M$N;-";AC"*OY]HU]DGH@N'C3YC7GV09A)%&U% /GT_[-"^V;64>>:?O.L%_6 MR'8J$^'KP/>Z2!/8C@>^AYNO/R]!2?@"XJ3/&\B2,:$2'Q[QX_X5(PS>CQJ[ M!HT)BD4_26ET/TGP;URD9E.>PMOF9LT8#9DC*#Y7;%"=+61A_K3W992HYAL4KD4!?:"D/1 \&!W M;;;YB-A/9SEK!YL?&_>A#X/#X\$[D]3_92>#JT@2OKP>MFS%L6@C 61]H-AD MF/6FH"N>6_#[W*E[R:QA=T!>62/+V<3[\':9MRKP:2.A!:*0L[Z7N!,]XK\B M_\A2#VP8#^8S\'^2_O31/AF0&/]O6>/RXF3)8<6D:-;6:Q%?\\ MM>[7H)!\)=UXXL7ODJ;5I92PN!(-/DF_PEV.S^74-O@^'C/1C8W9DQRL?/[< M;W[Z(^G;5&>1I>_?;Z4/L#-!UMY":N$SK8_R@D*"/!63(0D33,3.J3T)TQL2 MKO1DJ@G8R#&R";RTAVTTX-:51CY\ '/EO,:ZI:) S/IY(S7$$><)I+(PF0HQ M$H $IXV5Z8LH^U%:BG#H%VR['5*^2PCE)(D5%VAZ@I55ZBZ#5)U3TVES7N 0*CGJ&[I_98[DL(]Y^;O MN?N'KX4;FH>*9MI%J6\'5M/#B^P-1$5"PI(8D:ZW.H-H$I?<8.R<\MY?WGH6 MU?4UNF/F=FOXXHUEBY];=G6MUSV>UJN;K8XMVUHQ3V)[G7?-;$+K>R6 MJ553C;?2 BQEOVIC<05VJU-=+602T\OUP<9F1E=@]^+O)F.\/8Y%A_/[D; - MN0G[V8Z4;0+%'BS9A#%7R*:'R=I%HMBD#1FQ:51,?;QXR>'U!RM 43I_D>R% M!.:W@N>ISFW*]^S*+5LR]H@M8;VV=(/63Y?_\FJ64#F&CSU8/,H8>M^O4.<($L8TXW-W8YJ&?T\1HX,7_SX2P=N5DU(WZ]+H%#0:)V!^ MPH]: NI\8_:3]_&\)B8Z9"Z__55%M,ALP%Q$BTS1(O.02[G0%IDL=:,LH4-? MGM"A' MG[*;+\52#^5.,)169P :[AIWPLR+HJV/P*&&WO!5JQNMNK(3Q5J#G+]/)XK! MX!@UK6B];NU%6;>>NKTH!ES&INPXQ> G#59OX471]A/8;8ZAE[,N-_$_5-T_B1;>G]J9*#UWI^*Q\TJ$QQSO7>(YS+0 M_6'NCC>J7>W!1;0AF51R$57<%QL]GYI;!(!K2S>@N^:374=1GP1;^8V20SB. M1'SR2,:%=GK&15TV15F LBW]6,BS"# ?BK[+Z_\Y25*69#65*+D@%\NM\$O\E_3OD3J!AT"8TLEF*AB(UN\S4KEA ME$X=5L6"#L-9+-W8V&;2V[9Y5 U_$,%AO%&"8?!7$]CK& 9)2B7%<&.IL(*X M9B4!>3;!>IG9X>/7(1;G]E&@2Y1OV2_N@$!S M/^#M@J\W,<9X'Q2V+7,U>9B+Z(T3YNLMM&P&V+%+"_$5C?!E6E@ _4-6\]OT67F9-:_ M5=?X7=J%K\+&;. 6_7'_M &%K%_M!6T9UB6(/:NV9S0C6&Q:M4U[CE(OJ%=^ MG^_67 *4,5875P7;VPT:IG%;4+E7Z^;K/U%(G#(?JU'9QUKTEJ!YNX&_A%:\ MA]1W_>H%FR.@Y]RQ+N;2UH?A?"0\I]H;*0O.O4#.78,_T2S.-14,?AIJ7:WT M!.<*SFW2PO><^GY,SL66J[*NUM4R3G"NX-PF+;P2YU9'3S@FY[)R>+L$;D&P MKF#="V/=ZLE$>V-=F@YQ]5\21V5W3J;!M98?:@/[?23G4/OM!P-,; M)F&7_6.6[I+(4DC2K=J!E>S%J4,O']O/-(EC;+5'G_QM=D:5[T\#;5;%V/GZ M+"?WO=Z0"Z_4A'05VD:;'"@9T= M?8(RFTR9AS2$ZZ),&]-\9-/9N2>>(,TFD^8A#;VZ2--!H6F[1H,H\Q*R)'[# MOU]%@RNLOV"9[**ET)&'*8]-CUG.KR#Z(_:(*+]E9T]X!HUXK:*^B)F&B7>_819 :09IG M1)H'C'I5$HM6JZ,+J7C6I'? L%9]4M$&NI25D@9/@C3/B#0/&-:JCS1I7,M4 MFW1A7T)%\**=$34> M*J:U(S7:-*1EBI#6>5/CH4):!6HL$AQ6(8H(PEE3VZ$"6KO*/HW:6Y:XB<^: M&@\5SUI)C2LKQ>S:*\5$J&LS0GK,M4P5 :Y&!+CHD3Q$82^?DEN%F8S:F$GX MT9I,DP<,?"VAR2+M83F7*?RW9TUW!XQJ;4QW5JNSLQ8KJ*[)5'? @-;&5&># MM+-407?G3'<'C%;MK/DY3=3\+B%,=;_82N9ZJ3%5AU-#C"'&6!RC)F\%97&; M=N]I-,?=3A)X.8DEUOP]"I.A/Q8NC!47F7VXBVPF#JO[I-U61S=D71>P"V=- MC"&\*^=,S':!_2O[4*,6JOC*K*B[)PY M(ZBQR=18O=7S4:A1QU2&LB[?)^_X.!6+[#GV^H12ATC27UV.02N(L,#*5Q7I#?$Y M=W<3"6IK,+4YIQ&02T/ M-6XK_KZ_]9^/[#@D:.A6#4U-Q4#M7+9JZR^^\3$?V5ORJP/*L&Q:=;72VCNW7D([F=SA7E@NP(>F>H9R MGU1F,>S4:"2$>T%3=A1"Q>:T!);1I1%NL,.GR7P[H+HSH3H#FAU MU20)[59',V3=+";/":)L+%$VU?[:A"97U<*:ZCG7PC;:&'L@*>_Z*7G\B*O: MO1<;8J^\_C.2+@>T1X%$*U]O+O4OVF9=)2>-28=9XX$4O"IX]9AV^A:\JF&5 MM2N;;EV]Z 6O"EYMTL*;ZK[8AE=5BM"].W:28%7!JJ?.J@=T^FS#JMCBU)+5 MD@",X%7!JQ?&JP=TAFW#JSKM6&D8I\*JW#.6320[%X,R8CD?KW79YEA^D^EO M,(YXY2F^\A)28&ZC,/%A7ZBDD<8>[,F'6R\9RM)#E,)KO+#_2X3L%?7^VBD> M:@W(>OA%S/TD&THU%Q"+8!G!,OOWMRU!'CT(RSAX MQ[BU(:&(3+*-?1HIS)6$J42\.+R*)NFTNN>=N3?0K['$J7'FI7-U> %6.*N7 ML53..WT?]B;X486L3,VM+2M3U&HVF>"J1T?V0W"Z(@CN$@ANF0E:%\$5"0OS M5K0B$HP@JO,AJF5FVOZ(2A-$=>Y$MS\"MSHBU1XD%)PI.;-+" MCV3Y5^=$&GRV=[?8!!\*/CQQ/JS165*=#WE,V]J].EMPHN#$$^?$&CU,U3G1 MH7AHVN[UG*(/07W4\^5G#\X;R217(Q#!#*5T2"1O!,M#M)8D@9DBBF9$/P^+ M0"[2AV]1U'_S@Z REBD_2+8/USJ<5C^:= ,R/VOZR.&TZB=%6)!B(7C ]#4+18,I=6Q7=G=W64NQ((0"T(L M' GKIG:Q0#%O7*6N1 \A%814$%+AT+ ZM4L%K=51-4LVG)KQ=81<$')!R(6# M0?C4+A=TD NJK-E%M/]3%0O4Y_I+BGL'_^W[KYUL:0^P2;'?Z_P+/LP6,O+B M%S]DT]$RSO1#/(!KW:*"XL"DIB&I9>3//JM1] ME]Z&?F](/QM/XMX0'I+&L$XBD9\]0O"'^-W \V/IU0LF1(H&2WVP6/*4&]U/ M&!EX:1K[W0G=U M_'XZS)@W]RM.G"[GJ MQL3[Z\H;P&2OO>#->T]:O\S3/A ^']S%MR^N?>D*!X.]K9 Q8!\IGI[V-8@8 M$N-3,">O,7.1AC'*^;_YW9[F*HZI*P---?JF[KE=P^L['DA62W5[WO_:K($OW8:]-V?5ITDW\ON_%^09H MC5W!X_.7)^GY4;I]?'AZ_'Y_=_/\Y4[Z>O]P\W![?_-=>GJ&#W[]\O#\U/BE M?/C]X>;WNWN8_\?FS]7'"RJ:P!C]1*:7$%[T0R\F4M]+O8]E$FQ!R'/]Q-!L M4)U67=A'6J/7&_KD%>[+01R-\!*#.Y?>=^P^2=K2$R$4'4URY.F%MJ>9TA&O M_13.OE=%MT"&O@]3+WSQ44 Q37//VE7--0!? 9]"(,J:-Z[*5(:& EA#W? M"V F\ %;/%>YP(B *;[#@GO!I$^X=I9, O9(-.9A^821*SY:T-*FE R[#+\= MDQZJ4,BPA Z2H^ZV]*\YA7K!]%&7V3HWLR%^Q-%7/-S[V1D_PPB? XJ@D!DG M!K.J0"B0_DW*/\/Q"1@R8Q1Y\82PO1I$01"]@>T@,1UU#&M@]+%T+^!?V2Z0 MK?:!4BN.GX(VP-39$(:31C#G82*1$%7O)Q!^9-0E,5.2=466-$73V](SG=@K M"2?LIXA" /.?'NK 1VL-'];F1$MVRDC?^=/_9S)=)RRJQZ@@/UNV!)3"891* ML.EP=O "KLW/1EE/=CC=H??*!NH2$F;;3?I &XO6U@::\8"JS[TRG[2K+OU;:ZI;?F9JQU2]7359U MVJIMGM)D[8V&79..M1](V16Y7$Q-.Y*/RRZO':2B[%V"606S[HE9 MJU>8')A9K5;']&(2%T"AXDQ1OJOU/NYI9*Q8]+(.8NF MLB6>C_19HBI0*-C-1 ^CQ,^4$-G?GY$,]R**[%;'E&V]20A+@L,$AVUSOS>4 MPQR:(&4X=559U)_B5,B/.948US<2DMAC83NO/_)#/TECFKDCD9]C$F)89H<0 M"WWZL9=&TV]4F853LCA9+CIR19.&",JN)$VD,6R_YXYQGPLN./^Z$?+Y'\Q2 =>[P8K1MZ?2GJ,0!%R4M9BAR!\Z+$!:OB M0[P3+Z8_9Y'!V6[DP^#PZ:M/,P$)[*GD(]V,QGZ0A2UA;Z_F I130LJ/0L/D MC 62W(OR477<-MA#D$'_9;_A#"DOQMY[C%&F#"M/L_IF*KCD Y7W4A[83.;B M]RR6O"3LIY6&_71&5[.)9R22A39#@A7I7@ST#+/H@QBE,@5>_\'_N"(@G [A M?-ZB2<"CF]-CPS/$G\T'CXM9'R@.X(Z!U]*@Z"RI@I.J4W]PTFR[[F;!23'9 M,YZL!=2N-2U&[9YH&&T_,>I3W8T&QJB7.C17>10;N+5;1:_7+_Z"=I"KSQ+7 MG.L-_I_+)@DRVR>9B:P*$:@5@=HC9E7D_&))YLSEX=G*WEBWU=%T5[9TXU1B MK\?FOXMFOG/EO U!)VKD/%-!SK-D4['WS7EGP7:7SGEGS'P;YB?5R7QJJV/9 MJFR(]BCBVKO@:\\^/.=IF.NGR)9Y&M?>)63Z/9"4!Q=%9I_(.SJ(N0HDQ_*, MOD=)4EF&(,:2+FO6SB)$9.D);CD!$W,W;C& 6RS9MNI".Q?<(KBER3;A;MR" MA6.Z;.IGV-=9<,NYB(_5FQ/'92_S>#.%FFJ=[ MC$CE.8N-LB6>KMCX0>(GI)*5AIQ6 6WJ"R? ;&!*EE,YHU=^; BJCV[LVH!',(YC@TJ(MU"L,?)L4=M1M@*]C"0 M/:PF*5<[ !K9S<$SNLE!HU#(GY'7GW9+*\*5P!<,"&4>:24:Y!J79/W9X-F8 M# +22Q?ZN.7:G2RT#YL,OJ\8#58V\I,DBM\1?06V$_XQP?=3))BY7^4P8=@ Y9@PFS2 M0V)>WWT+\W?7 B8=OFB5M:>"S3IFMYU]MR5:N7CK8E?^/W]S-%7]U(CU5VKC M\SV"5R+1)L\Q"+:;L/^(?9I^(SWBOZ+H3N[\I!=$R20FQ68^EED$<[+,8C.? MHYS)9S\(6//+1AS+,;;@][#+-B%WGE,YO-C19T7+-G:H%4GKJ3V!@LC/()Z= 47#\Y-9LZ\IGM[U MYM!?)P/N95IM4]U#CR"W;>OZJ8!%X60W SBK']WG-/ ^1%N9N0 /2 NV&9>* M?_*Y(#;W5\A\9FZ5"R[DUE>G(6>JR$SIH# [59..+;O546U%-G;WN%Q*\;;@ MN;/E.>,P/(VB\>=JA%E.E^-.FF@TD@>?SH MEVIR6K7-*!4:S6.>#W7>6-G.?HWB.[ZO18ZZ15#K,*W,4VZKH\M6"?[/QQ.. MJ GJVEPV[Y.Z; 6IRS"*R8%'H:[+-)ID*22IL)R$%E>[Y?1 TFT%@XIX );L MF#NG.PGS23#>B3->9?-I!\;#)$/#E"U][]!7-=M0V42R7398#*1FA7&#,7(+ MUF%):.H$I+#B7=YPI%E>@GKT>TDP;J>*H?.4PF4+:C&"5)JVM1IUD/ZQBM#JN*:M*73CP MPH4K7+A-<.$NY190[2>C">TJFG?$L33=[SMPDMGJ:+)F%P,EPJU['A2WK7S> M&\59E.*,AE#39@B;DHG%*U;5"S1= A[KP=G%>8=*-ILF+4[#6N MX6 ;;H@)%A1A;'W0JZZ,?'^NO(&L,)K+WCSWI/6+_-E&'Z8 MS;N]OODM/S_#!KU\>GI\:OY0/ MOS_<_'YW#_/_V/RY^J&4#J,)C-$'*X[\[!&\C;#H7^I[J?>Q3.R)ZNA/TO_YGX8\0*6%5Q;+O%BF/;+58<9X-3 M 3P=F;M'%M6O/&=NZ8QXE(M9(K,0;X3 M+R&_X?L?![\GA'KV/I-!%)-<$/&.C&-X#=65X*G2?Q*F.MMX)-@A=VX$8-MFLE_ MX@SFGAZ#F:V.I:6)+7E=V'=$5ZM"%''#0PPB$ MOC\:Q]$K&9'+J]RHQEUKFKPWD;ML$/RR8^[L(NBOYNW^;1Y;DU)0Q,YSFUUX Z35?5D,!&/8")<,DVO MR>%O($V[2JOCF+)M.:="TC69%J=RQ_!R\=GA X7-3O_"K(TZZ\2W9,8]L:': MZIAPLY2@[8HB\O,@Q_W<#7LB1ZW5,0Q9U8JWPBE7F)^*S%^1TBO*S44MZJG: M9C=8Z+(OV]"@6O2=G.OZ0RK9F8G&DKQ9@15>@J37-- MQ&RG:5KHSI1-NX@ 2$'IL%XL'<:$%42$<$K2".8V3"0"1-*7IG4TC(&R8AH9 MVS./20]!$8)W&2O/WH9^;UAQWE*1)6ZJ'4]9D1^^T/A>!S%RG:&96 M/X@U^:0[3--2T$DJVUH1QGLC1GGLI=&437B555U%LMH:(-N*1X24K%VM@-D4Z<5D>@!32P9MZYV)5OAQ;P+8KZ;WX0 M@-)]'Z9>^.*#DDE5]%4=RBV\LQ>J]N&S(EY -CR5([,72.P-VT &\->4O%Q; M6<>_/V:D(U[[*6CNO0V()-N2PF*W:0&>#59R0L9I@AP\PQ7;&P*=$)3G],;M M>7'\#C:4].H%$R)UW^%&'8.!R- *R N:F]/K>6/M57HC6 &<<*2$Y!QQ$MRV M[NP!>?B<^ ,Y?GUHMM7+&--_T_)TFZ MNCA!;."*#?P:Q?#/4&(PN[UWZ3F&T0)F?T0#"53TJ]^?[J3!)*1N!R^0>MFC M+XMZO=CY^J":+J'"]/[AJX @$A@FZQVL:_S?F4^@LG/5;'5<17;U2\MY%UPF MN*S(96NP(::.4]1:8]*_F\2P#3]@9E&_C+FL5L?6=J[@$IPE..M2..O').X- MO83P1LVP%3G[9OYR&_@_2?_JOR2.REC/YL$1[9-@/\%^@OTV8S]N"V>F<,X2 M_N;Y(?:TJ\*#CN!!P8."!S,>7(.+M+4)YX()I\J6>2XUGJ?DO_F'T-DM;6-[V!-[TANTZQ7&7O#'\)@<9O7QX%9NT*NEY3C[0U79M UZXC MJTZQND1 RYX3 :VI$ZM5&;98\W:SJK 41'5THJJH:!6H:HVB55G'QEK)8M'T MYC P@H#.BX"VT]0=L,[MHJDFR*BQ9%2-BM;4H6ZM';E -YHBZR4EPHU%-S\E MK;\4PG8^D51 PP@$F,H(,-LRO*:T.C YV36KFD-'QV.IYAH2/"9X;$?PESHM M1@W!'C1+-IRJ'6X$WPF^NTR^JVI*:XA3(KA+<-?Y<5#L<#\48Q/>WK"=!7C$_! MG+S&S$4:QLCH?UL/5&BW.L\4K0I$R"W*"(H-X766@ETUA=(>_C"E;T'4]0)9 MN@][;8H@]S3I)G[?]V*?),U?P>/SER?I^5&Z?7QX>OQ^?W?S_.5.^GK_W_S77IZA@]^_?*02QMOZE(^_/YP\_O=/$%_SJ@Y)!OL-E5D"'I%*E"#NH6:<) M.YC;/X^NC_9@D1$?$"3G,OT"95(& <6_XCA0N,>)GZ3X:]19&,@@*K5-A1ET MW;:AF=N@#&IJVW3L^B';U+;JZ/O E].VPP,4DQ63/;O);@:UN"OX'V:-K,^9 M.#UPU9WTX2F &8!RP&%H7)T!]/79&USLAJFQM,J20JA^=V MI;=+?&)=+R$LU/-!7?02;U%S<.)I%ALM\7PR*%1U3=^R%;YPJAI6CH/;K8ZN M:K+KUH4*VJ"**<$GI\0G%>L(MV>4G,*_0XM?2W.P4M61=:M8*W;*=8:":TZ) M:P[%-𒞠[+:J&#)PBKA;!)><#I>L:6U0MPZF*\ G&NI@@D\$GYR2#K8] MH]2D@^EJJ^/8LF(6<6>$"M8DPCIGICD4SVRA@ND4L=*47:-)P$R5/9$#^G^G MYXE\CKT^H0=\@MY';8GW<2,FVCBYBM#CJ#=L8= M%435:*):TU6D]BL1L4B46:<9I=5RS*G#!/JGF\O* <$E!]'*"-KB^BPU^(5BPVII>3[4K'(@1 M:\BV432,3CY:<^9T54WAV(&P:E(X# 6SLV1-V;SIC*"RHU/9H8AL"QOVUR)!A"4K#A-RG^_F #Y0Q1>(;H>24\Q0FZ("/EZ9E[3G[%V502! M'0W9U46$_-3HJJ(JLCUAU:6*T*YWLFZH(AQP.E1V*"+;1A6Q414QW2(]"=%U M3D2U!ABY]BO1H5>B6M)64=!5L^FJXI6X/6'5=26ZV#5;UDHJ6<25V%@J.Q21 M;7$EFE@;)3MJD[3YBPF@WY%7$D1CA*TGO6$(;WUY/T$SW11!]/5[L3M":NN.Y%%271EE^(N065G*KVV MN1,MJF19CH%TF E-FU5A\G*'HK+&RB>-41% MG5MS/A+GP%$-TVYU#,V0#6UGD5/C>1[942VX67!S35KJT6-))H8M';L4FK9R M,$GPMN#ML^;MP[#V-I8!HH#JEFR49&R+>UKPLN#EG7CYP'$[BU8D6K)>@K@H MN%EPL^#FW;3NHT=++14Q3DS9U6H .1&\+7C[K'G[,*R]A=9M8=*#I8#675X9,23--/I @F+Y$D!7+#/HD87$BD[&9[F(S@Q;U"!,K:G,9_3\A@ M$GSW!V2.TF%%O>O^)'XG7CRC;1UH.Z-J_NZ.E$;2FNG8>YH.!?23Z> M-EUJIT&7*?RJ.G4Z>R('-RH'DZ\8$/ZU/9$$.@MWH(^*ZC35:9C*\NEYVF3IWE* MY%E5>!I[H@:UC!K6$Z>YI^EH&PO/A6>06K,3'WGQBQ\RRTW)7!!^V"=A>JWK M;=ND[I!CT,CSD,!281[^P$?3KYC,)'F]_TS\&.@"]@:,3"07*402&L'HPT0B ML(Z^]$3&*1EU2\NP9CB@A%UP]>\PF'P;_ZR&_:N M2D2%QI76-LK)2EXWVX*-M>?98LITV]IRL@4+8,^31C\%[6\I[R"7RO?! 672D942W.#J$U_31:SFB8/>HQFR7E*LN>D! M/O;2:'I\*CT];8$IBQH++MD/)W053&?!"?G=GN8JCJDK TTU^J;NN5W#ZSN> M:>B6ZO:\_\48UDPM7Z+H[%VIL4N5FH=H3U!G&RI5!]+ZRQ?O7NS*_^=OCJ:J MG];$+ZWT$A]@.P^TARYR>]($HF,7F&D3X' M4>^O&>-J3&X $\&=FO+/\#T$F'P,;TIA-+#&V*A2;EBI8#/,L><"=\Y>>*5. MHV(;+O*I-R3]24 >!\7%/>.R2]:E+Z[@-"R:;)^#W#[GC! 4HH,H"*(W#)@5 M_ LEZV-+H8&Q:0"/1>)@28$W3LAU]I=/?3\9!][[M1_2B=$??>)C\:A>BFZNQGLN9&PZZI7UI;!5=\M"3/H =L0>(C1=4+PI+2U53;DS)% M;S%8?4F[<4=Z?#.XWC2W&8<&HSE&EL7M)([A7*0Q*K5PV8"H#(B7D*D__GDWZS)>G\KL? EVT0_O M/8Z"@+K<:=P:X\[>3U( ^1"X..ND:_A*R#7?SYNP_QO;S6?KN M#:D%P%*#"6F):*V3D-Q6QY*M$MS*DX=4:K18_4Q",O"+4$E"KZBHHWX9C8/H MG9!L0[?4+UR%\H$EVA><,TEMIJK615*8R2FKC2*I2]!8,S= E+E\LN0KH;)N MI[+R#9VZT+[P[:S,$!K-35($].PY4](JG;4V2M);'4,VC9U%J]!:*]'!8SHD ML5!9MP[_X?85$Y"VU2\,5%D=JR[(*Z&R-I&DUL6UZB4I$SLA&49=:*="9:T MJKQES+ <+$.Y6&"8FG?G?"3)9OZ4&H2(!?<2:&=Z7:U+:CK*TTA:$>PLV+E& M7U8-[(P8Z(:LJW6%FH[,SB4X3X4JA+*ZH V0H)9\F>T(/VH#,^"+%?73Q/=_ MS%<:\'U29C_QNK EDW3Y3PJYQDF.0Y/DV[B]WTO]G/^XL:NX/'YRY/T_"C=/CX\/7Z_O[MY_G(G?;U_ MN'FXO;_Y+CT]PP>_?GEX?FK\4C[\_G#S^]T]S+\(>M*XN?JAE ZC"8S13V2) M_.P1O*>&7DRDOI=ZB\ 8HDJT<;62B&ERH4O?KDSTCG33566@KE,L W6=8ADH M4ETB\6+39?6?2RH_V7@E;]&.) B.>HYX6U'WG_38!9G($&6FDJ>@PJZLJ:5[ M6+:S^O:5MD@Q]V$"QSY"E:"$9-S3K+!E)#QF)$R5AH@>0S0[AJSB-A$EMZ+D M5I3M%\?OL TW M(T0ZJ>@ !>YM=33%DFVSKG0346MH!64]M=73]E#CO$K+ ?@^I M\0$*%4P&X77'<33RDR2*WZ40;2.1(;:"?=:$X6ME'P3O=66KMN[%(D6LF32U M)A9<*TTA=J\C&XTJZKX$:^FK'WIACS!4(E'*L$OG6=S'>1R0RER F-"R;NQ< MC2Y*&1I,2>N[J=5 2292DF$5 7M%*2QGR+GNAM*Y0,-:@D->J8"!JC*PH M.S.$T%D;35)K8-%K)2D$CY$=M:YVTD)EW8P@\ PE/TDF5''M14F:R%)(* ZQ MET./OS!EME*SYK7N@@&)6;\+W.1;W./JK5QMQ<'"'YC>#OV8A2K;9#I:ZR*H MAXZPM9ILV47GP%'HZ!(465H[QORNJW-2=E%P=XOT-(]U:I3 WZ/PY9G$([SL M;L+^K3?VX4"H49C+R[H/>\$$=XE78?SJI9.8EF5493$5PY&:(UMU=]T^?CBR M1O7YD@EVC:@_.,$B#HXA.[55%3"NGD)WOV^[I#3U; .?DUL5Z-GJQI% M1W6=G5E,*/$-)K%:!/NV)*8SQ%%;($4>ED VR#:7I8 DB=2;%^E;7JM;U.6> M>[I7_1MT/C*IEFNOLC RP 8":609=64AU'>V1S:2!)<++F^HYE&9RS$T[LJ6 M71?"V?&9? /PB9,H@;NAA6W+>MZCDI*5M_"OINUXL1BNQZ-Y& 2:A#03%'Z6 ML#;!0(SPCQBC3J.Q%U/=*8WXYUQ1"M[AS0,2PT#==RF(X-! D0KQD&&X)/73 M"9L+D"V,%7OA"Z&EC-*;GPZEQ(>-]6(^)@P.)S-)TOA=&A,2\X=RK^=U+KVA MAU0,^PYOZ"7M3>H!]ULE3D>\1H[U>QN?RZ8H;R.LXW=P29,:1G[WP+Y0X-U3>>K+T MT+YI2Q]:"Y_C6W&\_L@/@5-C"M(C>2\P65E*L)(7=Y+*"Y@%OCT@:8IVV2#C M=(Q\DYCM&[/9V--HS<7I.WX>DS1B+>5[<&UX?IC5"_-]_FCSU$7X8)0M+@@ MXW&0=RX5F=P)<[L^TVER*@SP6K6M-975&O>/..H1TD^^QM$(=SG)MKGR-KK8 MI,TIK;&2WD#>,!E!@:%6R1B4NU3>1V%!\DJ4\,;>>U[VD)^H ,$3W8P2DMQ; MJ$R:9UY>((QBD,E\^N[<;83_;DN?R\9>(R4I.20$E$2F&'K2 MP(^!$.A+\>0#GX2X3)3,*4A?G]Y+\$0H"*)L3<4 M]T!8O1X8)4@O X*D!_(;ML9/Z=;E;V2ZQ_\!W1BW 8>(:?MBS@F%;7ROL"&X M"3 3,'^0+$!+GM'X9(POKH>V*41\FL#9:4Y?71M-=J3CU ]:6:MK2VE(9AGQ*[SAB(:_ @3NGW JF;:+MC4HW3QZS68>D%?4AZ>7 MBX_319D(4M./^J#GL^4\3V?0^KCE-=$E8/Q/Q_=2Z15T=*I!Q-1IP38$+A,9 MOYQ7ZJ,QOAJ$@\\VP).^3.!&IWZ)WCL=0 )A#J(6OF0SCL"2&,!MSS0.Q+RD M8RXN1Y:(3VT-],>QC84#N0,!^BX]^;AA]$-9&@>3! 4=\6"6/;PJ4,:/QV#S MTD4PVL8?>]3;PB8%I!V!1<3,O5#ZO?W4EOI8#8SFR'VV&6P#8C)"BR9W:KTA M^E!FSIOY34',)/2XT<'A($D,YI9$D2G7"&!Y820_/Q%*<4O%$ @*&*XHB>;B M&D6'9\DME:T>B?4.=,3PY0>EN:GL08BM3/CHK8[5+E:/_6,S=U##9,TZ3L&] M!4H "4.S2T%?@H]>"?P=;8\A< =J+C[H-C-(3B07)!]J%'OSM($IY//TP91S M]M>"!0T"CMT-Q5$&$^HMP&WLPF2?N>;]QMN MV)0^E1EY&F!;M*['!I1/[ )_NK'Z)I_14G=TOG=ANM.6AL9-]6EQ\T>IPX0Q%,/0"K%G:F M2--5!#05R+"GE$=\J@Q3SQS%R2L>4%$D;H2V/0^!YS2*$C>7F MR<@0V]-![ M971*0 'K414M\,$B7# (07#QDE2)^AA'$7S/W)#I$%4=&8X1R9?N/5[S/<8" M[!F8!;6U98E"IS'OD<W['*'OR,*=!P%,CI"\0+.?)LA M;" :SS HV*>3>/I%SK3,BV)\]XO'QLP>S4V AUB\P0"6B1H'^HES/V&O@X%P MB[J3Q*?B?0&;MPSJ/:.(RP-L-Y<#M@OL=8&]+K#7LVV.O+48_U M4M1CHQ2*>*9*'&GM<+LE) C@KLVYGFDPD>MH?LQ]SQ6/X:9 M4A=&!H2\X&YX U?>8 MH&^R=$$N8TN9;/X,L7$B)> M7O">8Z7I=&78YZCW%WI>)S&]4E^QBW)H'-&ZM5D=O M:T4@D9EQBZ[4:>"7,2INS@<0"#[ZICT4)_&4&&2I'P&UT_P^.,DA0<)!PJ/. M5!9CPVP0-B2=_L?9KGDI!>]*JP5%5G7FQGA(MC_?L]G?Y-Y>.2@""J5>'A23 M%YS%U /]XM.8(K=$LX L)]0-G43-RFQDY=3](G(%,UECGO/48RFN%/Z2">F0 ML+.YMSX.V#(Q*(RO*UL&PA,HQ;Z4VX0JG5IGIBNMCEF2Z"SU M:22!Y42 6<@J@$),/1O!A(:)Q/+=EOK=\I%,>9MUNO6N4T7XR!*17'UFUIH4 MF:HST^ $S&)UVZ8G\-A+H^G^3Z/_9KWS;*6(/YZ&N<(6-.8B MY](0TS^G:5WYW/2]5P!GH\H1YE*GD_LR5/(%B'GU0%G MU/3^S2=UP^:4CS>7Q9AU+)]I%Q6Y?Q3YMD0R;=:;TU9:QQ1GHK_=TOYVZL4N M?;O^=M]!*[ZE//&"CIM9J[MDQE!6P5D(GQ5;W$V'2:DU#29^S&'NRKO=K?)1 M\A>4O%;;OC/;9QX+N\E=7I_?<_^:K6!N 846;K9NGV8+M^=\2S:)-UJ;C&#" M, ASA.1<<',U:[0 #:\2] .,J![0FQUX+[]?HM?;QL.*7F_GU=U,]'H3O=[F MX*:6B$A9ZA*07GEO^COQXHTKNT4GJHOM1+7&),V4'##JNIBPO%RMV1J[7WWQB0$=$83K!C52"@-0[Q0_"CV^HXLJX5'?P-9<=+P"^[X;F='$8C M9W**CAO+@QLK@KY;,-+T#+Y&<=[H+^$A0VEU])*8N6B^<4;491V,OJH)<$-M M=2Q97/6%(K_)2G^!Z5.$R\.MZ2W ME# .]M]@:EF,6\[JPFD]!BW?V<5*N.2^/6O2 0_@0#6L5L>4[=U1U4\LGB$H M]%1";H9]:B&W2S P2II)+;LO+LR&.*[\W[+7CT&K?1Q#1 '.F=SJ%^;;DAM" MT"JR8XK^W$U)RMJIG]3\S2HZS1Q@@\Y'*M5_"3Y$86\[P60J()ADQRWB-.ZD M:YY DZEZ\K\$ZPO6/ZI"L@/KJZV.(1O.SCVV&\/Z&[2>VK2>UVQ\.2\OD+J; ME6ZO*)F7RE$J8X1FPP>)%X=7T23-1<(DK__G)-FV7>%6\&W@^2.V M!3>(RY:,&+[FZ6&J97>:G\S!\7-XL=YLG8'WEDPHO-K[F*-<#?P @1!>$"0P MY4C0L$Y"\&Z5J4#G,, 4&"FB_3G8+3B.HP%L&]U,& LKO5X0#Q#K;(/WW-=> M()$XCF(*AQ>-?/HA1S',YHX5N*SY3^Y7LPN$0N@AV)!M^=8\G)T]51^"JV'6WI_T1OB']&@:^2: 27?H_CJR'D(FW'1CL%D;\HF)LW M\EX(QY1#6$IL<3")9_.:X83#&C&UDC6(>"-T&$14Y"B ;>G?0Y]V8 @]UG$2 ME$48&1_IDL G%/^9]Y2("<46]J=-,!*2G>>;'P0,+=J3L% Y1K1(KP^32#+P M:%P;1:&;T*..8@KEG(&>R AT@<0P0^7.,(UECOY,M9]HS.]S>GP4$&T01&^( M,#U; FC&8?0&I/3""ZPG(3\<1*,#+3WBS3[H=P&KK2Y='GP!BUD$-RQ77C?4 M#"RA&33R>E3UBUWZ=IK![/I_'*#@)&%"N8$; !3\Z@G!MUA). B-BJ2YCE"%RP*=@$MV'&0X8=B55%V&%*,KG M, IH$U#:'O"56T@%/&S\N?2%877"!PC'#X+\1^"%6:LEQ!A"'&!L^D9[CI3W M9 VE7[T8'HG#K$4JFQM2F8:MF69OPW?0C]5/']D-O'PN<-&-?<1$'.RRY\@+Z\[OXF*I\^1IG ME]>B8O Y\F*XN/O1.%VN$&CZDDN8=2;./X ?MS[ROKO8S)&.N7C+SUG*.=V$ MJR9>T)8>0^G_3D*2=4$N "4NUV@6IY.I$O.?SKI/]D&/Z&%;S;O#/-^C1'M MBTQW@1NXN8EGS:AQ-*HG44V(@L5/T=[9/W'S"=CHE!$8[#LUTC,<>_I4\1,: MJ4"7!HEI! =%93KF)^$?SO;?;3NKW@#QY@-P?_IO0$-)VN!-I=&2MA;BR4+ MVA+$^"FNW=2R\L.GX])WT8$C\BG]C^ON+GZ2TORJZ MBJ9 VK/F%N7\E3_>\O=2*B*YA@3L@#(*'- F(_$KL!T_UU[@#P;2*V$-51GN M^YSX!''8N_)_7@W]/IAMU[@C5JN3OD5<9",WK+9B+:.V0Z5__,$FR_IOJG/G MB9.][D_B-[!$$A+.#A%4K@'ZZQ!^JN#D7C!)&">B8=(NN+^W 60L7^VL"06U MLG]'5F1K1%!;.'>J(I;8[LXY@#(NP#%Z?,U(SP49QD1/'JE[8X1T@=%8#?90 M8#2>#2HAN_^0H7X/4;QC+^\99SU-KX];=GT\,58+YY^B'U+1=,D CQDTM\2Q MN6EKTF_TEKA#]Q7F6=#/_BC449]7HO$V^)<5%UXE4^I$D^.6J<++FB?MK#4Q M/?*>AFYI1( "^C\/O?"161D/$1<1#QR\OJ**[+8Z-MB0MEML<;(++0B 0@%0 MN"SM#K1_2NQKV$@[ A,M='*@%P7>$[ETO (+64JKXZAE[? ;LZNWDF;K2SY/B/6675[6T2XO>C3)?^ MNS8M2VP<:VQ^/94M\4398.4-9!WI!IKGA*VN(0V+-:VV7421._EBS5.Y:OZ@ M2D0=>O-)W#3+<;B:=]6PH]GZJD%L/-N5';=8=U2 X#J$G73.=TW9$IO-"*=U MU\RSPE9WC='J&$[;J*L(3U@UE4GN:Q0/B'])=LTIW3;3T]GZPL'0M2UK=M&T MV>Z^$;:-L&V.=-]P9L"6C5M=-E:KXVKMDFZY)V_7-(2!:NP4MV&=?=&Q><'! M(_M4@TRS MIUPJ:R]WZEAR!'\G#*&"YI=%FV2@I<.8$)HNLW$N&BWIJ@8E8JWING83!%$/ M"\'*2?H+6UM5] _+I3C!=A$8BRZXXA*L8RP!.]>KEFPJ15ZBN;AC@@F')'B7 MMUF2>Y0EJ7@J5HD&N\428'^.L02-POMJ1K$#U*:\Q>LO&6?Q=*/Y$VU+]R$N M-R1L'VC=P'Q9@Z&H'_[Z*/V(HX&?TE0X?#4LI#>4YY+>2R7%CE+ #WO!!$LB M*I[8$FS_JB=6/!2]U='+D'ZVH"KM*%1E((Z?81=SCQ99'=NZY\4] R2:IXTI MY,15+_"2Q!_XN>*'M;?(#E2\-6&LP53^04=W4;PE@#_K;]'-&LUXL7 M5>TGC]GK*6V5@,4'(SJ"-P*E*\WJE%;\G)9=#'R*^ZG>;J M[:2[V%VOX'8K*[@W&7C(/19#A8G?H]KLXR1-4H\"?%3F7ANO-5TM7FMLT\ME M]3(-#P4?V0TPV.4SZW,2W7N=GA?.?M ME^+Y?N$U<:::V"#W9A/;YR'^/8!$/4?K_"+RV%[V$F]=&Y0X/3!9# ME56E1$K ?O?)@,3Q@JS, Z !Y E>YP7NX1"\K%Y2(BEPP%P1IY/^\>_94G8 M'L?9R6J66%L2?-^:,B3K8/O(W/5?HYA_A,^5%RIA/=)L.Q$JNVW9A?HD6K4D MXY9-PMPN>>DR+2,OL'*XA@O5-:P&@!<';%->0SFD]#+;PM998R@<*I1)#WAK MY$0'# _-E;62#A9[4--/9$_ )1N39^[D*^Q'(O8!9Y&A%0"DMFC1\7.WYH1FV)3,"*1P5B$8+B\('2F!U48X M)BIB64TH+*H$1A*::SE$Z+!*/HX0L M@AF>!/,\SQG'#% 2+:/*$3F[78Q+;WQ F[BKD='Z/DPT)H@!TB7I&R$, MHF8YU^'K&/8Z LA3-XB73M(H?I<&! '8 _H(A0DL9=F9+.Q/J" $"3-M'^V' MTU'@DSY"_DWQ\CEZ3CKTX[[TGXD7IZS*?'JGLC4R;R;%%)EA]HPIIA]:L]FX M\G0E\;\\V..<)E-"HSJ*.SS(5?-[\0%LD30 MGH>C9!N4018R1V-^(Q'BZ 4!@J.87 7^7T!P5RE8>5?HTLH_B$2<(-)3=B!P M;2V,3>!ZH_?DXDO01<:[BO<11XEZ0V$;$6LIYR.=G23#-X9;]07(+:6>'MA. M4_F'Q*:(CW<)\_-Y 75U3,;1(DO 99T&#'V884/A*^AR&>Y.^L[>,X0I#29! M($T1BG%\#SX +0 V,D1$**:2^ @\^94Y:JG/!4&UW"E,$_5LX&JS-@?HJ1HC MK\+:V/.<$']O/[6G+/0GR(JD[_>8]XNQ)&XRO!/.-YS[/BF^7Y.N\#]&Z9OY M^YY2#J-Y"_L%XX:^UY;NZ1[C2<\<;1Q8&O47Q(_NHOZ"#2K\@=_#G>@-T760 M#3OG;9IC1=QQ_E ('"*I&I-Q3/IM9,A?+%RGO1RNLX*#PYPZ. 3&I\#X%!B? M N/SV'/=!N-3.&>;Y*%4S8M=^G;.V2?R@@KH;X1V40U?5OIHW1(?K5OTT;+! MZ-W!A]^N*P\;N^2-J]%S&VKQQ'17$M#ZZ9;D57;:U82"SU,036H,W#S=2L_1 M&$[P(6HSU51SE P0?\^$1D?[!\Q&[HOQ_@@-$>JNH,_PCC+85H?T?.SU(XV\O\ ._-"Z?;S[M?51 MEJ+XQ>-F1[[!43@#&RTIC6#[N-*#5U(9D0'%SO@N8[MBQ#ZQV^0>LRW;=FYJJT,=524U%H7,C>GQ,*S:J3CB:TBN03$'4/02>Z-<)R%9 NJA+9\X3BUW$$G6?6E,9P]/?Y(^3_R@3]_Q3'K#$!CFY5WZ'V\T_B0]]7STL24PX<_/3QM, M^-6/HQ"G!0;YD'@!2):$CP%+" CVR A)#"^8-!ZW ME^XDWL(IRA]DAPS(MY_K(Y:_G.$=< O0%"X$8"X3)UNI-^ZJ0/2)0?IJ3ELW M]P#I:[9=USX52%\QV7U-U@*ZW&Q"NX(EN]LC_([\?C\@1RI3?J8QO%]9Z.X+ MAN[JP#O>83>."QV-<"5@!VR"\E\7$=5-;Q?XRO,"D"D'@+A_ M^+H3O(5 \&@P@D>QX&5-$=!O3$Y]C:,1!M5QS'_[Z?!VDL "27R?)9W=) F! M__6?O9]5TXU='6$X-%G5K0;A< CP&\$Z:UAG3='H(5C':'5<1[8;A6 C.$=P MSAK.68.R<-<7[A^ -!%>Q2]$(C@=[6Q/8M""U'*FM 0<[!*DY M0&J.;-I%;#=!:N=$:FLPW@Y!:@B38QFRJA9K2 6MG1.MK8%(V#^M.0H"B3J* MK%L".?ZPE/+MR^-6VN6F1N6I\\8:$(Y#\(;:ZMBN[*IGZ"@7I)8CM35PDX<@ M-:W5,2S9-HI8#(+4SHG4CA[_ M6:F>IIG1LZH%7T]3 *4Y@ OL"%!OM>4E/7H) 5E1B751F;UKS&D&J/X]2I), M8UA$5/],))TD7WZ"5@%2V0^]^/T^)2/LEXROC:,@H+@U*<'V5)75"I>V M%765)CG11>Z\X+#="K8:Q&$J9D'9LN4*#A,<=D(7[?TRJQ MVR;S; ,[<[=H:+@T$%$;9<@ MHK27T.=Z%M HAAM%\83QO%$$4_POI54I&DA^F'KABP\[GN __UZCY7V3>]7C MX'[Z(@0239/*Y$YS5633+:K(DA?VJ\U\S?U?\\P-N,)5V=6*G>1P)"D=$OC_ MF!"ZCA#.3AK!;(>)1,(^Z4M/9 Q2HTMBQM:Z(DN:HNFR!%)C3'I(@\&[7'T3 MUIA'-6^"V>HXLF(4 =*K3WR-C*YYXAB,,TK[ $K]20PB;^T!/O;2:'I\*CT] M;?[TV@L9!O"B'KM;Z"I6B4$F8GUX49A>ZU;]#-[U+?3[R7 MEYB\>"F\P$^3A2XKT@ N3WJHN)6)].:G0ZG' 8<3J?LNO9#H)?;&0[\G!5&/ M;H(\?>(J?1^SO-T8* %O$REA*>A)6[K+S:T_FY'/ M!"0]2Y#9([BMS)>04/(".E$8,XW8+/@OVE)^:[HP M.(R0P(M\_&4"MRP9^[@+P^B-OA[>/(F)C*)Z$J:RE.)L7NAZ)V$/;A@/9O1. M9Y;F]I3NAY<,I4$0O<$_8]BBP0 H#*8$.TI@KZ(1[.< ]BN*82G? MI/PS?!_ MGPZO7;=MJQKJO3P&Q5_,OE7;5"5>4 K9=YK25AQUZ==*>_EWJX9UVJJVW:BK MOS.UY>\4$(!."3 BRD]BXHB"[!-2ZWT,?O85/*?IM MJV9.7VPXO?+ZSR=:KKK';[ZK(QJ:HLFJOG.*3-63;'A_!<&1E\B1QV_WJ;NM MCF')[NXY:X(A!4.>/$.N0>HZ $,:2JMCF[(M;DC!D((AW35H8X=@2+75T31# M=LRZ\%(%1PJ.;-+"JW"DIJR!3#L$1VJ(%FO+BEW,\Q,<*3CRTCAR38;T(3@2 M$[YU6W;UNIK/"HX4'-FDA5?CR#6-L [!D0BPZ%BR:@NM57"DX,@U?< .P9%F MJV,AI(AS,EKK)72^_1K%\,]0=+]=P3QK.H#MS#P#_R?I7_V7Q%$9WU@MX ]' M4[5/#6J,5U-AO""S')FMJ5$]A(RV6?/DW?N/"U)K-*D=/Q7"<%H=1/.O"T5( M4%HS*>WX(7X#H>P,V="$4#MO4MMW\'JEFF8J0DV[##([?DC65&GW=M6IJ[&3 M(+5&DIIZ_%BCJ2$6BF/OW)A24%JC*>WX,313I^B!RNYI)C626DV5%*<%CSX/ M@"-J*T1\8;W\.'[$SS1$;87@2,&1&4<>/^)GFJV.:JPD#BG>*=XIV+ PD(^1E" M.F^6)/$^20(_?N/=$>#Q G-98"X??>,$YK( CQ>"K#D;)P29$&3'%F0"/%ZX M^82;KY"]=?QT$4MK=5Q'MDT1FQ8,*1CR^! &EM[JF(JLZ#L7E@N&% QY\@QY M?*0'RVAU#%/6%!&9%@PI&/+X^926B;DBNNRZ H53<*3@R.-#AUA6JZ,KJJP+ M*U)PI.!([?@(*Q9B+IJV;%H[0^$)CA0<>?(8,A] MWI1V_$0(6P/]7#9U@4EZWI1V_ B_K=-^&(J OSUS4MMW['JUEF8(+>TRR.SX M$5G;Q&[>LJ/L'/X1I-9H4CM^J-&V@-1DT]XY&4=06I,I33]^",U&(#U3UNTF M=?@1T/';5E:P=915I(OX0VT;=$X2Z/@A0]O93VU=]&B%%P?."YROQ_/&# MDC8&)1U0<&LN_Q \+WA>\'P9SQ^_I86CM#J&)=MU8ZT)GA<\+WB^R//'#P$Y MV&M3,61E=S^68'G!\H+EUU_SQ\]E<;0]5,+U@^@,P?0/4>^P:JYKUHZ<+IA=,+YB^R/3'1XEQL"VM:\ENW06W1V1Y MFFSP2^K!2SMT4;CI?CCQZ*K^]4O??RW['#[.%C?RXA<_I%,TJ1A@6]"-?^E, MMX..DOL-)P(#+CH-^GPXQ";W(O_G<-K/8NR]D*MN3+R_KKP!3/;:"]Z\]Z3UR_R&PV[S MP5U\^^+:EZYP,-C;"AG5 >M$,:60:Z!U$N-3,">O,7.1AC$*D[_YW9[F*HZI M*P---?JF[KE=P^L[GFGHENKVO/^U6YUG9 HI&D@H3X!XDG_]XBTGZ:90VL,? MIO0MB+I>($L@]-J2%_:EITDW\?N^%_NYW)K&KN#Q^?YR)WV]?[AYN+V_^2X]/<,'OWYYR$$>-W4I'WY_N/G][A[F_['Y<_5#*1U& M$QBCG\@2^=DC>.,,O9A(?2_U/I9)L(6+@=^4MN->:=/;_6$"]Z_?*_8_FK_ MGWI#TI\$Y'' K_+/[[]Z?T9Q=H,GG]]_(^,([K+PY8F\C) C*8L^PZ"?@ZCW MU^RB!O. P/4]QNV-)Z3D3O!!)H3IM6Y-KZQ#[_>W?,:;U'V7>GRATAN!+?<2 MT$Z"('I+KJ6EM%.X>^E%/KLOJ?( "PJ\<4*NL[]\ZOO)./#>K_V03HO^Z!,? MBU^R>#,O* YTW]C7_,YQW;:M:GCM\'1%_F)^([7IC;2@"['O-*6M..K2KY7V M\N]6#>NT56V[45=_9VK+WRGF*N8JYBKFNL-<=6VC444'K5F/J"=03L@(NT3I M"FT3I8LF6E4V2/31$NUG1/N9HV^<:#\C^F@)0=:]4W_9^(E_M68?9"07AK%HK'6OM9_/N%@36] 0-AN=1Q5UG3K5, E#YOA M(1CRHACR^" U#@(PZ[*CBQX%@B$%0QX?RL=Q6QW+E16GYB1)P9#-HDO!D)LP MI'%\Q"-7@1O2,F35%!PI.%)PY/$1@%RL$]8<61.M[@1'"HXTCH_/XVJMCF'+ M=MWX/((AFT67@B$W8LCC@^>X6&!K6;+AGDP7'\&1@B/WQI''Q[EPL6&ZH_V_OVY_:5K*$_Q65-W>7; E'#]NRDEFJ""%W^"87,D!F M=G[:DN4VUD26/'I F+_^.^=TZV7+Q@:#9.BMVKG$EEO=?=[OA*T(HQ9ICK+Y M=*_YMA$V=M375%N3@X]>-ZHUWZS '@"[-M6>]F3]2:):JU&M^9P(VZ+)1SL( MP4I4:S6J-1_MMX>=(ZNOZJ8<%/*Z4:WY.+;-6W9;UI,SO22JM1G5^HU':,$< MP,92 ]64$O25XUKCL4=;P]CC4.T_O7&A1+56HUKC035;,]#;8:H#JTVX)F=M M/7;6E@PYO*60@]X"!D(CE0TP]V2UA:1(29&-A^5MK0=&L:4:3_>_2(*4!+GW M!-EX5-[6^ITCRU9M74I(29!OG2 ;#_#;&LXQ-VW5&%J2'B4]OG%ZU+7&(X:V MAO/>AY:J/=T))2E24N2^4Z3>@@C$4-0CZJ:D2$F1;YXB6V!$VD"1=E_5^M*M M(RGRS5-DX_2H:YVC06^P^T%CSUYJD6TDNWPQHF"'?3IK)B9ML9!\IWRG?.?B M0K++?-%$_<)-0FRAKE,'=4.VF-_X=F1_>=F66;9E;OSB9%MFV5]>,K+V7)QD M9)*1-C(V)@E2$F3SL3'=Z!SI?76H M[XTK7A*D),AG(\CF4RQULW-D6JJ]/[$Q29"2()^-(!OO-&7K/9S 8JBF+7.> M)45*BFR\(9>M8YM!E)%/;_XF*5)2Y-Y39/-5"#IV8QRHEK8WO7,E04J"?#:" M;+R[FZU;G2/;4/M/[^XF"5(2Y+X3Y*#Y'GCZ$-TZEJH/]Z8&0;:7+U(<9<.U M00OJ!FQJ+Z_KLN?WZT:UYEMS&1H8-(9J#9[L\Y.HUFI4:SXEPM [1T-U*&=F MO'),:S[6;QB=(TM7!]:3O302U5J-:LU'L0VS$M5:C6K-QV<- MBL^:ZJ O)QF\;EQK/O)H8.314 <#B6JO&]6:#ZD9V&I/MU7+:M,L(-E=_K'= MY?DYZFK694AB9Q?TBEB0V;R_U< @XE"U^CMN+;@#2.]'E%'2O*3YK6B^!8[O M(8V%ZUNVI'E)\Y+FGY_F6Q"!L'GVWJY+3B3-2YJ7-+],\\W[3$T-,REZJO9T MYX(D>4GRDN0?%O/-AW]-O7-D:KIJ2GM>$KTD^I<@^N8#\2;V=QAJJOGT@94<[3^'://?H3_!A=I"9$]UX 6V'CV7@QQU%'X[RH],: ME266AV-407?E3MDX]=G%Y#1(O.3^[]Z8G04<-G"W)_DI8%#A^!M7X\_WW M*!RG;A(?!^,K%MUZ+HNOX5V?_=#]64 .E$0&\)S#6Y,H99W*J>C&O&#,@N2C M..X[]Q^]@#9'/_HDUA(HBLDD"_A$M\>__G3GC9/I M1]ON6KJ!Y"VR6,2+^;=ZERA_@43X=X;6U8;ZRJ^U[NKOUBT[[.K&XU9=_UW? M6/U.N5>Y5[E7N=Q-1HOH@IIZ]LRY.,C+)R)IF9&]A ,M)&">'$?-FHS2*R6>5N< > M6Q+TUF,(;RI$8 R:[PIH#JB@9]"7?7,E0;YY@K2:[PIH6IVCGK:+>G))D)(@ M]YX@FR]Y-8>=(\M2#2DA)4%*@K2:KT