0000006845-26-000010.txt : 20260107 0000006845-26-000010.hdr.sgml : 20260107 20260107130815 ACCESSION NUMBER: 0000006845-26-000010 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 84 CONFORMED PERIOD OF REPORT: 20251129 FILED AS OF DATE: 20260107 DATE AS OF CHANGE: 20260107 FILER: COMPANY DATA: COMPANY CONFORMED NAME: APOGEE ENTERPRISES, INC. CENTRAL INDEX KEY: 0000006845 STANDARD INDUSTRIAL CLASSIFICATION: GLASS PRODUCTS, MADE OF PURCHASED GLASS [3231] ORGANIZATION NAME: 04 Manufacturing EIN: 410919654 STATE OF INCORPORATION: MN FISCAL YEAR END: 0301 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-06365 FILM NUMBER: 26514951 BUSINESS ADDRESS: STREET 1: 4400 WEST 78TH STREET STREET 2: SUITE 520 CITY: MINNEAPOLIS STATE: MN ZIP: 55435 BUSINESS PHONE: 6128351874 MAIL ADDRESS: STREET 1: 4400 WEST 78TH STREET STREET 2: SUITE 520 CITY: MINNEAPOLIS STATE: MN ZIP: 55435 FORMER COMPANY: FORMER CONFORMED NAME: APOGEE ENTERPRISES INC DATE OF NAME CHANGE: 19920703 FORMER COMPANY: FORMER CONFORMED NAME: HARMON GLASS CO INC DATE OF NAME CHANGE: 19720623 10-Q 1 apog-20251129.htm 10-Q apog-20251129
0000006845false2026Q3February 28P2YP3Y12xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesapog:drawdownapog:lineOfCreditxbrli:pureapog:acquisitionHolidayapog:quarterapog:transactionapog:segment00000068452025-03-022025-11-2900000068452026-01-0500000068452025-11-2900000068452025-03-0100000068452025-08-312025-11-2900000068452024-09-012024-11-3000000068452024-03-032024-11-3000000068452024-03-0200000068452024-11-300000006845us-gaap:CommonStockMember2025-03-010000006845us-gaap:AdditionalPaidInCapitalMember2025-03-010000006845us-gaap:RetainedEarningsMember2025-03-010000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-03-010000006845us-gaap:RetainedEarningsMember2025-03-022025-05-3100000068452025-03-022025-05-310000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-03-022025-05-310000006845us-gaap:CommonStockMember2025-03-022025-05-310000006845us-gaap:AdditionalPaidInCapitalMember2025-03-022025-05-310000006845us-gaap:CommonStockMember2025-05-310000006845us-gaap:AdditionalPaidInCapitalMember2025-05-310000006845us-gaap:RetainedEarningsMember2025-05-310000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-05-3100000068452025-05-310000006845us-gaap:RetainedEarningsMember2025-06-012025-08-3000000068452025-06-012025-08-300000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-06-012025-08-300000006845us-gaap:CommonStockMember2025-06-012025-08-300000006845us-gaap:AdditionalPaidInCapitalMember2025-06-012025-08-300000006845us-gaap:CommonStockMember2025-08-300000006845us-gaap:AdditionalPaidInCapitalMember2025-08-300000006845us-gaap:RetainedEarningsMember2025-08-300000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-08-3000000068452025-08-300000006845us-gaap:RetainedEarningsMember2025-08-312025-11-290000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-08-312025-11-290000006845us-gaap:CommonStockMember2025-08-312025-11-290000006845us-gaap:AdditionalPaidInCapitalMember2025-08-312025-11-290000006845us-gaap:CommonStockMember2025-11-290000006845us-gaap:AdditionalPaidInCapitalMember2025-11-290000006845us-gaap:RetainedEarningsMember2025-11-290000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2025-11-290000006845us-gaap:CommonStockMember2024-03-020000006845us-gaap:AdditionalPaidInCapitalMember2024-03-020000006845us-gaap:RetainedEarningsMember2024-03-020000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-020000006845us-gaap:RetainedEarningsMember2024-03-032024-06-0100000068452024-03-032024-06-010000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-032024-06-010000006845us-gaap:CommonStockMember2024-03-032024-06-010000006845us-gaap:AdditionalPaidInCapitalMember2024-03-032024-06-010000006845us-gaap:CommonStockMember2024-06-010000006845us-gaap:AdditionalPaidInCapitalMember2024-06-010000006845us-gaap:RetainedEarningsMember2024-06-010000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-0100000068452024-06-010000006845us-gaap:RetainedEarningsMember2024-06-022024-08-3100000068452024-06-022024-08-310000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-022024-08-310000006845us-gaap:CommonStockMember2024-06-022024-08-310000006845us-gaap:AdditionalPaidInCapitalMember2024-06-022024-08-310000006845us-gaap:CommonStockMember2024-08-310000006845us-gaap:AdditionalPaidInCapitalMember2024-08-310000006845us-gaap:RetainedEarningsMember2024-08-310000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-08-3100000068452024-08-310000006845us-gaap:RetainedEarningsMember2024-09-012024-11-300000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-09-012024-11-300000006845us-gaap:CommonStockMember2024-09-012024-11-300000006845us-gaap:AdditionalPaidInCapitalMember2024-09-012024-11-300000006845us-gaap:CommonStockMember2024-11-300000006845us-gaap:AdditionalPaidInCapitalMember2024-11-300000006845us-gaap:RetainedEarningsMember2024-11-300000006845us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-11-300000006845us-gaap:TransferredAtPointInTimeMember2025-08-312025-11-290000006845us-gaap:TransferredAtPointInTimeMember2024-09-012024-11-300000006845us-gaap:TransferredAtPointInTimeMember2025-03-022025-11-290000006845us-gaap:TransferredAtPointInTimeMember2024-03-032024-11-300000006845apog:TransferredOverTimeInputMethodMember2025-08-312025-11-290000006845apog:TransferredOverTimeInputMethodMember2024-09-012024-11-300000006845apog:TransferredOverTimeInputMethodMember2025-03-022025-11-290000006845apog:TransferredOverTimeInputMethodMember2024-03-032024-11-300000006845apog:TransferredOverTimeOutputMethodMember2025-08-312025-11-290000006845apog:TransferredOverTimeOutputMethodMember2024-09-012024-11-300000006845apog:TransferredOverTimeOutputMethodMember2025-03-022025-11-290000006845apog:TransferredOverTimeOutputMethodMember2024-03-032024-11-300000006845us-gaap:TradeAccountsReceivableMember2025-11-290000006845us-gaap:TradeAccountsReceivableMember2025-03-010000006845apog:AccountsReceivableConstructionContractsMember2025-11-290000006845apog:AccountsReceivableConstructionContractsMember2025-03-0100000068452025-09-012025-11-2900000068452026-08-302025-11-2900000068452027-08-292025-11-290000006845srt:RestatementAdjustmentMember2025-08-312025-11-290000006845srt:RestatementAdjustmentMember2024-09-012024-11-300000006845srt:RestatementAdjustmentMember2025-03-022025-11-290000006845srt:RestatementAdjustmentMember2024-03-032024-11-300000006845apog:MunicipalandCorporateBondsMember2025-11-290000006845apog:MunicipalandCorporateBondsMember2025-03-010000006845us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2025-08-300000006845us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2025-03-010000006845us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2020-02-290000006845us-gaap:FairValueInputsLevel1Member2025-11-290000006845us-gaap:FairValueInputsLevel2Member2025-11-290000006845us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2025-11-290000006845us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2025-11-290000006845us-gaap:InterestRateSwapMember2025-11-290000006845us-gaap:FairValueInputsLevel1Member2025-03-010000006845us-gaap:FairValueInputsLevel2Member2025-03-010000006845us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel1Member2025-03-010000006845us-gaap:ForeignExchangeForwardMemberus-gaap:FairValueInputsLevel2Member2025-03-010000006845us-gaap:ForeignExchangeForwardMember2025-03-010000006845us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2025-03-010000006845us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2025-03-010000006845us-gaap:InterestRateSwapMember2025-03-010000006845apog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-190000006845us-gaap:RevolvingCreditFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-190000006845us-gaap:RevolvingCreditFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-192024-07-190000006845apog:TermLoanFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-190000006845apog:RevolvingCreditFacilityCADMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-190000006845apog:TermLoanFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-192024-07-190000006845apog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-07-192024-07-190000006845us-gaap:RevolvingCreditFacilityMemberapog:WellsFargoBankN.A.Memberus-gaap:LineOfCreditMember2024-07-190000006845us-gaap:RevolvingCreditFacilityMemberapog:BankOfMontrealMemberus-gaap:LineOfCreditMember2024-07-190000006845apog:LenderFeesMember2024-06-022024-08-310000006845apog:ThirdPartyFeesMember2024-06-022024-08-310000006845us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2025-11-290000006845us-gaap:LineOfCreditMember2025-11-290000006845us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMemberapog:AcquisitionHolidayConditionMember2025-11-290000006845us-gaap:BaseRateMembersrt:MinimumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845us-gaap:BaseRateMembersrt:MaximumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845apog:TermSOFRAndCORRAMembersrt:MinimumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845apog:TermSOFRAndCORRAMembersrt:MaximumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845apog:IncrementalTermSOFRAndCORRAAdjustmentMembersrt:MinimumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845apog:IncrementalTermSOFRAndCORRAAdjustmentMembersrt:MaximumMemberus-gaap:LineOfCreditMember2025-03-022025-11-290000006845apog:TermLoanFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2024-11-042024-11-040000006845apog:TermLoanFacilityMemberapog:UnsecuredSeniorCreditFacilityMemberus-gaap:LineOfCreditMember2025-11-2900000068452022-12-012022-12-3100000068452025-04-072025-04-0700000068452024-12-012025-03-010000006845apog:ShareRepurchaseProgramMember2025-03-022025-11-290000006845apog:ShareRepurchaseProgramMember2024-03-032024-11-300000006845apog:ShareRepurchaseProgramMember2003-03-022025-11-290000006845apog:ShareRepurchaseProgramMember2025-11-290000006845us-gaap:RestrictedStockMember2025-03-022025-11-290000006845us-gaap:PerformanceSharesMember2025-03-022025-11-290000006845srt:MinimumMemberus-gaap:RestrictedStockMember2025-03-022025-11-290000006845srt:MaximumMemberus-gaap:RestrictedStockMember2025-03-022025-11-290000006845srt:MinimumMemberus-gaap:PerformanceSharesMember2025-11-290000006845srt:MaximumMemberus-gaap:PerformanceSharesMember2025-11-290000006845us-gaap:RestrictedStockMember2025-08-312025-11-290000006845apog:ArchitecturalMetalsSegmentMember2025-08-312025-11-290000006845apog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845apog:ArchitecturalGlassSegmentMember2025-08-312025-11-290000006845apog:PerformanceSurfacesMember2025-08-312025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalMetalsSegmentMember2025-08-312025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalGlassSegmentMember2025-08-312025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:PerformanceSurfacesMember2025-08-312025-11-290000006845us-gaap:IntersegmentEliminationMember2025-08-312025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalMetalsSegmentMember2025-08-312025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalGlassSegmentMember2025-08-312025-11-290000006845us-gaap:OperatingSegmentsMemberapog:PerformanceSurfacesMember2025-08-312025-11-290000006845us-gaap:OperatingSegmentsMember2025-08-312025-11-290000006845apog:ArchitecturalMetalsSegmentMember2024-09-012024-11-300000006845apog:ArchitecturalServicesSegmentMember2024-09-012024-11-300000006845apog:ArchitecturalGlassSegmentMember2024-09-012024-11-300000006845apog:PerformanceSurfacesMember2024-09-012024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalMetalsSegmentMember2024-09-012024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalServicesSegmentMember2024-09-012024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalGlassSegmentMember2024-09-012024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:PerformanceSurfacesMember2024-09-012024-11-300000006845us-gaap:IntersegmentEliminationMember2024-09-012024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalMetalsSegmentMember2024-09-012024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalServicesSegmentMember2024-09-012024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalGlassSegmentMember2024-09-012024-11-300000006845us-gaap:OperatingSegmentsMemberapog:PerformanceSurfacesMember2024-09-012024-11-300000006845us-gaap:OperatingSegmentsMember2024-09-012024-11-300000006845apog:ArchitecturalMetalsSegmentMember2025-03-022025-11-290000006845apog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845apog:ArchitecturalGlassSegmentMember2025-03-022025-11-290000006845apog:PerformanceSurfacesMember2025-03-022025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalMetalsSegmentMember2025-03-022025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalGlassSegmentMember2025-03-022025-11-290000006845us-gaap:IntersegmentEliminationMemberapog:PerformanceSurfacesMember2025-03-022025-11-290000006845us-gaap:IntersegmentEliminationMember2025-03-022025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalMetalsSegmentMember2025-03-022025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalGlassSegmentMember2025-03-022025-11-290000006845us-gaap:OperatingSegmentsMemberapog:PerformanceSurfacesMember2025-03-022025-11-290000006845us-gaap:OperatingSegmentsMember2025-03-022025-11-290000006845apog:ArchitecturalMetalsSegmentMember2024-03-032024-11-300000006845apog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845apog:ArchitecturalGlassSegmentMember2024-03-032024-11-300000006845apog:PerformanceSurfacesMember2024-03-032024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalMetalsSegmentMember2024-03-032024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:ArchitecturalGlassSegmentMember2024-03-032024-11-300000006845us-gaap:IntersegmentEliminationMemberapog:PerformanceSurfacesMember2024-03-032024-11-300000006845us-gaap:IntersegmentEliminationMember2024-03-032024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalMetalsSegmentMember2024-03-032024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845us-gaap:OperatingSegmentsMemberapog:ArchitecturalGlassSegmentMember2024-03-032024-11-300000006845us-gaap:OperatingSegmentsMemberapog:PerformanceSurfacesMember2024-03-032024-11-300000006845us-gaap:OperatingSegmentsMember2024-03-032024-11-300000006845us-gaap:CostOfSalesMember2025-08-312025-11-290000006845us-gaap:CostOfSalesMemberapog:ProjectFortifyMember2025-08-312025-11-290000006845us-gaap:CostOfSalesMember2025-03-022025-11-290000006845us-gaap:CostOfSalesMemberapog:ProjectFortifyMember2025-03-022025-11-290000006845us-gaap:CostOfSalesMemberapog:ProjectFortifyMember2024-09-012024-11-300000006845us-gaap:CostOfSalesMemberapog:ProjectFortifyMember2024-03-032024-11-300000006845us-gaap:CostOfSalesMember2024-03-032024-11-300000006845us-gaap:CostOfSalesMember2024-09-012024-11-300000006845us-gaap:SellingGeneralAndAdministrativeExpensesMember2025-08-312025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberapog:ProjectFortifyMember2025-08-312025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMember2025-03-022025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberapog:ProjectFortifyMember2025-03-022025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-09-012024-11-300000006845us-gaap:SellingGeneralAndAdministrativeExpensesMember2024-03-032024-11-300000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberapog:ProjectFortifyMember2024-09-012024-11-300000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberapog:ProjectFortifyMember2024-03-032024-11-300000006845apog:ReportableSegmentMember2025-08-312025-11-290000006845apog:ReportableSegmentMember2024-09-012024-11-300000006845apog:ReportableSegmentMember2025-03-022025-11-290000006845apog:ReportableSegmentMember2024-03-032024-11-300000006845apog:UWIntercoLLCMember2024-11-042024-11-040000006845apog:UWIntercoLLCMember2024-03-032025-03-010000006845apog:UWIntercoLLCMember2025-08-312025-11-290000006845apog:UWIntercoLLCMember2025-03-022025-11-290000006845apog:UWIntercoLLCMember2024-11-040000006845apog:UWIntercoLLCMember2024-09-012024-11-300000006845apog:UWIntercoLLCMember2024-03-032024-11-300000006845srt:MaximumMemberapog:ProjectFortifyMember2025-03-010000006845srt:MinimumMemberapog:ProjectFortifyMember2025-03-010000006845srt:MinimumMemberapog:ProjectFortifyMember2025-04-230000006845srt:MaximumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:EmployeeSeveranceMembersrt:MinimumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:EmployeeSeveranceMembersrt:MaximumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:ContractTerminationMembersrt:MinimumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:ContractTerminationMembersrt:MaximumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:OtherRestructuringMembersrt:MinimumMemberapog:ProjectFortifyMember2025-04-230000006845us-gaap:OtherRestructuringMembersrt:MaximumMemberapog:ProjectFortifyMember2025-04-230000006845srt:MinimumMembersrt:ScenarioForecastMemberapog:ProjectFortifyMember2026-02-280000006845srt:MaximumMembersrt:ScenarioForecastMemberapog:ProjectFortifyMember2026-02-280000006845apog:ProjectFortifyMember2025-08-312025-11-290000006845apog:ProjectFortifyMember2025-03-022025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:SellingGeneralAndAdministrativeExpensesMemberus-gaap:CorporateAndOtherMember2025-03-022025-11-290000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalFramingSegmentMember2025-08-312025-11-290000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845us-gaap:EmployeeSeveranceMemberus-gaap:CorporateAndOtherMember2025-08-312025-11-290000006845us-gaap:EmployeeSeveranceMember2025-08-312025-11-290000006845us-gaap:ContractTerminationMemberapog:ArchitecturalFramingSegmentMember2025-08-312025-11-290000006845us-gaap:ContractTerminationMemberapog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845us-gaap:ContractTerminationMemberus-gaap:CorporateAndOtherMember2025-08-312025-11-290000006845us-gaap:ContractTerminationMember2025-08-312025-11-290000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalFramingSegmentMember2025-08-312025-11-290000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalServicesSegmentMember2025-08-312025-11-290000006845us-gaap:OtherRestructuringMemberus-gaap:CorporateAndOtherMember2025-08-312025-11-290000006845us-gaap:OtherRestructuringMember2025-08-312025-11-290000006845apog:ArchitecturalFramingSegmentMember2025-08-312025-11-290000006845us-gaap:CorporateAndOtherMember2025-08-312025-11-290000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalFramingSegmentMember2024-09-012024-11-300000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalServicesSegmentMember2024-09-012024-11-300000006845us-gaap:EmployeeSeveranceMemberus-gaap:CorporateAndOtherMember2024-09-012024-11-300000006845us-gaap:EmployeeSeveranceMember2024-09-012024-11-300000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalFramingSegmentMember2024-09-012024-11-300000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalServicesSegmentMember2024-09-012024-11-300000006845us-gaap:OtherRestructuringMemberus-gaap:CorporateAndOtherMember2024-09-012024-11-300000006845us-gaap:OtherRestructuringMember2024-09-012024-11-300000006845apog:ArchitecturalFramingSegmentMember2024-09-012024-11-300000006845us-gaap:CorporateAndOtherMember2024-09-012024-11-300000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalFramingSegmentMember2025-03-022025-11-290000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:EmployeeSeveranceMemberus-gaap:CorporateAndOtherMember2025-03-022025-11-290000006845us-gaap:EmployeeSeveranceMember2025-03-022025-11-290000006845us-gaap:ContractTerminationMemberapog:ArchitecturalFramingSegmentMember2025-03-022025-11-290000006845us-gaap:ContractTerminationMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:ContractTerminationMemberus-gaap:CorporateAndOtherMember2025-03-022025-11-290000006845us-gaap:ContractTerminationMember2025-03-022025-11-290000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalFramingSegmentMember2025-03-022025-11-290000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalServicesSegmentMember2025-03-022025-11-290000006845us-gaap:OtherRestructuringMemberus-gaap:CorporateAndOtherMember2025-03-022025-11-290000006845us-gaap:OtherRestructuringMember2025-03-022025-11-290000006845apog:ArchitecturalFramingSegmentMember2025-03-022025-11-290000006845us-gaap:CorporateAndOtherMember2025-03-022025-11-290000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalFramingSegmentMember2024-03-032024-11-300000006845us-gaap:EmployeeSeveranceMemberapog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845us-gaap:EmployeeSeveranceMemberus-gaap:CorporateAndOtherMember2024-03-032024-11-300000006845us-gaap:EmployeeSeveranceMember2024-03-032024-11-300000006845us-gaap:ContractTerminationMemberapog:ArchitecturalFramingSegmentMember2024-03-032024-11-300000006845us-gaap:ContractTerminationMemberapog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845us-gaap:ContractTerminationMemberus-gaap:CorporateAndOtherMember2024-03-032024-11-300000006845us-gaap:ContractTerminationMember2024-03-032024-11-300000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalFramingSegmentMember2024-03-032024-11-300000006845us-gaap:OtherRestructuringMemberapog:ArchitecturalServicesSegmentMember2024-03-032024-11-300000006845us-gaap:OtherRestructuringMemberus-gaap:CorporateAndOtherMember2024-03-032024-11-300000006845us-gaap:OtherRestructuringMember2024-03-032024-11-300000006845apog:ArchitecturalFramingSegmentMember2024-03-032024-11-300000006845us-gaap:CorporateAndOtherMember2024-03-032024-11-300000006845apog:ArchitecturalFramingSegmentMember2025-03-010000006845apog:ArchitecturalServicesSegmentMember2025-03-010000006845us-gaap:CorporateAndOtherMember2025-03-010000006845apog:ArchitecturalFramingSegmentMember2025-11-290000006845apog:ArchitecturalServicesSegmentMember2025-11-290000006845us-gaap:CorporateAndOtherMember2025-11-29

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 November 29, 2025
TRANSITION REPORT PURSUANT TO SECTION 13 or 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from             to             
Commission File Number: 0-6365
_________________________________ 
APOGEE ENTERPRISES, INC.
(Exact name of registrant as specified in its charter)
 _________________________________
Minnesota41-0919654
(State or other jurisdiction of incorporation or organization)(I.R.S. Employer Identification No.)
4400 West 78th Street, Suite 520MinneapolisMinnesota55435
(Address of principal executive offices)(Zip Code)
Registrant’s telephone number, including area code: (952835-1874
Not Applicable
(Former name, former address and former fiscal year, if changed since last report)
_________________________________ 
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common stock, par value $0.33 1/3 per shareAPOG
The 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.    x  Yes    o  No
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).     x  Yes    o  No
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filer
x
  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    x  No
As of January 5, 2026, 21,510,116 shares of the registrant’s common stock, par value $0.33 1/3 per share, were outstanding.



APOGEE ENTERPRISES, INC. AND SUBSIDIARIES
 
2

PART I. FINANCIAL INFORMATION
Item 1.Financial Statements

CONSOLIDATED BALANCE SHEETS
(Unaudited)
(In thousands, except stock data)November 29, 2025March 1, 2025
Assets
Current assets
Cash and cash equivalents$41,315 $41,448 
Receivables, net
176,588 185,590 
Inventories, net102,495 92,305 
Contract assets66,645 71,842 
Other current assets48,954 50,919 
Total current assets435,997 442,104 
Property, plant and equipment, net of accumulated depreciation of $476,911 and $469,480
253,092 268,139 
Operating lease right-of-use assets50,903 62,314 
Goodwill236,386 235,775 
Intangible assets, net113,673 128,417 
Other non-current assets25,977 38,520 
Total assets$1,116,028 $1,175,269 
Liabilities and Shareholders’ Equity
Current liabilities
Accounts payable$92,844 $98,804 
Accrued compensation and benefits33,906 48,510 
Contract liabilities43,086 35,193 
Operating lease liabilities14,504 15,290 
Other current liabilities45,405 87,659 
Total current liabilities229,745 285,456 
Long-term debt255,000 285,000 
Non-current operating lease liabilities41,981 51,632 
Non-current self-insurance reserves32,180 30,382 
Other non-current liabilities44,831 34,901 
Commitments and contingent liabilities (Note 6)
Shareholders’ equity
Junior preferred stock of $1.00 par value; authorized 200,000 shares; zero issued and outstanding
  
Common stock of $0.33-1/3 par value; authorized 50,000,000 shares; issued and outstanding 21,494,322 and 21,417,631, respectively
7,164 7,139 
Additional paid-in capital161,031 156,075 
Retained earnings377,306 359,976 
Accumulated other comprehensive loss(33,210)(35,292)
Total shareholders’ equity512,291 487,898 
Total liabilities and shareholders’ equity$1,116,028 $1,175,269 
See accompanying notes to consolidated financial statements.

3

CONSOLIDATED RESULTS OF OPERATIONS
(Unaudited)
Three Months EndedNine Months Ended
(In thousands, except per share data)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net sales$348,563 $341,344 $1,053,379 $1,015,300 
Cost of sales265,571 252,195 812,654 729,975 
Gross profit82,992 89,149 240,725 285,325 
Selling, general and administrative expenses58,113 60,520 182,026 173,350 
Operating income24,879 28,629 58,699 111,975 
Interest expense, net3,227 1,044 11,148 2,634 
Other income, net(2,458)(60)(6,916)(493)
Earnings before income taxes24,110 27,645 54,467 109,834 
Income tax expense7,561 6,656 16,956 27,268 
Net earnings$16,549 $20,989 $37,511 $82,566 
Basic earnings per share$0.78 $0.96 $1.76 $3.79 
Diluted earnings per share$0.77 $0.96 $1.74 $3.76 
Weighted average basic shares outstanding21,302 21,782 21,349 21,789 
Weighted average diluted shares outstanding21,592 21,917 21,568 21,937 
See accompanying notes to consolidated financial statements.

4

CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS
(Unaudited)
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net earnings$16,549 $20,989 $37,511 $82,566 
Other comprehensive earnings (loss):
Unrealized gain (loss) on marketable securities, net of $9, $(13), $17, and $16 of tax expense (benefit), respectively
34 (48)62 60 
Unrealized (loss) gain on derivative instruments, net of $(73), $(21), $(249), and $86 of tax (benefit) expense, respectively
(199)(69)(681)281 
Foreign currency translation adjustments(445)(1,619)2,701 (2,780)
Other comprehensive (loss) earnings(610)(1,736)2,082 (2,439)
Total comprehensive earnings$15,939 $19,253 $39,593 $80,127 

See accompanying notes to consolidated financial statements.

5

CONSOLIDATED STATEMENTS OF CASH FLOWS
(Unaudited)
Nine Months Ended
(In thousands)November 29, 2025November 30, 2024
Operating Activities
Net earnings$37,511 $82,566 
Adjustments to reconcile net earnings to net cash provided by operating activities:
Depreciation and amortization37,456 30,798 
Share-based compensation6,570 8,067 
Deferred income taxes16,762 5,109 
Loss on disposal of property, plant and equipment418 159 
Impairment on intangible assets7,418  
Settlement of New Markets Tax Credit transaction(6,740) 
Non-cash lease expense10,901 9,926 
Other, net4,596 1,800 
Changes in operating assets and liabilities, net of business acquired:
Receivables9,431 (2,191)
Inventories(9,842)(8,284)
Contract assets5,317 (8,168)
Accounts payable(3,873)6,796 
Accrued compensation and benefits(14,782)(20,958)
Contract liabilities7,823 11,499 
Operating lease liability(10,628)(9,387)
Accrued income taxes(3,279)(6,498)
Other current assets and liabilities(28,437)(6,104)
Net cash provided by operating activities66,622 95,130 
Investing Activities
Capital expenditures(18,315)(24,696)
Proceeds from sales of property, plant and equipment1,606 744 
Purchases of marketable securities(550)(2,394)
Sales/maturities of marketable securities1,485 2,370 
Acquisition of business, net of cash acquired  (233,125)
Net cash used in investing activities(15,774)(257,101)
Financing Activities
Proceeds from revolving credit facilities80,000 95,201 
Repayment on revolving credit facilities(110,000)(115,201)
Proceeds from term loans 250,000 
Repayment of term loans (20,000)
Repurchase of common stock (15,061)
Dividends paid(16,567)(16,238)
Payments of debt issuance costs (3,798)
Other, net(5,342)(5,884)
Net cash (used in) provided by financing activities(51,909)169,019 
Effect of exchange rates on cash928 (409)
(Decrease) increase in cash, cash equivalents and restricted cash(133)6,639 
Cash, cash equivalents and restricted cash at beginning of period41,448 37,216 
Cash and cash equivalents at end of period$41,315 $43,855 
Non-cash Activity
Capital expenditures in accounts payable$970 $2,299 
See accompanying notes to consolidated financial statements.

6

CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY
(Unaudited)
(In thousands)Common Shares Outstanding
Common Stock at Par Value
Additional Paid-In CapitalRetained EarningsAccumulated Other Comprehensive (Loss) IncomeTotal Shareholders' Equity
Balance at March 1, 202521,418 $7,139 $156,075 $359,976 $(35,292)$487,898 
Net loss— — — (2,688)— (2,688)
Other comprehensive income, net of tax— — — — 2,608 2,608 
Issuance of stock, net of cancellations182 61 (61)— —  
Share-based compensation— — 2,300 — — 2,300 
Other share retirements(67)(22)(526)(2,267)— (2,815)
Cash dividends, $0.26 per share
— — — (5,520)— (5,520)
Balance at May 31, 202521,533 $7,178 $157,788 $349,501 $(32,684)$481,783 
Net earnings— — — 23,649 — 23,649 
Other comprehensive income, net of tax— — — — 84 84 
Cancellations of stock, net of issuance(16)(5)(184)— — (189)
Share-based compensation— 474 — — 474 
Other share retirements(2)(1)(13)(49)— (63)
Cash dividends, $0.26 per share
— — — (5,523)— (5,523)
Balance at August 30, 202521,515 $7,172 $158,065 $367,578 $(32,600)$500,215 
Net earnings— — — 16,549 — 16,549 
Other comprehensive loss, net of tax— — — — (610)(610)
Issuance of stock, net of cancellations19 2 (473)(205)— (676)
Share-based compensation— — 3,796 — — 3,796 
Other share retirements(42)(10)(357)(1,092)— (1,459)
Cash dividends, $0.26 per share
— — — (5,524)— (5,524)
Balance at November 29, 202521,492 $7,164 $161,031 $377,306 $(33,210)$512,291 


See accompanying notes to consolidated financial statements.

7

CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY
(Unaudited)
(In thousands)Common Shares Outstanding
Common Stock at Par Value
Additional Paid-In CapitalRetained EarningsAccumulated Other Comprehensive (Loss) IncomeTotal Shareholders' Equity
Balance at March 2, 202422,089 $7,363 $152,818 $340,375 $(29,531)$471,025 
Net earnings— — — 31,011 — 31,011 
Other comprehensive income, net of tax— — — — 521 521 
Issuance of stock, net of cancellations170 57 (57)— —  
Share-based compensation— — 2,704 — — 2,704 
Share repurchases(242)(81)(1,860)(13,120)— (15,061)
Other share retirements(80)(27)(603)(4,206)— (4,836)
Declared dividends, $0.25 per share
— — — (5,409)— (5,409)
Balance at June 1, 202421,937 $7,312 $153,002 $348,651 $(29,010)$479,955 
Net earnings — — 30,566 — 30,566 
Other comprehensive income, net of tax— — — — (1,224)(1,224)
Issuance of stock, net of cancellations16 5 (5)— —  
Share-based compensation— — 2,938 — — 2,938 
Share repurchases— — — — — — 
Other share retirements(7)(2)(52)(347)— (401)
Cash dividends, $0.25 per share
— — — (5,412)— (5,412)
Balance at August 31, 202421,946 $7,315 $155,883 $373,458 $(30,234)$506,422 
Net earnings — — 20,989 — 20,989 
Other comprehensive loss, net of tax— — — — (1,736)(1,736)
Issuance of stock, net of cancellations1 — — — — — 
Share-based compensation— — 2,425 — — 2,425 
Other share retirements(8)(2)(60)(552)— (614)
Cash dividends, $0.25 per share
— — — (5,417)— (5,417)
Balance at November 30, 202421,939 $7,313 $158,248 $388,478 $(31,970)$522,069 

See accompanying notes to consolidated financial statements.

8

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)
1.Summary of Significant Accounting Policies
Basis of presentation
The consolidated financial statements of Apogee Enterprises, Inc. (we, us, our or the Company) have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP). The information included in this Form 10-Q should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025. We use the same accounting policies in preparing quarterly and annual financial statements. All adjustments necessary for a fair presentation of quarterly and year to date operating results are reflected herein. The results of operations for the three and nine month periods ended November 29, 2025, are not necessarily indicative of the results to be expected for the full year.
Adoption of new accounting standards
On November 27, 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standard Update (ASU) 2023-07, Improvements to Reportable Segment Disclosures, which expands the required disclosure for reportable segments. This guidance requires entities to disclose significant segment expenses and other segment items on an annual and interim basis and to provide in interim periods all segment disclosures which are currently required annually. This ASU additionally requires entities to disclose the title and position of the individual or the name of the group or committee identified as its chief operating decision-maker. We adopted this guidance in the fourth quarter of fiscal 2025 for the annual requirements and in the first quarter of fiscal 2026 for the interim requirements.
Accounting standards not yet adopted
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures. The ASU is effective for our fiscal 2026 annual financial statements and for our interim financial statements beginning fiscal 2027. This guidance expands the existing disclosure requirements for the annual rate reconciliation between the effective tax rate and the statutory federal tax rate by requiring reconciliation items to be disaggregated by defined categories and disclosed as both percentages and amounts. ASU 2023-09 also requires the disaggregation of income taxes paid by jurisdiction for each annual period presented.
In November 2024, the FASB issued ASU 2024-03, Disaggregation of Income Statement Expenses. This guidance requires entities to disclose more detailed information about the types of expenses, including purchases of inventory, employee compensation, depreciation, amortization, and depletion in commonly presented expense captions such as cost of sales and selling, general and administrative (SG&A) expenses. Such guidance is effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, although early adoption is permitted. This guidance should be applied either prospectively to financial statements issued for reporting periods after the effective date of this ASU or retrospectively to any or all prior periods presented in the financial statements. While the adoption of this ASU will not have an impact on our financial position and/or results of operations, we are currently evaluating the impact this ASU may have on our consolidated financial statement disclosures, including the processes and controls around the collection of this information.

2.Revenue, Receivables and Contract Assets and Liabilities
Revenue
The following table disaggregates total revenue by timing of recognition (see Note 12 for disclosure of revenue by segment):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Recognized at shipment$163,008 $150,704 $492,845 $427,945 
Recognized over time (input method)119,570 125,451 356,927 360,815 
Recognized over time (output method)65,985 65,189 203,607 226,540 
Total$348,563 $341,344 $1,053,379 $1,015,300 
Revenue at shipment is recognized at the time products are shipped from our manufacturing facilities, which is when control is transferred to our customer.
We also recognize revenue over time using both the input method and output method. The contracts for the businesses that recognize revenue following an over-time input method have a single, bundled performance obligation, as these businesses
9

generally provide interrelated products and services and integrate these products and services into a combined output specified by the customer. The customer obtains control of this combined output, generally integrated window systems or installed window and curtainwall systems, over time. We measure progress on these contracts by comparing total costs incurred to-date to the total estimated costs for the contract at completion, and record that proportion of the total contract price as revenue in the period. Contract costs include materials, labor and other direct costs related to contract performance. We believe this method of recognizing revenue is consistent with our progress in satisfying our contract obligations.
For revenue recognized following an over-time output method, the customer is considered to have control over the products at the time of production, as the products are highly customized with no alternative use, and we have an enforceable right to payment for performance completed over the production period. We believe this over-time output method of recognizing revenue reasonably depicts the fulfillment of our performance obligations under our contracts.
Receivables
Receivables reflected in the financial statements represent the net amount expected to be collected. An allowance for credit losses is established based on expected losses. Expected losses are estimated by reviewing individual accounts, considering aging, financial condition of the debtor, recent payment history, current and forecasted economic conditions and other relevant factors. Upon billing, aging of receivables is monitored until collection. An account is considered current when it is within agreed upon payment terms. An account is written off when it is determined that the asset is no longer collectible.
(In thousands)November 29, 2025March 1, 2025
Trade accounts$111,819 $117,533 
Construction contracts66,310 70,724 
Total receivables178,129 188,257 
Less: allowance for credit losses1,541 2,667 
Receivables, net$176,588 $185,590 
The following table summarizes the activity in the allowance for credit losses for the nine months ended November 29, 2025:
(In thousands)November 29, 2025
Beginning balance$2,667 
Credits against costs and expenses(571)
Deductions from allowance, net of recoveries(581)
Other adjustments26 
Ending balance$1,541 
Contract assets and liabilities
Contract assets consist of retainage, costs and earnings in excess of billings and other unbilled amounts typically generated when revenue recognized exceeds the amount billed to the customer. Retainage on construction contracts represents amounts withheld by our customers on long-term projects until the project reaches a level of completion where amounts are released to us from the customer. Contract liabilities consist of billings in excess of costs and earnings and other deferred revenue on contracts.
The time period between when performance obligations are complete and payment is due is not significant. In certain parts of our business that recognize revenue over time, progress billings follow an agreed-upon schedule of values.
(In thousands)November 29, 2025March 1, 2025
Contract assets$66,645 $71,842 
Contract liabilities43,086 35,193 
The changes in contract assets and contract liabilities were mainly due to timing of project activity within our businesses that operate under long-term contracts.
10

Other contract-related disclosures
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Revenue recognized related to contract liabilities from prior year-end$700 $399 $29,029 $30,760 
Revenue recognized related to prior satisfaction of performance obligations1,957 4,129 4,366 12,295 
Some of our contracts have an expected duration of longer than a year, with performance obligations extending over that time frame. Generally, these contracts are found in our businesses that typically operate with long-term contracts, which recognize revenue over time. The transaction prices associated with unsatisfied performance obligations at November 29, 2025, are expected to be satisfied, and the corresponding revenue to be recognized, over the following estimated time periods:
(In thousands)November 29, 2025
Within one year
$530,201 
Between one and two years
283,130 
Beyond two years79,485 
Total$892,816 
Due to the nature of the work required under these long-term contracts, the estimation of total revenue and costs of sales is subject to many variables and requires significant judgment. We estimate variable consideration at the most likely amount to which we expect to be entitled. Our final cost of sales estimates are based largely on our assessments of anticipated performance and all information (historical, current and forecasted) that is reasonably available to us. Changes in estimated revenue, cost of sales and the related effect on operating income are recognized using a cumulative catch-up adjustment, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a long-term contracts percentage of completion. When the current estimates of total revenues and costs at completion for a long-term contract indicate a loss, a provision for the entire loss on the long-term contract is recognized.
The net cumulative catch-up adjustments on our longer-term contracts for changes in estimates had the following effect on the respective periods shown:
(in thousands, except earnings per share data)Three Months EndedNine Months Ended
November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Operating income
$3,976 $5,801 $4,775 $12,905 
Earnings per share:
Basic
0.140.200.170.45
Diluted
0.140.200.170.44

3.Inventories
(In thousands)November 29, 2025March 1, 2025
Raw materials$46,900 $36,804 
Work-in-process17,676 15,554 
Finished goods37,919 39,947 
Total inventories, net$102,495 $92,305 

11

4.Financial Instruments
Marketable securities
Through our wholly-owned insurance subsidiary, Prism Assurance, Ltd. (Prism), we hold the following available-for-sale marketable securities, made up of fixed-maturity investments:
(In thousands)Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated
Fair Value
November 29, 2025$9,211 $27 $137 $9,101 
March 1, 202510,148 33 222 9,959 
Prism insures a portion of our general liability, workers’ compensation and automobile liability risks using third-party agreements to meet statutory requirements. Our third-party carriers require Prism to maintain fixed-maturity investments for the purpose of providing collateral for Prism’s obligations under these agreements.
The amortized cost and estimated fair values of these investments at November 29, 2025, by contractual maturity, are shown below. Expected maturities may differ from contractual maturities, as borrowers may have the right to call or prepay obligations with or without penalty. Investments that are due within one year are included in other current assets while those due after one year are included as other non-current assets. Gross realized gains and losses were insignificant for all periods presented.
(In thousands)Amortized CostEstimated Fair Value
Due within one year$7,239 $7,163 
Due after one year through five years1,972 1,938 
Total$9,211 $9,101 
Derivative instruments
We periodically use interest rate swaps, currency put options, forward purchase contracts, or other instruments to manage risks generally associated with foreign exchange rate (primarily related to the Canadian dollar and euro), interest rate and commodity price fluctuations. The information that follows explains the various types of derivatives and financial instruments we use, how such instruments are accounted for, and how such instruments impact our financial position and performance.
In the second quarter of fiscal 2026, we entered into an interest rate swap with a notional value of $50.0 million with an expiration date of August 5, 2027. In fiscal 2025, we entered into an interest rate swap with a notional value of $75.0 million with an expiration date of January 5, 2027. In fiscal 2020, we entered into an interest rate swap with a notional value of $30.0 million with an expiration date of February 5, 2026. We entered into these swaps to hedge a portion of our exposure to variability in cash flows from interest payments on our floating-rate credit facility.
As of November 29, 2025, we had no foreign exchange option contracts with U.S. dollar notional values outstanding.
Derivative instruments that qualify for hedge accounting are recorded within our consolidated balance sheets within other current assets and other current liabilities. Gains or losses associated with these instruments are recorded as a component of accumulated other comprehensive loss until which time the hedged transaction is settled and gains or losses are reclassified to earnings.
12

Fair value measurements
Financial assets and liabilities are classified in the fair value hierarchy based on the lowest level input that is significant to the fair value measurement: Level 1 (unadjusted quoted prices in active markets for identical assets or liabilities); Level 2 (observable market inputs, other than quoted prices included in Level 1); and Level 3 (unobservable inputs that cannot be corroborated by observable market data). We do not have any Level 3 financial assets or liabilities.
Financial assets and liabilities measured at fair value on a recurring basis were:
(In thousands)Quoted Prices in Active Markets
(Level 1)
Other Observable Inputs
(Level 2)
Total Fair Value
November 29, 2025
Assets:
Money market funds$30,493 $ $30,493 
Municipal bonds 9,101 9,101 
Interest rate swap contracts 125 125 
Liabilities:
Interest rate swap contracts 806 806 
March 1, 2025
Assets:
Money market funds$20,758 $ $20,758 
Municipal bonds 9,959 9,959 
Foreign currency option contract 29 29 
Interest rate swap contracts 539 539 
Liabilities:
Interest rate swap contracts 540 540 

5.Debt
On July 19, 2024, we entered into a Credit Agreement (the Credit Agreement) with Bank of America, N.A., as administrative agent, and other lenders. The Credit Agreement provides for an unsecured senior credit facility in an aggregate principal amount of up to $700.0 million, in which commitments were made through a $450.0 million, five-year revolving credit facility and a committed $250.0 million delayed draw term loan facility. Borrowings under the revolving credit facility can be in Canadian dollars (CAD) limited to $25.0 million USD. The term loan facility may be utilized in up to two draw downs, which are available to be made within one year after the closing date. The senior credit facility has a term of five years with a maturity date of July 19, 2029.
The Credit Agreement replaced the previous revolving credit facility with Wells Fargo Bank, N.A., as administrative agent, and other lenders, with maximum borrowings up to $385.0 million, and the two Canadian credit facilities with Bank of Montreal totaling $25.0 million USD.
As a result of the execution of the Credit Agreement, in the second quarter of fiscal 2025, we recognized a loss on extinguishment of debt within interest expense of $0.5 million for the write-off of unamortized financing fees related to the previous revolving credit facility. Additionally, we capitalized $3.0 million of lender fees and $0.8 million of third-party fees incurred in connection with the Credit Agreement, which were recorded as other non-current assets and are being amortized over the term of the credit facility as interest expense.
The Credit Agreement contains two maintenance financial covenants that require our Consolidated Leverage Ratio (as defined in the Credit Agreement) to be less than 3.50 and our Consolidated Interest Coverage Ratio (as defined in the Credit Agreement) to exceed 3.00. At November 29, 2025, we were in compliance with all covenants as defined under the terms of the Credit Agreement.
The Credit Agreement also contains an acquisition “holiday”. In the event we make an acquisition for which the purchase price is greater than $75.0 million, we can elect to increase the maximum Consolidated Leverage Ratio (as defined in the Credit Agreement) to 4.00 for a period of four consecutive fiscal quarters, commencing with the fiscal quarter in which a qualifying acquisition occurs. No more than two acquisition holidays can occur during the term of the Credit Agreement, and at least two fiscal quarters must separate qualifying acquisitions.
13

Borrowings under the Credit Agreement bear floating interest at either the Base Rate or Term Secured Overnight Financing Rate (SOFR), or, for CAD borrowings, Canadian Overnight Repo Rate Average (CORRA) plus, in each a margin based on the Consolidated Leverage Ratio (as defined in the Credit Agreement). For Base Rate borrowings, the margin ranges from 0.25% to 0.75%. For Term SOFR and CORRA borrowings, the margin ranges from 1.25% to 1.75%, with an incremental Term SOFR and CORRA adjustment of 0.10% and 0.29547%, respectively.
The Credit Agreement also contains an “accordion” provision. Under this provision, we can request that the senior credit facility be increased by unlimited additional amounts. Any lender may elect or decline to participate in the requested increase at their sole discretion.
On November 4, 2024, as part of the acquisition of UW Interco, LLC (UW Solutions), and for working capital and general corporate purposes, we executed a drawdown against the delayed draw term loan facility for $250.0 million. Outstanding borrowings under the term loan facility were $215.0 million as of November 29, 2025. Outstanding borrowings under the revolving credit facility were $40.0 million as of November 29, 2025.
At November 29, 2025, we had a total of $2.6 million of ongoing letters of credit related to the senior credit facility, construction contracts and insurance collateral that expire in fiscal 2027 and reduce borrowing capacity under the revolving credit facility. As of November 29, 2025, the amount available for revolving borrowings was $407.4 million.
The fair value of our senior credit facility approximated carrying value at November 29, 2025, and would be classified as Level 2 within the fair value hierarchy described in Note 4, due to the variable interest rates on these instruments.
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Interest on debt$3,911 $2,077 $13,005 $4,590 
Interest rate swap gain(242)(223)(555)(695)
Other interest expense172 38 475 653 
Interest income(614)(848)(1,777)(1,914)
Interest expense, net
$3,227 $1,044 $11,148 $2,634 
Interest payments under the credit facilities were $13.2 million and $3.5 million for the nine months ended November 29, 2025 and November 30, 2024, respectively. The weighted average interest rates on borrowings outstanding, inclusive of the impact of our interest rate swaps as of November 29, 2025, and March 1, 2025, were 3.16% and 4.32%, respectively.

6.Commitments and Contingent Liabilities
Bond commitments
In the ordinary course of business, predominantly in our Architectural Services Segment, we are required to provide surety or performance bonds that commit payments to our customers for non-performance against our contracts. At November 29, 2025, $1.2 billion of these types of bonds were outstanding, of which $253.0 million is in our backlog. These bonds have expiration dates that align with the completion of these contracts. We have never been required to make payments under surety or performance bonds with respect to our existing businesses.
Warranty and project-related contingencies
We reserve estimated exposures on known claims, as well as on a portion of anticipated claims, for product warranty and rework cost, based on historical product liability claims as a ratio of sales. Claim costs are deducted from the accrual when paid. Factors that could have an impact on these accruals in any given period include changes in manufacturing quality, changes in product mix, and any significant changes in sales volume.
 Nine Months Ended
(In thousands)November 29, 2025
Beginning balance$18,461 
Credits against costs and expenses(1,044)
Claims paid(3,504)
Ending balance$13,913 
Additionally, we are subject to project management and installation-related contingencies as a result of our fixed-price material supply and installation service contracts, primarily in our Architectural Services Segment and in certain parts of our
14

Architectural Metals Segment. We manage the risk of these exposures through contract negotiations, proactive project management and insurance coverages.
Letters of credit
At November 29, 2025, we had $2.6 million of ongoing letters of credit as discussed in Note 5.
Purchase obligations
Purchase obligations for raw material commitments and capital expenditures totaled $16.4 million as of November 29, 2025.
New Markets Tax Credit (NMTC) transactions
During the second quarter ended August 30, 2025, one NMTC transaction was settled and, as a result, a $4.6 million benefit was recorded in other (income) expense, net. During the third quarter ended November 29, 2025, the final remaining NMTC transaction was settled and, as a result, a $2.1 million benefit was recorded in other (income) expense, net.
When these transactions were initiated, the proceeds received from investors were included within other current liabilities in our consolidated balance sheets. The NMTC arrangements were subject to 100 percent tax credit recapture for a period of seven years from the date of transaction. Upon the termination, proceeds were recognized in earnings in exchange for the transfer of tax credits. The direct and incremental costs incurred in structuring this arrangement were deferred and were included in other current assets in our consolidated balance sheets. These costs were recognized in conjunction with the recognition of the related proceeds as settled. During the construction phase or for working capital purposes, we were required to hold cash dedicated to fund the project, which was classified as restricted cash in our consolidated balance sheet. As a result of the structure of these transactions, a variable-interest entity was created. As the other investors in these programs did not have a material interest in the entity's underlying economics, we included 100% of the results of the variable-interest entity in our consolidated financial statements.
Litigation
The Company is a party to various legal proceedings incidental to its normal operating activities. In particular, like others in the construction supply and services industry, the Company is routinely involved in various disputes and claims arising out of construction projects, sometimes involving significant monetary damages or product replacement. We have in the past and are currently subject to product liability and warranty claims, including certain legal claims related to a commercial sealant product formerly incorporated into our products.
In December 2022, the claimant in an arbitration of one such claim was awarded $20.0 million by an arbitration panel. The claimant then sought to confirm this award in Los Angeles Superior Court in March 2023. In response, the Company moved to vacate the award. Later in March 2023, the Superior Court confirmed the award, which the Company appealed in June 2023. The appeal was argued before the California Court of Appeals, Second Appellate District, Division Seven, on March 7, 2025. The California Court of Appeals confirmed the judgment of the Superior Court on March 25, 2025, and the Company paid the final arbitration award, including accrued post-judgment interest, in the amount of $24.7 million, on April 7, 2025. As a result of the judgment, in the fourth quarter of fiscal 2025, we recorded expense of $9.4 million, which represented the impact of the award amount net of existing reserves and insurance proceeds of $11.0 million.
The Company is also subject to litigation arising out of areas such as employment practices, workers compensation and general liability matters. Although it is very difficult to accurately predict the outcome of any such proceedings, facts currently available indicate that no matters will result in losses that would have a material adverse effect on the results of operations, cash flows or financial condition of the Company.

7.Supplier Finance Program Obligations
We have a supplier financing arrangement that enables select suppliers, at their sole discretion, to sell our receivables (i.e., our payment obligations to the suppliers) on a non-recourse basis in order to be paid earlier than our payment terms provide. These suppliers’ voluntary inclusion of invoices in the supplier financing arrangement has no bearing on our payment terms, the amounts we pay, or our liquidity. We have no economic interest in the supplier’s decision to participate in the supplier financing program, and we do not provide any guarantees in connection with it. The balances owed are reflected in accounts payable in the consolidated balance sheets and are reflected in net cash provided by operating activities in our consolidated statements of cash flows when settled.
The following table summarizes the obligation activity and outstanding balance for the nine months ended November 29, 2025, that we have confirmed as valid to the administrators of our program:
15

(In thousands)November 29, 2025
Balance at beginning of period$6,846 
Obligations added to the program39,692 
Obligations settled(39,690)
Balance at end of period$6,848 

8.Shareholders' Equity
We paid dividends totaling $16.6 million ($0.78 per share) in the first nine months of fiscal 2026, compared to dividends paid of $16.2 million ($0.75 per share) in the comparable prior year period.
During fiscal 2004, the Board of Directors authorized a share repurchase program allowing us to repurchase shares of our outstanding common stock, with subsequent increases in authorization. During the nine months ended November 29, 2025, we did not repurchase shares under the program. During the nine months ended November 30, 2024, we repurchased 241,573 shares under the program, for a total cost of $15.1 million. We have repurchased a total of 12,063,207 shares, at a total cost of $438.5 million, since the inception of this program in fiscal 2004. We have remaining authority to repurchase 2,186,793 shares under this program, which has no expiration date. We may elect to repurchase additional shares of common stock under our authorization, subject to limitations contained in our debt agreements and based upon our assessment of a number of factors, including share price, trading volume and general market conditions, working capital requirements, general business conditions, financial conditions, any applicable contractual limitations, and other factors, including alternative investment opportunities. We may finance share repurchases with available cash, additional debt or other sources of financing.
Additionally, shares withheld from the vesting of restricted awards, or the settlement of performance-based awards, are treated as purchases and retirements, and are included within other, net in the financing activities section in the consolidated statement of cash flows.

9.Share-Based Compensation
As part of our compensation structure, we grant stock-based compensation awards to certain employees and non-employee directors during the fiscal year. These awards may be in the form of incentive stock options (to employees only), restricted stock awards and restricted stock units, and performance share unit awards, all of which are granted at a price or with an exercise price equal to the fair market value of the Company’s stock at the date of award, unless the date of the award is on a day the Nasdaq Stock Market is not open for trading. In that case, the exercise price shall equal the fair market value on the most recent preceding date when such market is open.
The table below sets forth the number of stock-based compensation awards granted during the nine months ended November 29, 2025, along with the weighted average grant date fair value:
AwardsNumber of AwardsWeighted Average Grant Date Fair Value
Restricted stock awards and restricted stock units(1)
178,103 $43.92 
Performance share units (2)
53,542 $45.44 
(1)
Represent service condition awards which generally vest over a two- or three-year period.
(2)
Represent performance condition awards with the grant equal to the target number of performance shares based on the share price at grant date. These grants allow for the right to receive a variable number of shares, between 0% and 200% of target, dependent on being employed at the end of the performance period and achieving defined performance goals for average adjusted return on invested capital and cumulative adjusted earnings per share.
Total share-based compensation expense included in the results of operations was $3.8 million and $2.4 million for the three months ended November 29, 2025, and November 30, 2024, respectively and $6.6 million and $8.1 million for the nine months ended November 29, 2025, and November 30, 2024, respectively.
On October 31, 2025, the Company announced the separation of its Chief Executive Officer. In connection with this separation agreement, the Board of Directors approved the accelerated vesting of certain outstanding unvested restricted stock awards and performance share unit awards previously granted. As a result of this modification, the Company recognized incremental stock-based compensation expense of $2.1 million during the third quarter of fiscal 2026, representing the fair value of the awards that would have otherwise vested over the remaining service periods. This amount is included in SG&A expenses in the Consolidated Results of Operations.
16

At November 29, 2025, there was $9.4 million of total unrecognized compensation cost related to nonvested share and nonvested share unit awards, which is expected to be recognized over a weighted average period of approximately 2.0 years. The total fair value of shares vested during the nine months ended November 29, 2025, was $12.4 million.

10.Income Taxes
We file income tax returns in the U.S. federal jurisdiction, various U.S. state and local jurisdictions, Canada, Brazil, and other international jurisdictions. In September 2025, the Company was notified that the Internal Revenue Service will conduct a U.S. federal examination for fiscal 2023. There is very limited audit activity of our income tax returns in U.S. state jurisdictions or international jurisdictions.
For interim periods, income tax expense and resulting effective tax rate are based upon an estimated annual effective tax rate adjusted for the effects of items required to be treated as discrete to the period, including changes in tax laws, changes in estimated exposures for uncertain tax positions and other items. For the three months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.4%, compared to 24.1% for the same period last year. The change in the effective tax rate was primarily due to an increase in tax expense on discrete items. For the nine months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.1% compared to 24.8% for the same period last year. The increase in the effective tax rate was primarily driven by tax expenses on discrete items.
The total liability for unrecognized tax benefits was $5.9 million at November 29, 2025, compared to $6.0 million at March 1, 2025. Penalties and interest related to unrecognized tax benefits are recorded in income tax expense.
On July 4, 2025, the One Big Beautiful Bill Act (OBBBA) was signed into law in the United States, introducing a wide array of tax reform measures. These include extensions and modifications to certain provisions originally enacted under the Tax Cuts and Jobs Act. Key changes include the immediate expensing of domestic research and development costs, the reinstatement of 100% bonus depreciation, and a new interest expense limitation based on earnings before interest, taxes, depreciation and amortization (EBITDA). These provisions did not have a material effect on the Company’s effective tax rate for the nine-month period ended November 29, 2025.

11.Earnings per Share
The following table presents a reconciliation of the share amounts used in the computation of basic and diluted earnings per share (diluted EPS):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net earnings$16,549 $20,989 $37,511 $82,566 
Basic earnings per share – weighted average common shares outstanding21,302 21,782 21,349 21,789 
Weighted average effect of nonvested share grants and assumed exercise of stock options290 135 219 148 
Diluted earnings per share – weighted average common shares and potential common shares outstanding21,592 21,917 21,568 21,937 
Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares)213 1 213 18 
Earnings per share:
Basic
$0.78 $0.96 $1.76 $3.79 
Diluted
$0.77 $0.96 $1.74 $3.76 

12.Business Segment Data
We have four operating segments which are also reportable segments. Each of our four segments has distinct economic characteristics, including products and services provided, production processes and varying ranges in performance and results:
17

The Architectural Metals Segment designs, engineers, fabricates and finishes aluminum window, curtainwall, storefront and entrance systems used primarily in non-residential construction.
The Architectural Services Segment integrates technical services, project management, and field installation services to design, engineer, fabricate, and install architectural curtainwall and other façade-related systems primarily in non-residential construction.
The Architectural Glass Segment cuts, treats, coats and fabricates high-performance glass used in custom window and wall systems primarily for non-residential buildings.
The Performance Surfaces Segment develops and manufactures high-performance coated materials for a variety of applications, including wall decor, museums, graphic design, digital displays, architectural interiors, and industrial flooring.
The Company’s CEO is the chief operating decision maker (CODM). The CODM utilizes net sales and adjusted EBITDA to assess segment performance and make decisions about the allocation of operating and capital resources by analyzing recent results, trends, and variances of each segment in relation to forecasts and historical performance.
Net sales, adjusted cost of sales, adjusted SG&A, adjusted other income (expense), depreciation and amortization and the resulting adjusted EBITDA for each of the Company’s four reportable segments are presented below. Segment net sales is defined as net sales for a certain segment and includes revenue related to intersegment transactions. We report net sales intersegment eliminations separately to exclude these sales from our consolidated total. Segment adjusted EBITDA includes intersegment sales transactions and excludes certain corporate costs that are not allocated at a segment level. We report these unallocated corporate costs in Corporate and Other.
Three Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$124,245 $105,166 $66,172 $52,980 $348,563 
Intersegment net sales188  4,680  4,868 
     Total segment net sales 124,433 105,166 70,852 52,980 353,431 
Adjusted cost of sales (1)
(89,437)(86,747)(52,307)(35,776)(264,267)
Adjusted SG&A (2)
(21,908)(9,030)(10,378)(9,196)(50,512)
Adjusted other expense, net (3)
  (12) (12)
Adjusted depreciation and amortization3,662 809 3,379 3,913 11,763 
Adjusted EBITDA$16,750 $10,198 $11,534 $11,921 $50,403 
Three Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$138,019 $104,921 $65,208 $33,196 $341,344 
Intersegment net sales20  5,028  5,048 
     Total segment net sales138,039 104,921 70,236 33,196 346,392 
Adjusted cost of sales (1)
(100,397)(84,402)(50,033)(21,747)(256,579)
Adjusted SG&A (2)
(24,090)(11,505)(10,086)(5,276)(50,957)
Adjusted other expense, net (3)
  (6) (6)
Adjusted depreciation and amortization3,932 981 3,069 2,461 10,443 
Adjusted EBITDA$17,484 $9,995 $13,180 $8,634 $49,293 
18

Nine Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$393,763 $312,161 $203,835 $143,620 $1,053,379 
Intersegment net sales228  12,471  12,699 
     Total segment net sales393,991 312,161 216,306 143,620 1,066,078 
Adjusted cost of sales (1)
(287,218)(263,377)(157,278)(95,933)(803,806)
Adjusted SG&A (2)
(71,056)(30,294)(32,323)(27,838)(161,511)
Adjusted other expense, net (3)
  (77) (77)
Adjusted depreciation and amortization11,229 2,789 9,970 11,251 35,239 
Adjusted EBITDA$46,946 $21,279 $36,598 $31,100 $135,923 
Nine Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$412,469 $301,966 $226,633 $74,232 $1,015,300 
Intersegment net sales92  20,407  20,499 
     Total segment net sales412,561 301,966 247,040 74,232 1,035,799 
Adjusted cost of sales (1)
(287,846)(246,622)(167,058)(46,583)(748,109)
Adjusted SG&A (2)
(73,773)(34,320)(31,706)(12,837)(152,636)
Adjusted other income, net (3)
  116  116 
Adjusted depreciation and amortization12,609 2,887 9,158 4,046 28,700 
Adjusted EBITDA$63,551 $23,911 $57,551 $18,858 $163,871 
(1)
Adjusted cost of sales excludes $0.1 million and $3.4 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $0.5 million and $13.3 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted cost of sales excludes $0.1 million of income and $1.3 million of expense related to restructuring for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted cost of sales excludes $0.4 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(2)
Adjusted SG&A expense excludes $0.2 million and $1.0 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $1.2 million and $6.9 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted SG&A expense excludes $0.3 million and $1.0 million related to restructuring expense for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted SG&A excludes $0.9 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(3)
Adjusted other income, net excludes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.
19

The following table presents the reconciliation of adjusted EBITDA to net earnings, the nearest measurement under U.S. GAAP:
Three Months EndedNine Months Ended
(In thousands)November 29,
2025
November 30,
2024
November 29,
2025
November 30,
2024
Segment Adjusted EBITDA$50,403 $49,293 $135,923 $163,871 
Corporate and Other Expenses(8,033)(8,014)(17,636)(16,978)
Segment acquisition-related costs (1)
(259)(1,331)(1,723)(1,331)
Segment restructuring costs (2)
(4,401)(125)(20,233)(2,296)
Depreciation and amortization(12,516)(11,134)(37,456)(30,798)
Other income (3)
2,143  6,740  
Interest expense, net(3,227)(1,044)(11,148)(2,634)
Income tax expense(7,561)(6,656)(16,956)(27,268)
Net earnings$16,549 $20,989 $37,511 $82,566 
(1)
Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.
(2)Segment restructuring charges related to Project Fortify.
(3)
Other income, net includes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.

13.Acquisitions
On November 4, 2024, we completed the acquisition of UW Solutions for $240.9 million in cash. UW Solutions is a U.S. based, vertically integrated manufacturer of high-performance coated substrates with a portfolio of well-known brands, including ResinDEK®, ChromaLuxe®, RDC Coatings™, and Unisub®, each known as a leader in its specified applications. The UW Solutions business activity is included in our Performance Surfaces Segment.
The total purchase consideration was $232.2 million in cash, net of a favorable net working capital adjustment of $0.9 million and cash acquired of $8.7 million. The acquisition was funded with cash on hand and borrowings under our existing credit agreement. During fiscal 2025, we incurred total pre-tax acquisition-related expenses of $10.3 million associated with the acquisition. During the three-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $0.3 million, of which $0.1 million and $0.2 million are included in cost of sales and SG&A, respectively, within our Consolidated Results of Operations. During the nine-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $2.0 million, of which $0.5 million and $1.5 million are included in cost of sales and SG&A, respectively, within our Consolidated Results of Operations.
We accounted for the acquisition as a purchase of a business and recorded the excess of the purchase price over the estimated fair value of the assets acquired and liabilities assumed as goodwill of $107.8 million. The goodwill recognized is attributable primarily to expected synergies by integrating UW Solutions into our Performance Surfaces Segment and by creating a scalable growth platform in the specialty coatings and materials market. The goodwill is expected to be amortized and deductible for income tax purposes. We have provisionally determined the appropriate fair values of the acquired intangible assets and completed our analysis of the economic lives of the assets acquired.
20

The following table presents the estimated fair values of assets acquired and liabilities assumed at the acquisition date:
(In thousands)
Assets:
Cash and cash equivalents$8,703 
Receivables, net12,427 
Inventories, net17,903 
Other current assets1,122 
Property, plant and equipment26,563 
Operating lease right-of-use assets14,189 
Goodwill107,826 
Intangible assets, net79,679 
Other non-current assets166 
Total Assets$268,578 
Liabilities:
Accounts payable5,126 
Accrued compensation and benefits6,900 
Operating lease liabilities1,259 
Other non-current liabilities1,490 
Noncurrent operating lease liabilities12,930 
Total Liabilities$27,705 
Net assets recorded$240,873 
The impact of the acquisition of UW Solutions on our Consolidated Results of Operations for the three-month period ended on November 29, 2025, was $27.9 million of net sales and $0.3 million of net income, and for the nine-month period ended on November 29, 2025, was $74.8 million of net sales and $1.8 million of net loss.
The following supplemental unaudited pro forma information presents our financial results as if the acquisition of UW Solutions had occurred on March 3, 2024. This supplemental pro forma information has been prepared for comparative purposes and would not necessarily indicate what may have occurred if the acquisition had been completed on March 3, 2024, and this information is not intended to be indicative of future results.
(in thousands, except earnings per share data)
(Unaudited)
Three Months EndedNine Months Ended
November 30, 2024November 30, 2024
Net sales$359,904 $1,077,941 
Net earnings20,456 72,150 
Earnings per share:
Basic$0.94 $3.31 
Diluted$0.93 $3.29 
The three-month period ended November 30, 2024, includes $0.6 million of non-recurring integration costs in the three-month proforma period. Nonrecurring charges of $4.4 million of transaction costs, $2.3 million of integration costs, $2.3 million of amortization of acquired backlog, and $1.5 million of inventory step-up expense are included in the nine-month period ended November 30, 2024, and are included in the nine-month proforma period ended November 30, 2024.
These amounts have been calculated after applying our accounting policies and adjusting the results of UW Solutions to reflect the effect of definite-lived intangible assets recognized as part of the business combination on amortization expense as if the acquisition had occurred on March 3, 2024.

21

14.Restructuring
During the fourth quarter of fiscal 2024, we announced strategic actions to streamline our business operations, enable a more efficient cost model, and better position the Company for profitable growth (referred to as “Project Fortify”). Project Fortify primarily impacted the Architectural Metals Segment and included:
Eliminating certain lower-margin product and service offerings, enabling consolidation into a single operating entity.
Transferring production operations from the Company’s facility in Walker, Michigan, to the Company’s facilities in Monett, Missouri and Wausau, Wisconsin.
Simplifying the segment’s brand portfolio and commercial model to improve flexibility, better leverage the Company’s capabilities, and enhance customer service.
Additionally, the Company implemented actions to optimize processes and streamline resources in its Architectural Services Segment and Corporate and Other. The Company completed Project Fortify during the fourth quarter of fiscal 2025 and incurred a total of $16.7 million of restructuring charges, which led to an annualized pre-tax cost savings of approximately $14 million.
On April 23, 2025, we announced a second phase of Project Fortify (referred to as "Project Fortify Phase 2" or "Phase 2") to drive further cost efficiencies, primarily in the Architectural Metals and Architectural Services Segments. Phase 2 focuses on further optimizing our operating footprint and aligning resources to enable a more effective operating model. We expect to incur approximately $28 million to $29 million of pre-tax charges associated with Phase 2. The total charges are expected to include the following:
$15 million to $16 million of severance and employee related costs;
$5 million to $6 million of contract termination costs; and
$7 million to $8 million of other expenses.
We expect the actions associated with Phase 2 to be substantially completed by the end of the fourth quarter of fiscal 2026 and expect them to deliver annualized pre-tax cost savings of approximately $25 million to $26 million.
During the third quarter of fiscal 2026, we incurred $5.1 million of pre-tax costs associated with Phase 2, of which $3.5 million is included in cost of sales and $1.6 million is included within SG&A. During the first nine months of fiscal 2026, we incurred $23.6 million of pre-tax costs associated with Phase 2, of which, $13.4 million is included in cost of sales and $10.2 million is included within SG&A. For the nine months ended November 29, 2025, SG&A charges include a $5.0 million non-cash intangible asset impairment charge in the Architectural Services segment and a $2.6 million non-cash asset write-off and other charges in Corporate and Other.
The table below reflects the pretax impact of Project Fortify for the quarters ended November 29, 2025, and November 30, 2024, respectively.
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits$1,887 $181 $637 $2,705 
Contract termination costs597 1,662  2,259 
Other restructuring charges53 21 42 116 
Total restructuring charges$2,537 $1,864 $679 $5,080 
November 30, 2024
Termination benefits$387 $(764)$787 $410 
Other restructuring charges455 47  502 
Total restructuring charges$842 $(717)$787 $912 
22

The table below reflects the pretax impact of Project Fortify for the nine months ended November 29, 2025, and November 30, 2024, respectively.
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits $2,693 $6,653 $637 $9,983 
Contract termination costs1,399 3,594  4,993 
Other restructuring charges272 5,623 2,683 8,578 
Total restructuring charges$4,364 $15,870 $3,320 $23,554 
November 30, 2024
Termination benefits$960 $(592)$917 $1,285 
Contract termination costs108   108 
Other restructuring charges1,687 133  1,820 
Total restructuring charges$2,755 $(459)$917 $3,213 
The following table summarizes our restructuring related accrual balances included within accrued payroll and related benefits and other current liabilities in the consolidated balance sheets. All remaining accrual balances are expected to be paid within fiscal 2026.
(In thousands)Architectural Metals Architectural ServicesCorporate and OtherTotal
Balance at March 1, 2025$1,286 $650 $511 $2,447 
Restructuring expense3,446 5,980 3,320 12,746 
Payments(1,939)(3,270)(599)(5,808)
Balance at November 29, 2025$2,802 $3,360 $3,232 $9,394 
The charges presented in the roll forward of our restructuring accruals do not include items charged directly to expense as incurred, as those items are not reflected in accrued payroll and related benefits and other current liabilities in the consolidated balance sheets.

23

Item 2.Management’s Discussion and Analysis of Financial Condition and Results of Operations
Forward-looking statements
This Quarterly Report on Form 10-Q, including the section, Management’s Discussion and Analysis of Financial Condition and Results of Operations, contains certain statements that are considered “forward-looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995. These statements reflect our current views with respect to future events and financial performance. Forward-looking statements generally can be identified by the use of forward-looking terminology such as “may,” “believe,” “expect,” “anticipate,” “intend,” “estimate,” “forecast,” “project,” “should,” “will,” “continue” or similar words or expressions. All forecasts and projections in this document are “forward-looking statements,” and are based on management’s current expectations or beliefs of the Company's near-term results, based on current information available pertaining to the Company. From time to time, we may also provide oral and written forward-looking statements in other materials we release to the public, such as press releases, presentations to securities analysts or investors, or other communications by the Company. Any or all of our forward-looking statements in this report and in any public statements we make could be materially different from actual results.
Accordingly, we wish to caution investors that any forward-looking statements made by or on behalf of the Company are subject to uncertainties and other factors that could cause actual results to differ materially from such statements. These uncertainties and other risk factors include, but are not limited to, the risks and uncertainties set forth under “Risk Factors” section of our Annual Report on Form 10-K for the year ended March 1, 2025, and in subsequent filings with the U.S. Securities and Exchange Commission, including this Quarterly Report on Form 10-Q.
We also wish to caution investors that other factors might in the future prove to be important in affecting the Company’s results of operations. New factors emerge from time to time; it is not possible for management to predict all such factors, nor can it assess the impact of each such factor on the business or the extent to which any factor, or a combination of factors, may cause actual results to differ materially from those contained in any forward-looking statements. We undertake no obligation to update publicly or revise any forward-looking statements, whether as a result of new information, future events or otherwise.
Non-GAAP Measures
We have included in this report measures of financial performance that are not defined by U.S. GAAP. We believe that these measures provide useful information and include these measures in other communications to investors. For each of these non-GAAP financial measures, we provide a reconciliation of the differences between the non-GAAP measure and the most directly comparable U.S. GAAP measure (see “Reconciliation of Non-GAAP Financial Measures” in this Item 2 below), and an explanation of why we believe the non-GAAP measure provides useful information to management and investors. These non-GAAP measures should be viewed in addition to, and not in lieu of, the comparable U.S. GAAP measure.

Overview
We are a leading provider of architectural products and services for enclosing buildings, and high-performance coating products used in applications for preservation, protection and enhanced viewing. Our four reporting segments are: Architectural Metals, Architectural Services, Architectural Glass, and Performance Surfaces.
Our enterprise strategy is based on the following three key elements:
1.Become the economic leader in our target markets. We have developed a deep understanding of our target markets and aligned our businesses with clear go-to-market strategies to drive value for our customers through differentiated product and service offerings. We are focused on operational execution, driving productivity improvements, and maintaining a competitive cost structure, so that we may bring more value to our customers and improve our own profitability.
2.Actively manage our portfolio to drive higher margins and returns. We are shifting our business mix toward higher operating margin offerings in order to improve our return on invested capital performance. We accomplish this by allocating resources to grow our top performing businesses, actively addressing underperforming businesses, and investing to add new differentiated product and service offerings to accelerate our growth and increase margins. We continually analyze our current portfolio of products, services, and capabilities to identify the best areas for future profitable growth. We also evaluate inorganic opportunities where we can deploy capital to acquire businesses that will be accretive to our long-term growth rate and operating margins.
3.Strengthen our core capabilities. We are shifting from our historical, decentralized operating model to one with center-led functional expertise that enables us to leverage the scale of the enterprise to better support the needs of the business. We have established a Company-wide operating system with common tools and processes based on the foundation of Lean and Continuous Improvement, which we call the “Apogee Management System.” Our strategy is
24

supported by a robust talent management program and a commitment to strong governance to ensure compliance and drive sustainable performance.
Recent Developments
On April 23, 2025, we announced an extension of Project Fortify ("Project Fortify Phase 2" or "Phase 2") to drive further cost efficiencies, primarily in the Architectural Metals and Architectural Services Segments. Phase 2 focuses on further optimizing our operating footprint and aligning resources to enable a more effective operating model. We expect the actions of Phase 2 to incur approximately $28 million to $29 million of pre-tax charges. Phase 2 is expected to deliver annualized pre-tax cost savings of approximately $25 million to $26 million. We expect the actions associated with Phase 2 to be substantially completed by the end of the fourth quarter of fiscal 2026. See Note 14 for additional information.
On October 31, 2025, the Company announced the separation of its Chief Executive Officer. In connection with this separation agreement, the Board of Directors approved the accelerated vesting of certain outstanding unvested restricted stock awards and performance share unit awards previously granted. As a result of this modification, the Company recognized incremental stock-based compensation expense of $2.1 million during the third quarter of fiscal 2026, representing the fair value of the awards that would have otherwise vested over the remaining service periods. This amount is included in SG&A expenses in the Consolidated Results of Operations.
The following selected financial data should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025, and the consolidated financial statements, including the notes to consolidated financial statements, included therein.
25

Results of Operations
The following tables provide various components of operations as year over year U.S. dollar and percentage change, as well as a percentage of net sales.
Three Months Ended
% of Net Sales
(in thousands, except percentages)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net sales$348,563$341,344100.0 %100.0 %
Cost of sales265,571252,19576.2 %73.9 %
Gross profit82,99289,14923.8 %26.1 %
Selling, general and administrative expenses58,11360,52016.7 %17.7 %
Operating income24,87928,6297.1 %8.4 %
Interest expense, net3,2271,0440.9 %0.3 %
Other income, net(2,458)(60)(0.7)%— %
Earnings before income taxes24,11027,6456.9 %8.1 %
Income tax expense7,5616,6562.2 %1.9 %
Net earnings$16,549$20,9894.7 %6.1 %
Effective tax rate31.4 %24.1 %
Nine Months Ended
% of Net Sales
(in thousands, except percentages)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net sales$1,053,379$1,015,300100.0 %100.0 %
Cost of sales812,654729,97577.1 %71.9 %
Gross profit240,725285,32522.9 %28.1 %
Selling, general and administrative expenses182,026173,35017.3 %17.1 %
Operating income58,699111,9755.6 %11.0 %
Interest expense, net11,1482,6341.1 %0.3 %
Other income, net(6,916)(493)(0.7)%— %
Earnings before income taxes54,467109,8345.2 %10.8 %
Income tax expense16,95627,2681.6 %2.7 %
Net earnings$37,511$82,5663.6 %8.1 %
Effective tax rate31.1 %24.8 %
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Consolidated net sales increased 2.1%, to $348.6 million, driven by $18.4 million of inorganic sales contribution from the acquisition of UW Solutions and favorable product mix, partially offset by lower volume.
Gross margin decreased to 23.8%, compared to 26.1%, primarily due to impact of lower volume and price, higher aluminum, restructuring and health insurance costs, partially offset by lower incentive compensation expense.
SG&A expense as a percent of net sales decreased to 16.7%, compared to 17.7%. The decrease was primarily due to lower acquisition-related costs and lower incentive compensation expense, partially offset by higher amortization expense related to the UW Solutions acquisition and incremental stock-based compensation expense related to CEO transition costs.
Operating income declined to $24.9 million from $28.6 million, and operating margin decreased 130 basis points to 7.1%.
Adjusted EBITDA increased to $46.1 million compared to $45.8 million and adjusted EBITDA margin decreased to 13.2% compared to 13.4%. The decrease in adjusted EBITDA margin was primarily driven by lower volume and price, higher aluminum and health insurance costs, partially offset by lower incentive compensation expense and benefits from cost savings related to Project Fortify Phase 2.
Interest expense increased to $3.2 million, primarily due to a higher average debt balance resulting from the acquisition of UW Solutions in November 2024.
26

Other income was $2.5 million compared to $0.1 million. The change was due to a $2.1 million gain related to a New Markets Tax Credit recognized in the current period.
Income tax expense as a percentage of earnings before income tax was 31.4%, compared to 24.1%. The increase in the effective tax rate was primarily due to an increase in tax expense for discrete items.
Net earnings were $16.5 million compared to $21.0 million.
Comparison of First Nine Months Fiscal 2026 to First Nine Months Fiscal 2025
Consolidated net sales increased 3.8%, to $1.1 billion, primarily driven by $65.3 million of inorganic sales contribution from the acquisition of UW Solutions. This was partially offset by lower volume and price as a result of lower demand.
Gross margin decreased to 22.9%, compared to 28.1%, primarily due to lower price and volume, higher aluminum, restructuring and health insurance costs, partially offset by lower incentive compensation expenses.
SG&A expenses as a percent of net sales increased to 17.3%, compared to 17.1%. The increase was primarily due to increased restructuring charges related to Project Fortify Phase 2, increased amortization expense associated with the UW Solutions transaction and incremental stock-based compensation expense related to CEO transition costs, partially offset by lower transaction-related costs and lower incentive compensation expense.
Operating income declined to $58.7 million from $112.0 million, and operating margin decreased 540 basis points to 5.6%.
Adjusted EBITDA decreased to $124.9 million compared to $151.5 million and adjusted EBITDA margin decreased to 11.9% compared to 14.9%. The decrease in adjusted EBITDA margin was primarily driven by lower price and volume, higher material and health insurance costs, partially offset by lower incentive compensation expense and cost savings as a result of Project Fortify Phase 2.
Interest expense, net increased to $11.1 million, primarily due to a higher average debt balance resulting from the acquisition of UW Solutions.
Other income was $6.9 million compared to $0.5 million. The change was driven by a $6.7 million gain from New Markets Tax Credits.
Income tax expense as a percentage of earnings before income tax was 31.1%, compared to 24.8% for the same period last year. The increase in the effective tax rate was primarily due to increases in tax expense for discrete items.
Net earnings were $37.5 million compared to $82.6 million.

Segment Analysis
We have four operating segments which are also reportable segments. Each of our four segments have distinct economic characteristics, including products and services provided, production processes and varying ranges in performance and results.
We evaluate the performance of our segments based on segment net sales and adjusted EBITDA. Our CEO is our CODM. The CODM uses these measurements to assess segment performance and make decisions about the allocation of operating and capital resources by analyzing recent results, trends, and variances of each segment in relation to forecasts and historical performance.
The segment measurements provided to, and evaluated by, the CODM are described in Note 12 of our unaudited condensed consolidated financial statements.
The following table presents net sales, adjusted EBITDA and adjusted EBITDA margin by segment and the consolidated total.
27

Three Months Ended
Nine Months Ended
(In thousands, except percentages)November 29, 2025November 30, 2024% ChangeNovember 29, 2025November 30, 2024% Change
Segment net sales
Architectural Metals$124,433$138,039(9.9)%$393,991$412,561(4.5)%
Architectural Services105,166104,9210.2%312,161301,9663.4%
Architectural Glass70,85270,2360.9%216,306247,040(12.4)%
Performance Surfaces52,98033,19659.6%143,62074,23293.5%
Total segment sales353,431346,3922.0%1,066,0781,035,7992.9%
Intersegment eliminations(4,868)(5,048)(3.6)%(12,699)(20,499)(38.1)%
Net sales$348,563$341,3442.1%$1,053,379$1,015,3003.8%
Segment adjusted EBITDA
Architectural Metals$16,750$17,483(4.2)%$46,946$63,551(26.1)%
Architectural Services10,1989,9942.0%21,27923,911(11.0)%
Architectural Glass11,53413,180(12.5)%36,59857,551(36.4)%
Performance Surfaces11,9217,82852.3%31,10018,05372.3%
Corporate and Other(4,272)(2,682)59.3%(11,040)(11,519)(4.2)%
Adjusted EBITDA$46,131$45,8030.7%$124,883$151,547(17.6)%
Segment adjusted EBITDA margins
Architectural Metals13.5 %12.7 %11.9 %15.4 %
Architectural Services9.7 %9.5 %6.8 %7.9 %
Architectural Glass16.3 %18.8 %16.9 %23.3 %
Performance Surfaces22.5 %23.6 %21.7 %24.3 %
Corporate and OtherN/MN/MN/MN/M
Adjusted EBITDA margin13.2 %13.4 %11.9 %14.9 %
N/M Indicates calculation not meaningful.
The following table summarizes the impact that different items had on our net sales for the third quarter fiscal 2026. All net sales for the third quarter of fiscal 2025 were organic.
Three Months Ended November 29, 2025
(In thousands, except percentages)
Architectural Metals
Architectural Services
Architectural Glass
Performance Surfaces
Intersegment Eliminations
Consolidated
Fiscal 2025 net sales
$138,039 $104,921 $70,236 $33,196 $(5,048)$341,344 
Organic business (1)
(13,606)245 616 1,417 180 (11,148)
Acquisition (2)
— — — 18,367 — 18,367 
Fiscal 2026 net sales
$124,433 $105,166 $70,852 $52,980 $(4,868)$348,563 
Total net sales growth (decline)
(9.9)%0.2 %0.9 %59.6 %(3.6)%2.1 %
Organic business (1)
(9.9)%0.2 %0.9 %4.3 %(3.6)%(3.3)%
Acquisition (2)
— %— %— %55.3 %— %5.4 %
Nine Months Ended November 29, 2025
(In thousands, except percentages)
Architectural Metals
Architectural Services
Architectural Glass
Performance Surfaces
Intersegment Eliminations
Consolidated
Fiscal 2025 net sales
$412,561 $301,966 $247,040 $74,232 $(20,499)$1,015,300 
Organic business (1)
(18,570)10,195 (30,734)4,117 7,800 (27,192)
Acquisition (2)
— — — 65,271 — 65,271 
Fiscal 2026 net sales
$393,991 $312,161 $216,306 $143,620 $(12,699)$1,053,379 
Total net sales growth (decline)
(4.5)%3.4 %(12.4)%93.5 %(38.1)%3.8 %
Organic business (1)
(4.5)%3.4 %(12.4)%5.5 %(38.1)%(2.7)%
Acquisition (2)
— %— %— %87.9 %— %6.4 %
28

(1)
Organic business includes net sales associated with acquired product lines or businesses that occur after the first twelve months from the date the product line or business is acquired and net sales from internally developed product lines or businesses.
(2)
On November 4, 2024, we completed the acquisition of UW Solutions. For additional information, see Note 13 to the accompanying consolidated financial statements.

Architectural Metals
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Net sales were $124.4 million, compared to $138.0 million, primarily due to lower volume, partially offset by favorable price and product mix.
Adjusted EBITDA was $16.8 million, or 13.5% of net sales, compared to $17.5 million, or 12.7% of net sales. The higher adjusted EBITDA margin was primarily driven by favorable productivity including cost savings related to Project Fortify Phase 2, lower incentive compensation expense, and favorable price and product mix, partially offset by lower volume.
Comparison of First Nine Months of Fiscal 2026 to First Nine Months of Fiscal 2025
Net sales were $394.0 million, compared to $412.6 million, primarily reflecting lower volume, partially offset by increased price.
Adjusted EBITDA was $46.9 million, or 11.9% of net sales, compared to $63.6 million, or 15.4% of net sales. The decline in adjusted EBITDA margin was primarily driven by lower volume, higher aluminum costs and less favorable product mix, partially offset by cost savings from Project Fortify Phase 2 and lower incentive compensation costs.
Architectural Services
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Net sales were $105.2 million, compared to $104.9 million, primarily due to increased volume.
Adjusted EBITDA increased to $10.2 million, or 9.7% of net sales, compared to $10.0 million, or 9.5% of net sales. The increase in adjusted EBITDA margin was primarily driven by lower incentive compensation expense, partially offset by unfavorable project mix.
Comparison of First Nine Months of Fiscal 2026 to First Nine Months of Fiscal 2025
Net sales were $312.2 million, compared to $302.0 million, primarily due to increased volume, partially offset by unfavorable project mix.
Adjusted EBITDA decreased to $21.3 million, or 6.8% of net sales, compared to $23.9 million, or 7.9% of net sales. The decrease in adjusted EBITDA margin was primarily driven by the impact of higher tariff costs and unfavorable project mix, partially offset by lower incentive compensation costs.

Cumulative catch-up adjustments on our longer-term contracts for changes in estimates were as follows:
Three Months Ended
(in thousands)November 29, 2025November 30, 2024
Gross favorable adjustments
$10,763 $9,739 
Gross unfavorable adjustments
(6,787)(3,938)
Net adjustments
$3,976 $5,801 
Nine Months Ended
(in thousands)November 29, 2025November 30, 2024
Gross favorable adjustments
$25,510 $20,111 
Gross unfavorable adjustments
(20,735)(7,206)
Net adjustments
$4,775 $12,905 


29

Architectural Glass
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Net sales were $70.9 million, compared to $70.2 million, primarily due to increased volume and favorable mix, partially offset by lower price driven by lower end-market demand.
Adjusted EBITDA decreased to $11.5 million, or 16.3% of net sales, compared to $13.2 million, or 18.8% of net sales. The decrease in adjusted EBITDA margin was primarily driven by lower price and higher material costs, partially offset by higher volume, favorable mix, and lower short-term incentive compensation expense.
Comparison of First Nine Months of Fiscal 2026 to First Nine Months of Fiscal 2025
Net sales were $216.3 million compared to $247.0 million, primarily reflecting lower volume and price due to lower end-market demand.
Adjusted EBITDA decreased to $36.6 million, or 16.9% of net sales, compared to $57.6 million, or 23.3% of net sales. The decline in adjusted EBITDA margin was primarily driven by lower volume and price, partially offset by lower incentive compensation expense.
Performance Surfaces
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Net sales were $53.0 million, compared to $33.2 million, which included $18.4 million of inorganic sales contribution from the acquisition of UW Solutions and organic growth of 4.3%.
Adjusted EBITDA was $11.9 million, or 22.5% of net sales, compared to $7.8 million, or 23.6% of net sales. The decrease in adjusted EBITDA margin was primarily driven by the dilutive impact of lower adjusted EBITDA margin from UW Solutions and unfavorable productivity, partially offset by favorable product mix and price.
Comparison of First Nine Months of Fiscal 2026 to First Nine Months of Fiscal 2025
Net sales were $143.6 million, compared to $74.2 million, which included $65.3 million of inorganic sales contribution from the acquisition of UW Solutions and organic growth of 5.5%.
Adjusted EBITDA was $31.1 million, or 21.7% of net sales, compared to $18.1 million, or 24.3% of net sales. The decrease in adjusted EBITDA margin was primarily driven by the dilutive effect of lower adjusted EBITDA margin from the UW Solutions acquisition, partially offset by favorable pricing.
Corporate and Other
Comparison of Third Quarter Fiscal 2026 to Third Quarter Fiscal 2025
Corporate and Other adjusted EBITDA expense was $4.3 million, compared to $2.7 million, primarily driven by higher health insurance costs.
Comparison of First Nine Months of Fiscal 2026 to First Nine Months of Fiscal 2025
Corporate and Other adjusted EBITDA expense was $11.0 million, compared to $11.5 million primarily due to lower incentive compensation expense, partially offset by higher health insurance costs.
Backlog
Backlog represents the dollar amount of signed contracts or firm orders, generally as a result of a competitive bidding process, which may be expected to be recognized as revenue in the future. Backlog is most meaningful for the Architectural Services Segment due to the longer-term nature of their projects. Backlog is not a term defined under U.S. GAAP and is not a measure of contract profitability. We view backlog as one indicator of future revenues, particularly in our longer-lead time businesses. In addition to backlog, we have a substantial amount of projects with short lead times that book-and-bill within the same reporting period and are not included in backlog.
As of November 29, 2025, segment backlog in the Architectural Services segment was approximately $774.7 million, compared to approximately $742.2 million at the end of the third quarter of fiscal 2025.

30

Reconciliation of Non-GAAP Financial Measures
Adjusted net earnings, adjusted diluted earnings per share (adjusted diluted EPS), adjusted EBITDA, and adjusted EBITDA margin are supplemental non-GAAP financial measures provided by the Company to assess performance on a more comparable basis from period-to-period by excluding amounts that management does not consider part of core operating results. Management uses these non-GAAP measures as noted below:
We use adjusted net earnings, and adjusted diluted EPS to provide meaningful supplemental information about our operating performance by excluding amounts that we do not consider to be part of core operating results to enhance comparability of results from period to period.
Adjusted EBITDA represents adjusted net earnings before interest, taxes, depreciation, and amortization, and adjusted EBITDA margin is adjusted EBITDA as a percentage of net sales. We use adjusted EBITDA and adjusted EBITDA margin to assess segment performance and make decisions about the allocation of operating and capital resources by analyzing recent results, trends, and variances of each segment in relation to forecasts and historical performance.
These non-GAAP measures should be viewed in addition to, and not as an alternative to, the reported financial results of the Company prepared in accordance with U.S. GAAP. Other companies may calculate these measures differently, thereby limiting the usefulness of the measures for comparison with other companies.
Apogee Enterprises, Inc.
Reconciliation of Non-GAAP Financial Measures
Adjusted EBITDA and Adjusted EBITDA Margin
(Unaudited)
Three Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesCorporate and OtherConsolidated
Net earnings (loss) $12,264 $7,614 $8,248 $7,749 $(19,326)$16,549 
Interest expense (income), net430 (89)(174)— 3,060 3,227 
Income tax expense— — 81 — 7,480 7,561 
Depreciation and amortization3,662 809 3,379 3,913 753 12,516 
EBITDA16,356 8,334 11,534 11,662 (8,033)39,853 
Acquisition-related costs (1)
— — — 259 56 315 
Restructuring costs (2)
2,537 1,864 — — 679 5,080 
CEO transition costs (3)
— — — — 3,026 3,026 
NMTC settlement gain (4)
(2,143)— — — — (2,143)
Adjusted EBITDA$16,750 $10,198 $11,534 $11,921 $(4,272)$46,131 
EBITDA margin13.1 %7.9 %16.3 %22.0 %N/M11.4 %
Adjusted EBITDA margin13.5 %9.7 %16.3 %22.5 %N/M13.2 %
Three Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesCorporate and OtherConsolidated
Net earnings (loss)$12,146 $9,734 $10,115 $4,841 $(15,847)$20,989 
Interest expense (income), net563 (4)(121)— 606 1,044 
Income tax expense— — 117 — 6,539 6,656 
Depreciation and amortization3,932 981 3,069 2,461 691 11,134 
EBITDA16,641 10,711 13,180 7,302 (8,011)39,823 
Acquisition-related costs (1)
— — — 526 4,542 5,068 
Restructuring costs (2)
842 (717)— — 787 912 
Adjusted EBITDA$17,483 $9,994 $13,180 $7,828 $(2,682)$45,803 
EBITDA margin12.1 %10.2 %18.8 %22.0 %N/M11.7 %
Adjusted EBITDA margin12.7 %9.5 %18.8 %23.6 %N/M13.4 %
31

Nine Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesCorporate and OtherConsolidated
Net earnings (loss)$36,806 $2,855 $26,880 $18,126 $(47,156)$37,511 
Interest expense (income), net1,331 (227)(450)— 10,494 11,148 
Income tax (benefit) expense(43)(8)198 — 16,809 16,956 
Depreciation and amortization11,229 2,789 9,970 11,251 2,217 37,456 
EBITDA49,323 5,409 36,598 29,377 (17,636)103,071 
Acquisition-related costs (1)
— — — 1,723 249 1,972 
Restructuring costs (2)
4,363 15,870 — — 3,321 23,554 
CEO transition costs (3)
— — — — 3,026 3,026 
NMTC settlement gain (4)
(6,740)— — — — (6,740)
Adjusted EBITDA$46,946 $21,279 $36,598 $31,100 $(11,040)$124,883 
EBITDA margin12.5 %1.7 %16.9 %20.5 %N/M9.8 %
Adjusted EBITDA margin11.9 %6.8 %16.9 %21.7 %N/M11.9 %
Nine Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesCorporate and OtherConsolidated
Net earnings (loss)$46,509 $21,460 $49,342 $13,481 $(48,226)$82,566 
Interest expense (income), net1,671 23 (317)— 1,257 2,634 
Income tax expense (benefit)— (632)— 27,893 27,268 
Depreciation and amortization12,609 2,887 9,158 4,046 2,098 30,798 
EBITDA60,796 24,370 57,551 17,527 (16,978)143,266 
Acquisition-related costs (1)
— — — 526 4,542 5,068 
Restructuring costs (2)
2,755 (459)— — 917 3,213 
Adjusted EBITDA$63,551 $23,911 $57,551 $18,053 $(11,519)$151,547 
EBITDA margin14.7 %8.1 %23.3 %23.6 %N/M14.1 %
Adjusted EBITDA margin15.4 %7.9 %23.3 %24.3 %N/M14.9 %
(1)
Costs related to the acquisition of UW Solutions.
(2)
Restructuring costs related to Project Fortify. Costs incurred in fiscal 2025 were associated with Phase 1 and costs incurred in fiscal 2026 are associated with Phase 2.
(3)
Transition costs related to departure of the Chief Executive Officer during the third quarter of fiscal 2026.
(4)
Gain related to the settlement of a New Markets Tax Credit transactions.
Reconciliation of Non-GAAP Financial Measures
Adjusted Net Earnings and Adjusted Diluted Earnings Per Share
(Unaudited)
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net earnings$16,549 $20,989 $37,511 $82,566 
Acquisition-related costs (1)
315 5,873 1,972 5,873 
Restructuring costs (2)
5,080 912 23,554 3,213 
CEO transition costs (3)
3,026 — 3,026 — 
NMTC settlement gain (4)
(2,143)— (6,740)— 
Income tax impact on above adjustments (5)
(797)(1,662)(4,342)(2,226)
Adjusted net earnings$22,030 $26,112 $54,981 $89,426 
32

Three Months EndedNine Months Ended
November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Diluted earnings per share$0.77 $0.96 $1.74 $3.76 
Acquisition-related costs (1)
0.01 0.27 0.09 0.27 
Restructuring costs (2)
0.24 0.04 1.09 0.15 
CEO transition costs (3)
0.14 — 0.14 — 
NMTC settlement gain (4)
(0.10)— (0.31)— 
Income tax impact on above adjustments (5)
(0.04)(0.08)(0.20)(0.10)
Adjusted diluted earnings per share$1.02 $1.19 $2.55 $4.08 
Weighted average diluted shares outstanding21,592 21,917 21,568 21,937 
(1)
Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.
(2)
Restructuring costs related to Project Fortify. Costs incurred in fiscal 2025 were associated with Phase 1 and costs incurred in fiscal 2026 are associated with Phase 2.
(3)
Transition costs related to departure of the Chief Executive Officer during the third quarter of fiscal 2026.
(4)
Gain related to the settlement of a New Markets Tax Credit transactions.
(5)
Income tax impact reflects the estimated blended statutory tax rate for the jurisdictions in which the charge or income occurred.

Liquidity and Capital Resources
We rely on cash provided by operations for our material cash requirements, including working capital needs, capital expenditures, satisfaction of contractual commitments (including principal and interest payments on our outstanding indebtedness) and shareholder return through dividend payments and share repurchases.
Operating Activities. Net cash provided by operating activities was $66.6 million for the first nine months of fiscal 2026, compared to $95.1 million in the prior year period. The decrease in net cash provided by operating activities was primarily driven by lower net earnings and increased cash used for working capital, which included a net payment of $13.7 million for the settlement of an arbitration award during our first fiscal quarter. This was partially offset by lower taxes paid as a result of the One Big Beautiful Bill Act tax legislation.
Investing Activities. Net cash used in investing activities was $15.8 million for the first nine months of fiscal 2026, compared to $257.1 million in the prior-year period. The net cash used in investing activities was primarily related to capital expenditures in the current year period while the prior year period included a net use of cash for the acquisition of UW Solutions of $233.1 million.
Financing Activities. Net cash used in financing activities was $51.9 million for the first nine months of fiscal 2026, compared to $169.0 million of cash provided by financing activities in the prior year period. The prior year period included $250.0 million in proceeds from financing for the acquisition of UW Solutions. The prior year period also included $15.1 million for repurchases of common stock.
Additional Liquidity Considerations. We periodically evaluate our liquidity requirements, cash needs and availability of debt resources relative to acquisition plans, significant capital plans, and other working capital needs.
On July 19, 2024, we entered into a Credit Agreement (the Credit Agreement) with Bank of America, N.A., as administrative agent, and other lenders. The Credit Agreement provides for an unsecured senior credit facility in an aggregate principal amount of up to $700.0 million, in which commitments were made through a $450.0 million, five-year revolving credit facility and a committed $250.0 million delayed draw term loan facility. Borrowings under the revolving credit facility can be in Canadian dollars (CAD) limited to $25.0 million USD. The term loan facility may be utilized in up to two drawdowns, which are available to be made within one year after the closing date. The senior credit facility has a term of five years with a maturity date of July 19, 2029.
The Credit Agreement replaced the previous revolving credit facility with Wells Fargo Bank, N.A., as administrative agent, and other lenders, with maximum borrowings up to $385.0 million, and the two Canadian credit facilities with Bank of Montreal totaling $25.0 million USD.
As a result of the execution of the Credit Agreement, in the second quarter of fiscal 2025, we recognized a loss on extinguishment of debt within interest expense of $0.5 million for the write-off of unamortized financing fees related to the previous revolving credit facility. Additionally, we capitalized $3.0 million of lender fees and $0.8 million of third-party fees
33

incurred in connection with the Credit Agreement, which were recorded as other non-current assets and are being amortized over the term of the credit facility as interest expense.
The Credit Agreement contains two maintenance financial covenants that require our Consolidated Leverage Ratio (as defined in the Credit Agreement) to be less than 3.50 and our Consolidated Interest Coverage Ratio (as defined in the Credit Agreement) to exceed 3.00. At November 29, 2025, we were in compliance with all covenants as defined under the terms of the Credit Agreement.
The Credit Agreement also contains an acquisition “holiday”. In the event we make an acquisition for which the purchase price is greater than $75 million, we can elect to increase the maximum Consolidated Leverage Ratio (as defined in the Credit Agreement) to 4.00 for a period of four consecutive fiscal quarters, commencing with the fiscal quarter in which a qualifying acquisition occurs. No more than two acquisition holidays can occur during the term of the Credit Agreement, and at least two fiscal quarters must separate qualifying acquisitions.
Borrowings under the Credit Agreement bear floating interest at either the Base Rate or Term Secured Overnight Financing Rate (SOFR), or for CAD borrowings, Canadian Overnight Repo Rate Average (CORRA) plus, in each a margin based on the Consolidated Leverage Ratio (as defined in the Credit Agreement). For Base Rate borrowings, the margin ranges from 0.25% to 0.75%. For Term SOFR and CORRA borrowings, the margin ranges from 1.25% to 1.75%, with an incremental Term SOFR and CORRA adjustment of 0.10% and 0.29547% respectively.
The Credit Agreement also contains an “accordion” provision. Under this provision, we can request that the senior credit facility be increased by unlimited additional amounts. Any lender may elect or decline to participate in the requested increase at their sole discretion.
On November 4, 2024, as part of the acquisition of UW Solutions, and for working capital and general corporate purposes, we executed a drawdown against the delayed draw term loan facility for $250.0 million. Outstanding borrowings under the term loan facility were $215.0 million as of November 29, 2025. Outstanding borrowings under the revolving credit facility were $40.0 million as of November 29, 2025.
At November 29, 2025, we had a total of $2.6 million of ongoing letters of credit related to the senior credit facility, construction contracts and insurance collateral that expire in fiscal 2027 and reduce borrowing capacity under the revolving credit facility. As of November 29, 2025, the amount available for revolving borrowings was $407.4 million.
We acquire the use of certain assets through operating leases, such as property, manufacturing equipment, vehicles and other equipment. Future payments for such leases, excluding leases with initial terms of one year or less, were $63.2 million at November 29, 2025, with $3.9 million payable during the remainder of fiscal 2026.
As of November 29, 2025, we had $16.4 million of open purchase obligations, of which payments totaling $2.7 million are expected to become due during the remainder of fiscal 2026. These purchase obligations primarily relate to raw material commitments and capital expenditures and are not expected to impact future liquidity, as amounts should be recovered through customer billings.
We expect to make contributions of $0.4 million to our defined-benefit pension plans in fiscal 2026, which will equal or exceed our minimum funding requirements.
As of November 29, 2025, we had reserves of $5.9 million for unrecognized tax benefits. We are unable to reasonably estimate in which future periods the remaining unrecognized tax benefits will ultimately be settled.
We are required, in the ordinary course of business, to provide surety or performance bonds that commit payments to our customers for any non-performance. At November 29, 2025, $1.2 billion of these types of bonds were outstanding, of which $253.0 million is in our backlog. These bonds have expiration dates that align with completion of the purchase order or contract. We have not been required to make any payments under these bonds with respect to our existing businesses.
Due to our ability to generate strong cash from operations and our borrowing capability under our committed revolving credit facility, we believe that our sources of liquidity will be adequate to meet our short-term and long-term liquidity and capital expenditure needs. In addition, we believe we have the ability to obtain both short-term and long-term debt to meet our financing needs, including additional sources of debt to finance potential acquisitions, for the foreseeable future. We also believe we will be able to operate our business so as to continue to be in compliance with our existing debt covenants over the next fiscal year.
We continually review our portfolio of businesses and their assets and how they support our business strategy and performance objectives. As part of this review, we may acquire other businesses, pursue geographic expansion, take actions to manage capacity and further invest in, divest and/or sell parts of our current businesses.

34

Related Party Transactions
No material changes have occurred in the disclosure with respect to our related party transactions set forth in our Annual Report on Form 10-K for the fiscal year ended March 1, 2025.

Critical Accounting Policies
There have been no material changes to our critical accounting policies from those disclosed in our Annual Report on Form 10-K for the fiscal year ended March 1, 2025.

Item 3.Quantitative and Qualitative Disclosures About Market Risk
Refer to the Company’s Annual Report on Form 10-K for the fiscal year ended March 1, 2025, for a discussion of the Company’s market risk. There have been no material changes in market risk since March 1, 2025.

Item 4.Controls and Procedures
a)Evaluation of disclosure controls and procedures: As of the end of the period covered by this report (the Evaluation Date), we carried out an evaluation, under the supervision and with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) or 15d-15(e) of the Securities Exchange Act of 1934, as amended (the Exchange Act)). Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the Evaluation Date, our disclosure controls and procedures were effective to ensure 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 in applicable rules and forms, and (ii) accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosure.
b)Changes in internal controls: There was no change in the Company’s internal control over financial reporting that occurred during the fiscal quarter ended November 29, 2025, that has materially affected, or is reasonably likely to materially affect, the Company’s internal control over financial reporting.
35

PART II. OTHER INFORMATION

Item 1.Legal Proceedings
The Company is a party to various legal proceedings incidental to its normal operating activities. In particular, like others in the construction supply and services industry, the Company is routinely involved in various disputes and claims arising out of construction projects, sometimes involving significant monetary damages or product replacement. We have in the past and are currently subject to product liability and warranty claims, including certain legal claims related to a commercial sealant product formerly incorporated into our products.
The Company is also subject to litigation arising out of areas such as employment practices, workers compensation and general liability matters. Although it is very difficult to accurately predict the outcome of any such proceedings, facts currently available indicate that no matters will result in losses that would have a material adverse effect on the results of operations, cash flows or financial condition of the Company.

Item 1A.Risk Factors
There have been no material changes or additions to our risk factors discussed in our Annual Report on Form 10-K for the fiscal year ended March 1, 2025.

Item 2.Unregistered Sales of Equity Securities and Use of Proceeds
The following table provides information with respect to purchases made by the Company of its own stock during the third quarter of fiscal 2026:
PeriodTotal Number of Shares Purchased (a)Average Price Paid per ShareTotal Number of Shares Purchased as Part of Publicly Announced Plans or Programs (b)Maximum Number of Shares that May Yet Be Purchased under the Plans or Programs (b)
August 31, 2025 to September 27, 2025— $— — 2,186,793 
September 28, 2025 to October 25, 2025— — — 2,186,793 
October 26, 2025 to November 29, 2025— — — 2,186,793 
Total— $— — 2,186,793 
(a)We did not purchase any shares pursuant to our publicly announced repurchase program during the fiscal quarter, nor were any shares surrendered to us by plan participants to satisfy withholding tax obligations related to share-based compensation during the quarter.
(b)In fiscal 2004, announced on April 10, 2003, the Board of Directors authorized the repurchase of 1,500,000 shares of Company stock. The Board increased the authorization by 750,000 shares, announced on January 24, 2008; by 1,000,000 shares on each of the announcement dates of October 8, 2008, January 13, 2016, January 9, 2018, January 14, 2020, October 7, 2021, and June 22, 2022; and by 2,000,000 shares, on each of the announcement dates of October 3, 2018, January 14, 2022 and October 6, 2023. The repurchase program does not have an expiration date.

Item 5.    Other Information
Insider Adoption or Termination of Trading Arrangements
During the three months ended November 29, 2025, none of our directors or officers (as defined in Rule 16a-1(f) of the Exchange Act) adopted or terminated any “Rule 10b5-1 trading arrangement” or any “non-Rule 10b5-1 trading arrangement”, as each term is defined in Item 408(c) of Regulation S-K.
36

Item 6. Exhibits
3.1
3.2
3.3
10.1
10.2
31.1#
31.2#
32.1#
32.2#
101#
The following materials from Apogee Enterprises, Inc.’s Quarterly Report on Form 10-Q for the quarter ended November 29, 2025, formatted in iXBRL (Inline Extensible Business Reporting Language): (i) the Consolidated Balance Sheets as of November 29, 2025 and March 1, 2025, (ii) the Consolidated Results of Operations for the three and nine months ended November 29, 2025 and November 30, 2024, (iii) the Consolidated Statements of Comprehensive Earnings for the three and nine months ended November 29, 2025 and November 30, 2024, (iv) the Consolidated Statements of Cash Flows for the nine-months ended November 29, 2025 and November 30, 2024, (v) the Consolidated Statements of Shareholders' Equity for the three and nine months ended November 29, 2025 and November 30, 2024, and (vi) Notes to Consolidated Financial Statements.
104#Cover Page Interactive Data File (formatted as iXBRL and contained in Exhibit 101)
Exhibits marked with a (#) sign are filed herewith.
37

SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
 APOGEE ENTERPRISES, INC.
Date: January 7, 2026 By: /s/ Donald A. Nolan
 
Donald A. Nolan
Executive Chair, President and Chief Executive Officer
(Principal Executive Officer)

Date: January 7, 2026 By: /s/ Mark R. Augdahl
 Mark R. Augdahl
Interim Chief Financial Officer
(Principal Financial and Accounting Officer)


38
EX-31.1 2 apog-ex311_20251129.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, Donald A. Nolan, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Apogee Enterprises, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
a)    designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b)    designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c)    evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d)    disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a)    all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b)    any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.


Date: Date: January 7, 2026
/s/ Donald A. Nolan
Donald A. Nolan
Executive Chair, President and Chief Executive Officer



EX-31.2 3 apog-ex312_20251129.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Mark R. Augdahl, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Apogee Enterprises, Inc.;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
a.designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
b.designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
c.evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
d.disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
a.all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and
b.any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.


Date: Date: January 7, 2026
 
/s/ Mark R. Augdahl
Mark R. Augdahl
Interim Chief Financial Officer

EX-32.1 4 apog-ex321_20251129.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 Apogee Enterprises, Inc. (the “Company”) on Form 10-Q for the period ended November 29, 2025 as filed with the Securities and Exchange Commission (the “Report”), I, Donald A. Nolan, Executive Chair, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that based on my knowledge:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
 /s/ Donald A. Nolan
Donald A. Nolan
Executive Chair, President and Chief Executive Officer
Date: January 7, 2026


EX-32.2 5 apog-ex322_20251129.htm EX-32.2 Document

Exhibit 32.2
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of Apogee Enterprises, Inc. (the “Company”) on Form 10-Q for the period ended November 29, 2025 as filed with the Securities and Exchange Commission (the “Report”), I, Mark R. Augdahl, Executive Vice President and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that based on my knowledge:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
/s/ Mark R. Augdahl
Mark R. Augdahl
Interim Chief Financial Officer
Date: January 7, 2026

EX-101.SCH 6 apog-20251129.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 9952151 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 9952153 - Statement - CONSOLIDATED RESULTS OF OPERATIONS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952155 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952157 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) link:presentationLink link:calculationLink link:definitionLink 9952158 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 9952159 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 9952160 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities link:presentationLink link:calculationLink link:definitionLink 9952161 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 9952162 - Disclosure - Financial Instruments link:presentationLink link:calculationLink link:definitionLink 9952163 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 9952164 - Disclosure - Commitments and Contingent Liabilities link:presentationLink link:calculationLink link:definitionLink 9952165 - Disclosure - Supplier Finance Program Obligations link:presentationLink link:calculationLink link:definitionLink 9952166 - Disclosure - Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 9952167 - Disclosure - Share-Based Compensation link:presentationLink link:calculationLink link:definitionLink 9952168 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 9952169 - Disclosure - Earnings per Share link:presentationLink link:calculationLink link:definitionLink 9952170 - Disclosure - Business Segment Data link:presentationLink link:calculationLink link:definitionLink 9952171 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 9952172 - Disclosure - Restructuring link:presentationLink link:calculationLink link:definitionLink 9955511 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9955512 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9955513 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 9955514 - Disclosure - Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 9955515 - Disclosure - Debt (Tables) link:presentationLink link:calculationLink link:definitionLink 9955516 - Disclosure - Commitments and Contingent Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9955517 - Disclosure - Supplier Finance Program Obligations (Tables) link:presentationLink link:calculationLink link:definitionLink 9955518 - Disclosure - Share-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9955519 - Disclosure - Earnings per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9955520 - Disclosure - Business Segment Data (Tables) link:presentationLink link:calculationLink link:definitionLink 9955521 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 9955522 - Disclosure - Restructuring (Tables) link:presentationLink link:calculationLink link:definitionLink 9955523 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9955524 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 9955525 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9955526 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9955527 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9955528 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9955528 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details) link:presentationLink link:calculationLink link:definitionLink 9955529 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details) link:presentationLink link:calculationLink link:definitionLink 9955530 - Disclosure - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9955531 - Disclosure - Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9955532 - Disclosure - Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details) link:presentationLink link:calculationLink link:definitionLink 9955533 - Disclosure - Financial Instruments - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955534 - Disclosure - Financial Instruments -Schedule of Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 9955535 - Disclosure - Debt - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955536 - Disclosure - Debt - Schedule of Interest Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9955537 - Disclosure - Commitments and Contingent Liabilities - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955538 - Disclosure - Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details) link:presentationLink link:calculationLink link:definitionLink 9955539 - Disclosure - Supplier Finance Program Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9955540 - Disclosure - Shareholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 9955541 - Disclosure - Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9955542 - Disclosure - Share-Based Compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955543 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9955544 - Disclosure - Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9955545 - Disclosure - Business Segment Data - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955546 - Disclosure - Business Segment Data - Schedule of Certain Segment Data (Details) link:presentationLink link:calculationLink link:definitionLink 9955547 - Disclosure - Business Segment Data - Schedule of Adjusted EBITDA (Details) link:presentationLink link:calculationLink link:definitionLink 9955548 - Disclosure - Acquisitions - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955549 - Disclosure - Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details) link:presentationLink link:calculationLink link:definitionLink 9955550 - Disclosure - Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955551 - Disclosure - Restructuring - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 9955552 - Disclosure - Restructuring - Schedule of Restructuring Costs (Details) link:presentationLink link:calculationLink link:definitionLink 9955553 - Disclosure - Restructuring - Schedule of Reserve (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 apog-20251129_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 apog-20251129_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 apog-20251129_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Common dividends (in dollars per share) Common Stock, Dividends, Per Share, Cash Paid Revision of Prior Period [Axis] Revision of Prior Period [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] Property, plant and equipment Business Combination, Recognized Asset Acquired, Property, Plant, and Equipment Award Timing Predetermined Award Timing Predetermined [Flag] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Entity File Number Entity File Number Additional Paid-In Capital Additional Paid-in Capital [Member] Interest rate swap contracts Interest Rate Swap [Member] Revenue recognized related to prior satisfaction of performance obligations Contract with Customer, Performance Obligation Satisfied in Previous Period Tabular List, Table Tabular List [Table Text Block] Issuance of stock, net of cancellations Shares Issued, Net Of Cancellations Shares Issued, Net Of Cancellations Companies backlog related to sales Companies Backlog Related to Sales Companies backlog related to sales. Adoption of new accounting standards and Accounting standards not yet adopted New Accounting Pronouncements, Policy [Policy Text Block] Minimum ratio of EBITDA-to-interest expense Debt Instrument, Covenant, EBITDA To Interest Expense Ratio, Minimum Debt Instrument, Covenant, EBITDA To Interest Expense Ratio, Minimum Accounts payable Increase (Decrease) in Accounts Payable Contract assets Contract with Customer, Asset, after Allowance for Credit Loss, Current Type of Restructuring [Domain] Type of Restructuring [Domain] Face value of performance bonds Guarantees, Fair Value Disclosure Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Basic earnings per share (in usd per share) Basic (in usd per share) Earnings Per Share, Basic Adjustment to Compensation: Adjustment to Compensation [Axis] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Debt, Fees Axis [Axis] Debt, Fees Axis [Axis] Debt, Fees Axis Revenue, Receivables and Contract Assets and Liabilities Revenue from Contract with Customer [Text Block] Segment Adjusted EBITDA Earnings Before Interest And Tax, Adjusted Earnings Before Interest And Tax, Adjusted Schedule of Stock by Class [Table] Stock, Class of Stock [Table] Other comprehensive income (loss), net of tax Other Comprehensive Income (Loss), Net of Tax Beginning balance Ending balance Extended Product Warranty Accrual Schedule of Segment Reporting Information Schedule of Segment Reporting Information, by Segment [Table Text Block] Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Revenue to be recognized Revenue, Remaining Performance Obligation, Amount Schedule of Available-for-Sale Marketable Securities Schedule of Available-for-Sale Securities Reconciliation [Table Text Block] Adjustment to Compensation, Amount Adjustment to Compensation Amount Share-based compensation Share-based compensation expense Share-Based Payment Arrangement, Noncash Expense Employee Stock Option Share-Based Payment Arrangement, Option [Member] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Accounts and Financing Receivables [Table] Cash/Declared dividends Dividends, Common Stock, Cash Total shareholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Debt Securities, Available-for-Sale [Table] Debt Securities, Available-for-Sale [Table] Insider Trading Policies and Procedures [Line Items] Common stock, authorized (in shares) Common Stock, Shares Authorized Hedging Designation [Domain] Hedging Designation [Domain] Operating lease right-of-use assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right-of-Use Assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right-of-Use Assets Current assets Assets, Current [Abstract] Total liabilities and shareholders’ equity Liabilities and Equity Acquisition Holiday Condition Acquisition Holiday Condition [Member] Acquisition Holiday Condition Earnings per share: Earnings Per Share, Basic and Diluted EPS [Abstract] Earnings Per Share, Basic and Diluted EPS Liabilities and Shareholders’ Equity Liabilities and Equity [Abstract] Cover [Abstract] Cover [Abstract] Maximum Maximum [Member] Accounting Policies [Abstract] Remaining shares authorized to be repurchased (in shares) Share Repurchase Program, Remaining Authorized, Number of Shares Revenue Recognition and Deferred Revenue [Abstract] Restricted stock awards and restricted stock units Restricted Stock Restricted Stock [Member] Number of lines of credit Number Of Lines Of Credit Number Of Lines Of Credit Repayment of term loans Repayments of Secured Debt Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Total fair value of shares vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Pay vs Performance Disclosure [Line Items] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Acquisitions Business Combination [Text Block] Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Earnings before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Entity Shell Company Entity Shell Company Other share retirements (in shares) Stock Redeemed or Called During Period, Shares Other non-current liabilities Other Liabilities, Noncurrent Proceeds from sales of property, plant and equipment Proceeds from Sale of Property, Plant, and Equipment Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Operating Segments Operating Segments [Member] Accrued compensation and benefits Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Compensation and Benefits Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Compensation and Benefits Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Company Selected Measure Amount Company Selected Measure Amount Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Line of Credit Facility [Table] Line of Credit Facility [Table] Total comprehensive earnings Comprehensive Income (Loss), Net of Tax, Attributable to Parent Name Measure Name Beginning balance Ending Balance Restructuring Reserve Due within one year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Operating lease liabilities Operating Lease, Liability, Current Inventory step-up expense Business Combination, Non-Recurring Charges, Inventory Step-Up Expense Business Combination, Non-Recurring Charges, Inventory Step-Up Expense Class of Stock [Line Items] Class of Stock [Line Items] Architectural Metals Architectural Metals Segment [Member] Architectural Metals Segment Document Fiscal Period Focus Document Fiscal Period Focus Derivatives, Fair Value [Line Items] Derivatives, Fair Value [Line Items] Award Timing Method Award Timing Method [Text Block] Award Type [Axis] Award Type [Axis] Revision of Prior Period, Adjustment Revision of Prior Period, Adjustment [Member] Schedule of Supplemental Unaudited Pro Forma Information Business Combination, Pro Forma Information [Table Text Block] Total assets Assets Number of quarters separating acquisition holidays Number of Quarters Separating Acquisition Holidays Number of Quarters Separating Acquisition Holidays Recognized over time (input method) Transferred over Time - Input Method [Member] Transferred over Time - Input Method Trading Symbol Trading Symbol Issuance of stock, net of cancellations (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Address, City or Town Entity Address, City or Town Operating Activities Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract] Receivable Type [Axis] Receivable Type [Axis] Effect of exchange rates on cash Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation Inventories Inventory Disclosure [Text Block] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Income Statement Location [Domain] Statement of Income Location, Balance [Domain] Unsecured Senior Credit Facility Unsecured Senior Credit Facility [Member] Unsecured Senior Credit Facility Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Consideration transferred Business Combination, Consideration Transferred Segment restructuring costs Total restructuring charges Restructuring Costs Entity Emerging Growth Company Entity Emerging Growth Company Common dividends (in dollars per share) Common Stock, Dividends, Per Share, Declared Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjusted SG&A Selling, General and Administrative Expense, Adjusted Selling, General and Administrative Expense, Adjusted Debt Securities, Available-for-sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member] Other Observable Inputs (Level 2) Fair Value, Inputs, Level 2 [Member] Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Business Combination [Domain] Business Combination [Domain] Common stock, outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Credits against costs and expenses Accounts Receivable, Credit Loss Expense (Reversal) Financial Instruments Marketable Securities [Table Text Block] PEO PEO [Member] Proceeds from term loans Proceeds from Issuance of Secured Debt Schedule of Disaggregates Total Revenue by Timing of Recognition Disaggregation of Revenue [Table Text Block] Termination benefits Employee Severance [Member] Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity Investments Classified by Contractual Maturity Date [Table Text Block] Target number of performance shares Target Number of Performance Shares Target Number of Performance Shares Non-cash Activity Noncash Investing and Financing Items [Abstract] Corporate and Other Corporate Segment and Other Operating Segment [Member] Changes in operating assets and liabilities, net of business acquired: Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract] Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member] Schedule of Guarantees and warranties Schedule of Product Warranty Liability [Table Text Block] Retained Earnings Retained Earnings [Member] Entity Address, Postal Zip Code Entity Address, Postal Zip Code Restatement Determination Date Restatement Determination Date Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Cash, cash equivalents and restricted cash at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation Income Statement [Abstract] Income Statement [Abstract] Derivative asset Derivative Asset Income tax expense Income tax expense Income Tax Expense (Benefit) Basis spread Debt Instrument, Basis Spread on Variable Rate Purchases of marketable securities Payments to Acquire Marketable Securities Unrealized (loss) gain on derivative instruments, tax expenses (benefit) Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification, Tax Junior preferred stock issued (in shares) Preferred Stock, Shares Issued Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Pension Adjustments Service Cost Pension Adjustments Service Cost [Member] Designated as Hedging Instrument Designated as Hedging Instrument [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Unrealized (loss) gain on derivative instruments, net of $(73), $(21), $(249), and $86 of tax (benefit) expense, respectively Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Business Combination [Table] Business Combination [Table] Notional value Derivative, Notional Amount Municipal and Corporate Bonds Municipal and Corporate Bonds [Member] Municipal and Corporate Bonds [Member] Restructuring Restructuring and Related Activities Disclosure [Text Block] Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed Business Combination, Recognized Asset Acquired and Liability Assumed [Table Text Block] Non-cash lease expense Operating Lease, Right-of-Use Asset, Periodic Reduction Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Schedule of Impact of Adjustments on Operating Income Schedule of Error Corrections and Prior Period Adjustments [Table Text Block] City Area Code City Area Code Acquisition of business, net of cash acquired Cash consideration Payments to Acquire Businesses, Net of Cash Acquired Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] All Trading Arrangements All Trading Arrangements [Member] Equity Awards Adjustments, Footnote Equity Awards Adjustments, Footnote [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Capitalized fees Interest Costs Capitalized Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Schedule of Other Contract-Related Disclosures Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Investing Activities Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract] Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Net cash provided by operating activities Cash Provided by (Used in) Operating Activity, Including Discontinued Operation Maximum number of acquisition holidays Maximum Number of Acquisition Holidays Maximum Number of Acquisition Holidays Debt instrument term Debt Instrument, Term Gross Unrealized Losses Debt Securities, Available-for-Sale and Held-to-Maturity, Cumulative Unrecognized Loss Junior preferred stock par value (in usd per share) Preferred Stock, Par or Stated Value Per Share Other current assets Business Combination, Recognized Asset Acquired, Other Asset, Current Selling, general and administrative expenses Selling, General and Administrative Expenses [Member] Cost of Sales Cost of Sales [Member] Goodwill Goodwill Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] PEO Total Compensation Amount PEO Total Compensation Amount Depreciation and amortization Depreciation Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Schedule Of Interest Expense Schedule Of Interest Expense [Table Text Block] Schedule Of Interest Expense Settlement of New Markets Tax Credit transaction NMTC benefit Settlement of New Markets Tax Credit Transaction Settlement of New Markets Tax Credit Transaction Assets: Business Combination, Recognized Asset Acquired, Asset [Abstract] NMTC transaction settled, tax benefit New Markets Tax Credit, Tax Benefit New Markets Tax Credit, Tax Benefit Equity Components [Axis] Equity Components [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Trade accounts Trade Accounts Receivable [Member] Number of reportable segments Number of Reportable Segments Inventories, net Business Combination, Recognized Asset Acquired, Inventory, Current Adjusted EBITDA Earnings Before Interest Tax Depreciation And Amortization, Adjusted Earnings Before Interest Tax Depreciation And Amortization, Adjusted Receivables, net Business Combination, Recognized Asset Acquired, Receivable, Current Total Debt Securities, Available-for-Sale, Amortized Cost Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Other Performance Measure, Amount Other Performance Measure, Amount Payments of debt issuance costs Payments of Debt Issuance Costs Entity Address, State or Province Entity Address, State or Province Gross Unrealized Gains Debt Securities, Available-for-Sale and Held-to-Maturity, Cumulative Unrecognized Gain Revolving Credit Facility - CAD Revolving Credit Facility - CAD [Member] Revolving Credit Facility - CAD Total current liabilities Liabilities, Current Cancellations of stock, net of issuance (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited Derivative Instrument [Axis] Derivative Instrument [Axis] Individual: Individual [Axis] Term SOFR and CORRA Term SOFR and CORRA [Member] Term SOFR and CORRA Dividends paid Dividends paid Payments of Ordinary Dividends, Common Stock Other current assets Other Assets, Current Other restructuring charges Other Restructuring [Member] Net cash used in investing activities Cash Provided by (Used in) Investing Activity, Including Discontinued Operation Lender Fees Lender Fees [Member] Lender Fees Expected timing of satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member] Document Fiscal Year Focus Document Fiscal Year Focus Basis of presentation Basis of Accounting, Policy [Policy Text Block] Lender Name [Axis] Lender Name [Axis] Operating lease right-of-use assets Operating Lease, Right-of-Use Asset Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Entity Interactive Data Current Entity Interactive Data Current Maximum debt-to-EBITDA ratio Debt Instrument, Covenant, Net Debt To EBITDA Ratio, Maximum Debt Instrument, Covenant, Net Debt To EBITDA Ratio, Maximum Segment acquisition-related costs Pre-tax acquisition-related expenses Business Combination, Acquisition-Related Cost, Expense Weighted average period Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Equity [Abstract] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax Purchase obligations Purchase Obligation Business Segment Data Segment Reporting Disclosure [Text Block] UW Interco, LLC UW Interco, LLC [Member] UW Interco, LLC Guarantees and warranties Movement in Extended Product Warranty Accrual [Roll Forward] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Other non-current liabilities Business Combination, Recognized Liability Assumed, Other Liability, Noncurrent Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Other share retirements Stock Redeemed or Called During Period, Value Selling, general and administrative expenses Selling, General and Administrative Expense Depreciation and amortization Depreciation, Depletion and Amortization Construction contracts Accounts Receivable, Construction Contracts [Member] Accounts Receivable, Construction Contracts [Member] Other non-current assets Other Assets, Noncurrent Entity Central Index Key Entity Central Index Key PEO Name PEO Name Adjusted depreciation and amortization Depreciation, Depletion and Amortization, Adjusted Depreciation, Depletion and Amortization, Adjusted Corporate and Other Expenses Corporate and Other Expenses Corporate and Other Expenses Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member] Amortization of acquired backlog Business Combination, Non-Recurring Charges, Amortization of Acquired Backlog Business Combination, Non-Recurring Charges, Amortization of Acquired Backlog Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Revolving credit facility Revolving Credit Facility [Member] Arrangement Duration Trading Arrangement Duration Net income (loss) Business Combination, Acquiree's Earnings (Loss) since Acquisition Date, Actual Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Obligations added to the program Supplier Finance Program, Obligation, Addition Transaction costs Business Combination, Separately Recognized Transaction, Acquisition-Related Cost, Expensed Contract liabilities Contract with Customer, Liability, Current Statement Business Segments [Axis] Segments [Axis] Work-in-process Inventory, Work in Process, Net of Reserves Exercise Price Award Exercise Price Entity Filer Category Entity Filer Category Local Phone Number Local Phone Number Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Total unrecognized compensation cost related to nonvested share Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Share-Based Compensation Share-Based Payment Arrangement [Text Block] Share repurchases (in shares) Stock Repurchased and Retired During Period, Shares Cash and cash equivalents Business Combination, Recognized Asset Acquired, Cash and Cash Equivalent Expected restructuring cost Restructuring and Related Cost, Expected Cost Assets Assets [Abstract] Long-term debt Long-Term Debt, Excluding Current Maturities Credit Facility [Axis] Credit Facility [Axis] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Schedule of Obligation Activity and Outstanding Balances Supplier Finance Program [Table Text Block] Debt Instrument [Axis] Debt Instrument [Axis] Business Combination [Line Items] Business Combination [Line Items] Loss on extinguishment of debt Gain (Loss) on Extinguishment of Debt Credit Facility [Domain] Credit Facility [Domain] Shareholders’ equity Equity, Attributable to Parent [Abstract] Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member] Entity Address, Address Line One Entity Address, Address Line One Share repurchases, value Treasury Stock, Value, Acquired, Cost Method Accumulated Other Comprehensive (Loss) Income AOCI Attributable to Parent [Member] Non-current operating lease liabilities Operating Lease, Liability, Noncurrent Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract] Number of NMTC transaction settled New Markets Tax Credit Settled New Markets Tax Credit Settled Number of drawdowns Number Of Drawdowns Number Of Drawdowns Deductions from allowance, net of recoveries Accounts Receivable, Allowance for Credit Loss, Writeoff, after Recovery Accounts Receivable, Allowance for Credit Loss, Writeoff, after Recovery Fair Value as of Grant Date Award Grant Date Fair Value Receivables, net Accounts Receivable, after Allowance for Credit Loss Entity Registrant Name Entity Registrant Name Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Architectural Framing Systems Architectural Framing Segment [Member] Architectural Framing Segment [Member] Other interest expense Interest Expense, Other Weighted average effect of nonvested share grants and assumed exercise of stock options (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Number of Awards (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Adjusted other expense, net Other Nonoperating Income (Expense), Adjusted Other Nonoperating Income (Expense), Adjusted Claims paid Extended Product Warranty Accrual, Decrease for Payments Document Quarterly Report Document Quarterly Report Revision of Prior Period [Domain] Revision of Prior Period [Domain] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Number of operating segments Number of Operating Segments Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table] Debt Covenant [Axis] Debt Covenant [Axis] Debt Covenant Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Weighted Average Grant Date Fair Value (in usd 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 Title Trading Arrangement, Individual Title Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Repayment on revolving credit facilities Repayments of Long-Term Lines of Credit Restatement Determination Date: Restatement Determination Date [Axis] Non-PEO NEO Non-PEO NEO [Member] Letters of credit outstanding, amount Letters of Credit Outstanding, Amount Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block] Schedule of Restructuring Restructuring and Related Costs [Table Text Block] Other, net Proceeds from (Payment for) Other Financing Activity Interest income Interest Income, Other Interest on debt Interest Expense, Debt Liabilities: Business Combination, Recognized Liability Assumed, Liability [Abstract] Name Trading Arrangement, Individual Name Award Type [Domain] Award Type [Domain] Diluted (in usd per share) Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Diluted Incremental Term SOFR and CORRA Adjustment Incremental Term SOFR and CORRA Adjustment [Member] Incremental Term SOFR and CORRA Adjustment Equity Awards Adjustments Equity Awards Adjustments [Member] Other, net Other Noncash Income (Expense) Pension Benefits Adjustments, Footnote Pension Benefits Adjustments, Footnote [Text Block] Operating lease liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Current Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Current Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Compensation Amount Outstanding Recovery Compensation Amount Debt Covenant [Domain] Debt Covenant [Domain] Debt Covenant [Domain] Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Revenue recognized related to contract liabilities from prior year-end Contract with Customer, Liability, Revenue Recognized Accrued compensation and benefits Increase (Decrease) in Employee Related Liabilities Share Repurchase Program [Axis] Share Repurchase Program [Axis] Schedule of Allowance for Credit Losses Accounts Receivable, Allowance for Credit Loss [Table Text Block] MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Due after one year through five years Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five Name Awards Close in Time to MNPI Disclosures, Individual Name Payments Payments for Restructuring Restructuring Type [Axis] Restructuring Type [Axis] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Architectural Glass Architectural Glass Segment [Member] Architectural Glass Segment [Member] Reportable Segment Reportable Segment [Member] Reportable Segment Architectural Services Architectural Services Segment [Member] Architectural Services segment [Member] Share-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Bank of Montreal Bank of Montreal [Member] Bank of Montreal Unrealized gain (loss) on marketable securities, tax expenses (benefit) OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Financial Instruments [Domain] Financial Instruments [Domain] Unrealized gain (loss) on marketable securities, net of $9, $(13), $17, and $16 of tax expense (benefit), respectively OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax Segment [Domain] Segments [Domain] Total Assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Income Statement Location [Axis] Statement of Income Location, Balance [Axis] Performance share units Performance Shares [Member] Amount of available commitment Line of Credit Facility, Remaining Borrowing Capacity Aggregate Pension Adjustments Service Cost Aggregate Pension Adjustments Service Cost [Member] Non-recurring integration costs Business Combination, Non-Recurring Charges, Integration Costs Business Combination, Non-Recurring Charges, Integration Costs Schedule of Performance Obligations Expected to be Satisfied Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Inventories Increase (Decrease) in Inventories Inventories, net Total inventories, net Inventory, Net Minimum Minimum [Member] Noncurrent operating lease liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Noncurrent Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Noncurrent Accumulated depreciation property, plant, and equipment Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Accounts, Notes, Loans and Financing Receivable [Line Items] Accounts, Notes, Loans and Financing Receivable [Line Items] Company Selected Measure Name Company Selected Measure Name Net earnings Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax Adjusted cost of sales Cost of Goods and Services Sold, Adjusted Cost of Goods and Services Sold, Adjusted Debt Debt Disclosure [Text Block] Junior preferred stock of $1.00 par value; authorized 200,000 shares; zero issued and outstanding Preferred Stock, Value, Issued Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Accounts payable Accounts Payable, Current Cancellations of stock, net of issuance Shares Issued, Value, Share-Based Payment Arrangement, Forfeited Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Total Liabilities Business Combination, Recognized Liability Assumed, Liability All Executive Categories All Executive Categories [Member] Other income Other Operating Income Third-Party Fees Third-Party Fees [Member] Third-Party Fees Finished goods Inventory, Finished Goods, Net of Reserves Common stock of $0.33-1/3 par value; authorized 50,000,000 shares; issued and outstanding 21,494,322 and 21,417,631, respectively Common Stock, Value, Issued Restructuring Plan [Domain] Restructuring Plan [Domain] Commitments and Contingent Liabilities Commitments and Contingencies Disclosure [Text Block] Weighted average diluted shares outstanding (in shares) Diluted earnings per share – weighted average common shares and potential common shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Diluted Integration costs Business Combination, Integration-Related Cost, Expense Commitments and contingent liabilities (Note 6) Commitments and Contingencies Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Credits against costs and expenses Extended Warranty, Credit Loss Expense (Reversal) Extended Warranty, Credit Loss Expense (Reversal) Interest rate swap gain Interest Expense (Income), Derivatives Interest Expense (Income), Derivatives Cash acquired Cash Acquired from Acquisition Intangible assets, net Business Combination, Recognized Asset Acquired, Identifiable Intangible Asset, Finite-Lived Business Combination [Axis] Business Combination [Axis] Entity Small Business Entity Small Business Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Recognized over time (output method) Transferred over Time - Output Method [Member] Transferred over Time - Output Method Supplier Finance Program Obligations Supplier Finance Program [Text Block] Marketable Securities [Abstract] Marketable Securities [Abstract] Junior preferred stock outstanding (in shares) Preferred Stock, Shares Outstanding Loss contingency existing reserve and insurance proceeds amount Loss Settlement Loss, Net of Reserve And Recovery from Third Party, Amount Loss Settlement Loss, Net of Reserve And Recovery from Third Party, Amount Document Transition Report Document Transition Report Other non-current assets Business Combination, Recognized Asset Acquired, Other Asset, Noncurrent Due after one year through five years Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five Supplier Finance Program, Obligation [Roll Forward] Supplier Finance Program, Obligation [Roll Forward] Underlying Securities Award Underlying Securities Amount Equity Component [Domain] Equity Component [Domain] Document Period End Date Document Period End Date PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Income Taxes Income Tax Disclosure [Text Block] Less: allowance for credit losses Beginning balance Ending balance Accounts Receivable, Allowance for Credit Loss Proceeds from revolving credit facilities Proceeds from Lines of Credit Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Hedging Designation [Axis] Hedging Designation [Axis] Scenario [Axis] Scenario [Axis] Wells Fargo Bank, N.A. Wells Fargo Bank, N.A. [Member] Wells Fargo Bank, N.A. Operating lease liability Increase (Decrease) in Operating Lease Liability Net working capital adjustment Business Combination, Net Working Capital Adjustment Business Combination, Net Working Capital Adjustment Document Type Document Type Earnings per Share Earnings Per Share [Text Block] Name Outstanding Recovery, Individual Name Additional paid-in capital Additional Paid in Capital Derivative Contract [Domain] Derivative Contract [Domain] Judgement expenses Litigation Settlement, Loss Net sales Total Total segment net sales Revenue from Contract with Customer, Excluding Assessed Tax All Individuals All Individuals [Member] Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Contract termination costs Contract Termination [Member] Receivables Increase (Decrease) in Receivables Capital expenditures Payments to Acquire Property, Plant, and Equipment Recognized at shipment Transferred at Point in Time [Member] Name Forgone Recovery, Individual Name Total current assets Assets, Current Statistical Measurement [Axis] Statistical Measurement [Axis] Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member] Weighted average interest rates Debt, Weighted Average Interest Rate Term Loan Facility Term Loan Facility [Member] Term Loan Facility Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Share Repurchase Program [Domain] Share Repurchase Program [Domain] Other comprehensive (loss) earnings Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Current liabilities Liabilities, Current [Abstract] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Other current assets and liabilities Increase (Decrease) in Other Operating Assets and Liabilities, Net Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Outstanding borrowings Long-Term Line of Credit Quoted Prices in Active Markets (Level 1) Fair Value, Inputs, Level 1 [Member] Net sales Business Combination, Pro Forma Information, Pro Forma Revenue Accounts payable Business Combination, Recognized Liability Assumed, Accounts Payable, Current Diluted earnings per share (in usd per share) Diluted (in usd per share) Earnings Per Share, Diluted Forecast Forecast [Member] Income tax expense as a percentage of earnings before income taxes Income Tax Expense As Percentage Of Earnings Before Income Taxes, Percent Income Tax Expense As Percentage Of Earnings Before Income Taxes, Percent Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Title of 12(b) Security Title of 12(b) Security Impairment on intangible assets Impairment Expense on Goodwill and Intangible Assets Impairment Expense on Goodwill and Intangible Assets Other comprehensive earnings (loss): Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] Earnings per share: Earnings Per Share [Abstract] Restructuring Plan [Axis] Restructuring Plan [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Other income, net Nonoperating Income (Expense) Delayed draw term loan facility executed Proceeds from Unsecured Lines of Credit Gross profit Gross Profit Share repurchases Stock Repurchased and Retired During Period, Value Contract liabilities Increase (Decrease) in Contract with Customer, Liability Money market funds Money Market Funds, at Carrying Value Share repurchases (in shares) Treasury Stock, Shares, Acquired Award Timing Disclosures [Line Items] Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Accrued compensation and benefits Employee-related Liabilities, Current Accrued post-judgment interest Payments for Legal Settlements Share Repurchase Program Share Repurchase Program [Member] Share Repurchase Program [Member] Shareholders' Equity Equity [Text Block] Net earnings Net (loss) earnings Net earnings Net Income (Loss) Attributable to Parent Intersegment net sales Intersegment Eliminations [Member] Expiration Date Trading Arrangement Expiration Date Vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Axis] Property, plant and equipment, net of accumulated depreciation of $476,911 and $469,480 Property, Plant and Equipment, Net Restructuring expense Restructuring Charges Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Junior preferred stock authorized (in shares) Preferred Stock, Shares Authorized Repurchase of common stock Payments for Repurchase of Common Stock Adoption Date Trading Arrangement Adoption Date Base Rate Base Rate [Member] Debt, Fees Axis [Domain] Debt, Fees Axis [Domain] Debt, Fees Axis [Domain] Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Contract assets Contract with Customer, Asset, after Allowance for Credit Loss Schedule of Restructuring and Related Costs [Table] Restructuring Cost [Table] Entity Current Reporting Status Entity Current Reporting Status Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Operating income Operating income Operating Income (Loss) Line of Credit Line of Credit [Member] Due within one year Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One Retained earnings Retained Earnings (Accumulated Deficit) Non-current self-insurance reserves Self Insurance Reserve, Noncurrent Loss on disposal of property, plant and equipment Gain (Loss) on Disposition of Property Plant Equipment Financial Instrument [Axis] Financial Instrument [Axis] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member] Executive Category: Executive Category [Axis] Foreign currency option contract Foreign Exchange Forward [Member] Incremental cost Share-Based Payment Arrangement, Plan Modification, Incremental Cost Interest expense, net Interest Expense, Operating and Nonoperating Current Fiscal Year End Date Current Fiscal Year End Date Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member] Earnings per share: Business Acquisition Pro Forma Earnings Per Share [Abstract] Business Acquisition Pro Forma Earnings Per Share Schedule of Receivables Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Payables and Accruals [Abstract] Statement [Table] Statement [Table] Derivative liabilities Derivative Liability Deferred income taxes Deferred Income Tax Expense (Benefit) Adjustments to reconcile net earnings to net cash provided by operating activities: Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract] Financing Activities Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract] Equity Awards Adjustments, Excluding Value Reported in Compensation Table Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member] Net assets recorded Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill Receivables, net Receivables, Net, Current Variable Rate [Domain] Variable Rate [Domain] Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract] Contract liabilities Contract with Customer, Liability Timing of Transfer of Good or Service [Domain] Timing of Transfer of Good or Service [Domain] Summary of Significant Accounting Policies Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Unrecognized tax benefits Unrecognized Tax Benefits Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares) (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount All Adjustments to Compensation All Adjustments to Compensation [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Amendment Flag Amendment Flag Estimated Fair Value Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract] Termination Date Trading Arrangement Termination Date Net cash (used in) provided by financing activities Cash Provided by (Used in) Financing Activity, Including Discontinued Operation Contract assets Increase (Decrease) in Contract with Customer, Asset Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Measure: Measure [Axis] Raw materials Inventory, Raw Materials, Net of Reserves Receivable [Domain] Receivable [Domain] Net sales Business Combination, Acquiree's Revenue since Acquisition Date, Actual Weighted average basic shares outstanding (in shares) Basic earnings per share – weighted average common shares outstanding (in shares) Weighted Average Number of Shares Outstanding, Basic Cost of sales Cost of Product and Service Sold Acquisition, restructuring and impairment costs Acquisition, Restructuring And Impairment Costs Acquisition, Restructuring And Impairment Costs Schedule of Basic and Diluted Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Segment Reporting [Abstract] Segment Reporting [Abstract] Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Balance at beginning of period Balance at end of period Supplier Finance Program, Obligation Debt Disclosure [Abstract] Debt Disclosure [Abstract] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Other adjustments Accounts Receivable, Allowance for Credit Loss, Other Adjustments Accounts Receivable, Allowance for Credit Loss, Other Adjustments Entity Tax Identification Number Entity Tax Identification Number Scenario [Domain] Scenario [Domain] Total receivables Accounts Receivable, before Allowance for Credit Loss Interest payments Interest Paid, Including Capitalized Interest, Operating and Investing Activities Restructuring and Related Activities [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Common stock, par value (in usd per share) Common Stock, Par or Stated Value Per Share Common stock, issued (in shares) Common Stock, Shares, Issued Obligations settled Supplier Finance Program, Obligation, Settlement Amount awarded to other party Litigation Settlement, Amount Awarded to Other Party Interest expense, net Interest expense, net Interest Expense, Nonoperating Trading Arrangement: Trading Arrangement [Axis] Accrued income taxes Increase (Decrease) in Income Taxes Payable Total Shareholder Return Amount Total Shareholder Return Amount Basic (in usd per share) Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Basic Schedule of Fair Value Measurements Fair Value Measurements, Recurring and Nonrecurring [Table Text Block] Insider Trading Arrangements [Line Items] Security Exchange Name Security Exchange Name Performance Surfaces Performance Surfaces [Member] Performance Surfaces Capital expenditures in accounts payable Capital Expenditures Incurred but Not yet Paid Maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Pension Adjustments Prior Service Cost Pension Adjustments Prior Service Cost [Member] Acquisition holiday Debt Instrument, Covenant, Acquisition Holiday Debt Instrument, Covenant, Acquisition Holiday Sales/maturities of marketable securities Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Other current liabilities Other Liabilities, Current Statement [Line Items] Statement [Line Items] Consolidation Items [Axis] Consolidation Items [Axis] Variable Rate [Axis] Variable Rate [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Schedule of Restructuring Reserve Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents Cash and Cash Equivalent Project Fortify Project Fortify [Member] Project Fortify Common Stock at Par Value Common Stock [Member] Estimated Fair Value Total Municipal bonds Debt Securities, Available-for-Sale Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Non-NEOs Non-NEOs [Member] (Decrease) increase in cash, cash equivalents and restricted cash Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation EX-101.PRE 10 apog-20251129_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.25.4
Cover Page - shares
9 Months Ended
Nov. 29, 2025
Jan. 05, 2026
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Nov. 29, 2025  
Document Transition Report false  
Entity File Number 0-6365  
Entity Registrant Name APOGEE ENTERPRISES, INC.  
Entity Incorporation, State or Country Code MN  
Entity Tax Identification Number 41-0919654  
Entity Address, Address Line One 4400 West 78th Street, Suite 520  
Entity Address, City or Town Minneapolis  
Entity Address, State or Province MN  
Entity Address, Postal Zip Code 55435  
City Area Code 952  
Local Phone Number 835-1874  
Title of 12(b) Security Common stock, par value $0.33 1/3 per share  
Trading Symbol APOG  
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   21,510,116
Entity Central Index Key 0000006845  
Amendment Flag false  
Document Fiscal Year Focus 2026  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --02-28  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Current assets    
Cash and cash equivalents $ 41,315 $ 41,448
Receivables, net 176,588 185,590
Inventories, net 102,495 92,305
Contract assets 66,645 71,842
Other current assets 48,954 50,919
Total current assets 435,997 442,104
Property, plant and equipment, net of accumulated depreciation of $476,911 and $469,480 253,092 268,139
Operating lease right-of-use assets 50,903 62,314
Goodwill 236,386 235,775
Intangible assets, net 113,673 128,417
Other non-current assets 25,977 38,520
Total assets 1,116,028 1,175,269
Current liabilities    
Accounts payable 92,844 98,804
Accrued compensation and benefits 33,906 48,510
Contract liabilities 43,086 35,193
Operating lease liabilities 14,504 15,290
Other current liabilities 45,405 87,659
Total current liabilities 229,745 285,456
Long-term debt 255,000 285,000
Non-current operating lease liabilities 41,981 51,632
Non-current self-insurance reserves 32,180 30,382
Other non-current liabilities 44,831 34,901
Commitments and contingent liabilities (Note 6)
Shareholders’ equity    
Junior preferred stock of $1.00 par value; authorized 200,000 shares; zero issued and outstanding 0 0
Common stock of $0.33-1/3 par value; authorized 50,000,000 shares; issued and outstanding 21,494,322 and 21,417,631, respectively 7,164 7,139
Additional paid-in capital 161,031 156,075
Retained earnings 377,306 359,976
Accumulated other comprehensive loss (33,210) (35,292)
Total shareholders’ equity 512,291 487,898
Total liabilities and shareholders’ equity $ 1,116,028 $ 1,175,269
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Statement of Financial Position [Abstract]    
Accumulated depreciation property, plant, and equipment $ 476,911 $ 469,480
Junior preferred stock par value (in usd per share) $ 1.00 $ 1.00
Junior preferred stock authorized (in shares) 200,000 200,000
Junior preferred stock issued (in shares) 0 0
Junior preferred stock outstanding (in shares) 0 0
Common stock, par value (in usd per share) $ 0.33 $ 0.33
Common stock, authorized (in shares) 50,000,000 50,000,000
Common stock, issued (in shares) 21,494,322 21,417,631
Common stock, outstanding (in shares) 21,494,322 21,417,631
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED RESULTS OF OPERATIONS (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Income Statement [Abstract]        
Net sales $ 348,563 $ 341,344 $ 1,053,379 $ 1,015,300
Cost of sales 265,571 252,195 812,654 729,975
Gross profit 82,992 89,149 240,725 285,325
Selling, general and administrative expenses 58,113 60,520 182,026 173,350
Operating income 24,879 28,629 58,699 111,975
Interest expense, net 3,227 1,044 11,148 2,634
Other income, net (2,458) (60) (6,916) (493)
Earnings before income taxes 24,110 27,645 54,467 109,834
Income tax expense 7,561 6,656 16,956 27,268
Net earnings $ 16,549 $ 20,989 $ 37,511 $ 82,566
Basic earnings per share (in usd per share) $ 0.78 $ 0.96 $ 1.76 $ 3.79
Diluted earnings per share (in usd per share) $ 0.77 $ 0.96 $ 1.74 $ 3.76
Weighted average basic shares outstanding (in shares) 21,302 21,782 21,349 21,789
Weighted average diluted shares outstanding (in shares) 21,592 21,917 21,568 21,937
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Statement of Comprehensive Income [Abstract]        
Net (loss) earnings $ 16,549 $ 20,989 $ 37,511 $ 82,566
Other comprehensive earnings (loss):        
Unrealized gain (loss) on marketable securities, net of $9, $(13), $17, and $16 of tax expense (benefit), respectively 34 (48) 62 60
Unrealized (loss) gain on derivative instruments, net of $(73), $(21), $(249), and $86 of tax (benefit) expense, respectively (199) (69) (681) 281
Foreign currency translation adjustments (445) (1,619) 2,701 (2,780)
Other comprehensive (loss) earnings (610) (1,736) 2,082 (2,439)
Total comprehensive earnings $ 15,939 $ 19,253 $ 39,593 $ 80,127
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Statement of Comprehensive Income [Abstract]        
Unrealized gain (loss) on marketable securities, tax expenses (benefit) $ 9 $ (13) $ 17 $ 16
Unrealized (loss) gain on derivative instruments, tax expenses (benefit) $ (73) $ (21) $ (249) $ 86
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Operating Activities    
Net earnings $ 37,511 $ 82,566
Adjustments to reconcile net earnings to net cash provided by operating activities:    
Depreciation and amortization 37,456 30,798
Share-based compensation 6,570 8,067
Deferred income taxes 16,762 5,109
Loss on disposal of property, plant and equipment 418 159
Impairment on intangible assets 7,418 0
Settlement of New Markets Tax Credit transaction (6,740) 0
Non-cash lease expense 10,901 9,926
Other, net 4,596 1,800
Changes in operating assets and liabilities, net of business acquired:    
Receivables 9,431 (2,191)
Inventories (9,842) (8,284)
Contract assets 5,317 (8,168)
Accounts payable (3,873) 6,796
Accrued compensation and benefits (14,782) (20,958)
Contract liabilities 7,823 11,499
Operating lease liability (10,628) (9,387)
Accrued income taxes (3,279) (6,498)
Other current assets and liabilities (28,437) (6,104)
Net cash provided by operating activities 66,622 95,130
Investing Activities    
Capital expenditures (18,315) (24,696)
Proceeds from sales of property, plant and equipment 1,606 744
Purchases of marketable securities (550) (2,394)
Sales/maturities of marketable securities 1,485 2,370
Acquisition of business, net of cash acquired 0 (233,125)
Net cash used in investing activities (15,774) (257,101)
Financing Activities    
Proceeds from revolving credit facilities 80,000 95,201
Repayment on revolving credit facilities (110,000) (115,201)
Proceeds from term loans 0 250,000
Repayment of term loans 0 (20,000)
Repurchase of common stock 0 (15,061)
Dividends paid (16,567) (16,238)
Payments of debt issuance costs 0 (3,798)
Other, net (5,342) (5,884)
Net cash (used in) provided by financing activities (51,909) 169,019
Effect of exchange rates on cash 928 (409)
(Decrease) increase in cash, cash equivalents and restricted cash (133) 6,639
Cash, cash equivalents and restricted cash at beginning of period 41,448 37,216
Cash and cash equivalents at end of period 41,315 43,855
Non-cash Activity    
Capital expenditures in accounts payable $ 970 $ 2,299
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock at Par Value
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive (Loss) Income
Beginning balance (in shares) at Mar. 02, 2024   22,089,000      
Beginning balance at Mar. 02, 2024 $ 471,025 $ 7,363 $ 152,818 $ 340,375 $ (29,531)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 31,011     31,011  
Other comprehensive income (loss), net of tax 521       521
Issuance of stock, net of cancellations (in shares)   170,000      
Issuance of stock, net of cancellations 0 $ 57 (57)    
Share-based compensation 2,704   2,704    
Share repurchases (in shares)   (242,000)      
Share repurchases (15,061) $ (81) (1,860) (13,120)  
Other share retirements (in shares)   (80,000)      
Other share retirements (4,836) $ (27) (603) (4,206)  
Cash/Declared dividends (5,409)     (5,409)  
Ending balance (in shares) at Jun. 01, 2024   21,937,000      
Ending balance at Jun. 01, 2024 479,955 $ 7,312 153,002 348,651 (29,010)
Beginning balance (in shares) at Mar. 02, 2024   22,089,000      
Beginning balance at Mar. 02, 2024 471,025 $ 7,363 152,818 340,375 (29,531)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 82,566        
Ending balance (in shares) at Nov. 30, 2024   21,939,000      
Ending balance at Nov. 30, 2024 522,069 $ 7,313 158,248 388,478 (31,970)
Beginning balance (in shares) at Jun. 01, 2024   21,937,000      
Beginning balance at Jun. 01, 2024 479,955 $ 7,312 153,002 348,651 (29,010)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 30,566     30,566  
Other comprehensive income (loss), net of tax (1,224)       (1,224)
Issuance of stock, net of cancellations (in shares)   16,000      
Issuance of stock, net of cancellations 0 $ 5 (5)    
Share-based compensation 2,938   2,938    
Other share retirements (in shares)   (7,000)      
Other share retirements (401) $ (2) (52) (347)  
Cash/Declared dividends (5,412)     (5,412)  
Ending balance (in shares) at Aug. 31, 2024   21,946,000      
Ending balance at Aug. 31, 2024 506,422 $ 7,315 155,883 373,458 (30,234)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 20,989     20,989  
Other comprehensive income (loss), net of tax (1,736)       (1,736)
Issuance of stock, net of cancellations (in shares)   1,000      
Share-based compensation 2,425   2,425    
Other share retirements (in shares)   (8,000)      
Other share retirements (614) $ (2) (60) (552)  
Cash/Declared dividends (5,417)     (5,417)  
Ending balance (in shares) at Nov. 30, 2024   21,939,000      
Ending balance at Nov. 30, 2024 $ 522,069 $ 7,313 158,248 388,478 (31,970)
Beginning balance (in shares) at Mar. 01, 2025 21,417,631 21,418,000      
Beginning balance at Mar. 01, 2025 $ 487,898 $ 7,139 156,075 359,976 (35,292)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings (2,688)     (2,688)  
Other comprehensive income (loss), net of tax 2,608       2,608
Issuance of stock, net of cancellations (in shares)   182,000      
Issuance of stock, net of cancellations 0 $ 61 (61)    
Share-based compensation 2,300   2,300    
Other share retirements (in shares)   (67,000)      
Other share retirements (2,815) $ (22) (526) (2,267)  
Cash/Declared dividends (5,520)     (5,520)  
Ending balance (in shares) at May. 31, 2025   21,533,000      
Ending balance at May. 31, 2025 $ 481,783 $ 7,178 157,788 349,501 (32,684)
Beginning balance (in shares) at Mar. 01, 2025 21,417,631 21,418,000      
Beginning balance at Mar. 01, 2025 $ 487,898 $ 7,139 156,075 359,976 (35,292)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings $ 37,511        
Ending balance (in shares) at Nov. 29, 2025 21,494,322 21,492,000      
Ending balance at Nov. 29, 2025 $ 512,291 $ 7,164 161,031 377,306 (33,210)
Beginning balance (in shares) at May. 31, 2025   21,533,000      
Beginning balance at May. 31, 2025 481,783 $ 7,178 157,788 349,501 (32,684)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 23,649     23,649  
Other comprehensive income (loss), net of tax 84       84
Cancellations of stock, net of issuance (in shares)   (16,000)      
Cancellations of stock, net of issuance 189 $ 5 184    
Share-based compensation 474   474    
Other share retirements (in shares)   (2,000)      
Other share retirements (63) $ (1) (13) (49)  
Cash/Declared dividends (5,523)     (5,523)  
Ending balance (in shares) at Aug. 30, 2025   21,515,000      
Ending balance at Aug. 30, 2025 500,215 $ 7,172 158,065 367,578 (32,600)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net (loss) earnings 16,549     16,549  
Other comprehensive income (loss), net of tax (610)       (610)
Issuance of stock, net of cancellations (in shares)   19,000      
Issuance of stock, net of cancellations 676 $ (2) 473 205  
Share-based compensation 3,796   3,796    
Other share retirements (in shares)   (42,000)      
Other share retirements (1,459) $ (10) (357) (1,092)  
Cash/Declared dividends $ (5,524)     (5,524)  
Ending balance (in shares) at Nov. 29, 2025 21,494,322 21,492,000      
Ending balance at Nov. 29, 2025 $ 512,291 $ 7,164 $ 161,031 $ 377,306 $ (33,210)
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.25.4
CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical) - $ / shares
3 Months Ended
Nov. 29, 2025
Aug. 30, 2025
May 31, 2025
Nov. 30, 2024
Aug. 31, 2024
Jun. 01, 2024
Statement of Stockholders' Equity [Abstract]            
Common dividends (in dollars per share) $ 0.26 $ 0.26 $ 0.26 $ 0.25 $ 0.25 $ 0.25
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.25.4
Summary of Significant Accounting Policies
9 Months Ended
Nov. 29, 2025
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies Summary of Significant Accounting Policies
Basis of presentation
The consolidated financial statements of Apogee Enterprises, Inc. (we, us, our or the Company) have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP). The information included in this Form 10-Q should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025. We use the same accounting policies in preparing quarterly and annual financial statements. All adjustments necessary for a fair presentation of quarterly and year to date operating results are reflected herein. The results of operations for the three and nine month periods ended November 29, 2025, are not necessarily indicative of the results to be expected for the full year.
Adoption of new accounting standards
On November 27, 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standard Update (ASU) 2023-07, Improvements to Reportable Segment Disclosures, which expands the required disclosure for reportable segments. This guidance requires entities to disclose significant segment expenses and other segment items on an annual and interim basis and to provide in interim periods all segment disclosures which are currently required annually. This ASU additionally requires entities to disclose the title and position of the individual or the name of the group or committee identified as its chief operating decision-maker. We adopted this guidance in the fourth quarter of fiscal 2025 for the annual requirements and in the first quarter of fiscal 2026 for the interim requirements.
Accounting standards not yet adopted
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures. The ASU is effective for our fiscal 2026 annual financial statements and for our interim financial statements beginning fiscal 2027. This guidance expands the existing disclosure requirements for the annual rate reconciliation between the effective tax rate and the statutory federal tax rate by requiring reconciliation items to be disaggregated by defined categories and disclosed as both percentages and amounts. ASU 2023-09 also requires the disaggregation of income taxes paid by jurisdiction for each annual period presented.
In November 2024, the FASB issued ASU 2024-03, Disaggregation of Income Statement Expenses. This guidance requires entities to disclose more detailed information about the types of expenses, including purchases of inventory, employee compensation, depreciation, amortization, and depletion in commonly presented expense captions such as cost of sales and selling, general and administrative (SG&A) expenses. Such guidance is effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, although early adoption is permitted. This guidance should be applied either prospectively to financial statements issued for reporting periods after the effective date of this ASU or retrospectively to any or all prior periods presented in the financial statements. While the adoption of this ASU will not have an impact on our financial position and/or results of operations, we are currently evaluating the impact this ASU may have on our consolidated financial statement disclosures, including the processes and controls around the collection of this information.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities
9 Months Ended
Nov. 29, 2025
Revenue from Contract with Customer [Abstract]  
Revenue, Receivables and Contract Assets and Liabilities Revenue, Receivables and Contract Assets and Liabilities
Revenue
The following table disaggregates total revenue by timing of recognition (see Note 12 for disclosure of revenue by segment):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Recognized at shipment$163,008 $150,704 $492,845 $427,945 
Recognized over time (input method)119,570 125,451 356,927 360,815 
Recognized over time (output method)65,985 65,189 203,607 226,540 
Total$348,563 $341,344 $1,053,379 $1,015,300 
Revenue at shipment is recognized at the time products are shipped from our manufacturing facilities, which is when control is transferred to our customer.
We also recognize revenue over time using both the input method and output method. The contracts for the businesses that recognize revenue following an over-time input method have a single, bundled performance obligation, as these businesses
generally provide interrelated products and services and integrate these products and services into a combined output specified by the customer. The customer obtains control of this combined output, generally integrated window systems or installed window and curtainwall systems, over time. We measure progress on these contracts by comparing total costs incurred to-date to the total estimated costs for the contract at completion, and record that proportion of the total contract price as revenue in the period. Contract costs include materials, labor and other direct costs related to contract performance. We believe this method of recognizing revenue is consistent with our progress in satisfying our contract obligations.
For revenue recognized following an over-time output method, the customer is considered to have control over the products at the time of production, as the products are highly customized with no alternative use, and we have an enforceable right to payment for performance completed over the production period. We believe this over-time output method of recognizing revenue reasonably depicts the fulfillment of our performance obligations under our contracts.
Receivables
Receivables reflected in the financial statements represent the net amount expected to be collected. An allowance for credit losses is established based on expected losses. Expected losses are estimated by reviewing individual accounts, considering aging, financial condition of the debtor, recent payment history, current and forecasted economic conditions and other relevant factors. Upon billing, aging of receivables is monitored until collection. An account is considered current when it is within agreed upon payment terms. An account is written off when it is determined that the asset is no longer collectible.
(In thousands)November 29, 2025March 1, 2025
Trade accounts$111,819 $117,533 
Construction contracts66,310 70,724 
Total receivables178,129 188,257 
Less: allowance for credit losses1,541 2,667 
Receivables, net$176,588 $185,590 
The following table summarizes the activity in the allowance for credit losses for the nine months ended November 29, 2025:
(In thousands)November 29, 2025
Beginning balance$2,667 
Credits against costs and expenses(571)
Deductions from allowance, net of recoveries(581)
Other adjustments26 
Ending balance$1,541 
Contract assets and liabilities
Contract assets consist of retainage, costs and earnings in excess of billings and other unbilled amounts typically generated when revenue recognized exceeds the amount billed to the customer. Retainage on construction contracts represents amounts withheld by our customers on long-term projects until the project reaches a level of completion where amounts are released to us from the customer. Contract liabilities consist of billings in excess of costs and earnings and other deferred revenue on contracts.
The time period between when performance obligations are complete and payment is due is not significant. In certain parts of our business that recognize revenue over time, progress billings follow an agreed-upon schedule of values.
(In thousands)November 29, 2025March 1, 2025
Contract assets$66,645 $71,842 
Contract liabilities43,086 35,193 
The changes in contract assets and contract liabilities were mainly due to timing of project activity within our businesses that operate under long-term contracts.
Other contract-related disclosures
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Revenue recognized related to contract liabilities from prior year-end$700 $399 $29,029 $30,760 
Revenue recognized related to prior satisfaction of performance obligations1,957 4,129 4,366 12,295 
Some of our contracts have an expected duration of longer than a year, with performance obligations extending over that time frame. Generally, these contracts are found in our businesses that typically operate with long-term contracts, which recognize revenue over time. The transaction prices associated with unsatisfied performance obligations at November 29, 2025, are expected to be satisfied, and the corresponding revenue to be recognized, over the following estimated time periods:
(In thousands)November 29, 2025
Within one year
$530,201 
Between one and two years
283,130 
Beyond two years79,485 
Total$892,816 
Due to the nature of the work required under these long-term contracts, the estimation of total revenue and costs of sales is subject to many variables and requires significant judgment. We estimate variable consideration at the most likely amount to which we expect to be entitled. Our final cost of sales estimates are based largely on our assessments of anticipated performance and all information (historical, current and forecasted) that is reasonably available to us. Changes in estimated revenue, cost of sales and the related effect on operating income are recognized using a cumulative catch-up adjustment, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a long-term contracts percentage of completion. When the current estimates of total revenues and costs at completion for a long-term contract indicate a loss, a provision for the entire loss on the long-term contract is recognized.
The net cumulative catch-up adjustments on our longer-term contracts for changes in estimates had the following effect on the respective periods shown:
(in thousands, except earnings per share data)Three Months EndedNine Months Ended
November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Operating income
$3,976 $5,801 $4,775 $12,905 
Earnings per share:
Basic
0.140.200.170.45
Diluted
0.140.200.170.44
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.25.4
Inventories
9 Months Ended
Nov. 29, 2025
Inventory Disclosure [Abstract]  
Inventories Inventories
(In thousands)November 29, 2025March 1, 2025
Raw materials$46,900 $36,804 
Work-in-process17,676 15,554 
Finished goods37,919 39,947 
Total inventories, net$102,495 $92,305 
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments
9 Months Ended
Nov. 29, 2025
Marketable Securities [Abstract]  
Financial Instruments Financial Instruments
Marketable securities
Through our wholly-owned insurance subsidiary, Prism Assurance, Ltd. (Prism), we hold the following available-for-sale marketable securities, made up of fixed-maturity investments:
(In thousands)Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated
Fair Value
November 29, 2025$9,211 $27 $137 $9,101 
March 1, 202510,148 33 222 9,959 
Prism insures a portion of our general liability, workers’ compensation and automobile liability risks using third-party agreements to meet statutory requirements. Our third-party carriers require Prism to maintain fixed-maturity investments for the purpose of providing collateral for Prism’s obligations under these agreements.
The amortized cost and estimated fair values of these investments at November 29, 2025, by contractual maturity, are shown below. Expected maturities may differ from contractual maturities, as borrowers may have the right to call or prepay obligations with or without penalty. Investments that are due within one year are included in other current assets while those due after one year are included as other non-current assets. Gross realized gains and losses were insignificant for all periods presented.
(In thousands)Amortized CostEstimated Fair Value
Due within one year$7,239 $7,163 
Due after one year through five years1,972 1,938 
Total$9,211 $9,101 
Derivative instruments
We periodically use interest rate swaps, currency put options, forward purchase contracts, or other instruments to manage risks generally associated with foreign exchange rate (primarily related to the Canadian dollar and euro), interest rate and commodity price fluctuations. The information that follows explains the various types of derivatives and financial instruments we use, how such instruments are accounted for, and how such instruments impact our financial position and performance.
In the second quarter of fiscal 2026, we entered into an interest rate swap with a notional value of $50.0 million with an expiration date of August 5, 2027. In fiscal 2025, we entered into an interest rate swap with a notional value of $75.0 million with an expiration date of January 5, 2027. In fiscal 2020, we entered into an interest rate swap with a notional value of $30.0 million with an expiration date of February 5, 2026. We entered into these swaps to hedge a portion of our exposure to variability in cash flows from interest payments on our floating-rate credit facility.
As of November 29, 2025, we had no foreign exchange option contracts with U.S. dollar notional values outstanding.
Derivative instruments that qualify for hedge accounting are recorded within our consolidated balance sheets within other current assets and other current liabilities. Gains or losses associated with these instruments are recorded as a component of accumulated other comprehensive loss until which time the hedged transaction is settled and gains or losses are reclassified to earnings.
Fair value measurements
Financial assets and liabilities are classified in the fair value hierarchy based on the lowest level input that is significant to the fair value measurement: Level 1 (unadjusted quoted prices in active markets for identical assets or liabilities); Level 2 (observable market inputs, other than quoted prices included in Level 1); and Level 3 (unobservable inputs that cannot be corroborated by observable market data). We do not have any Level 3 financial assets or liabilities.
Financial assets and liabilities measured at fair value on a recurring basis were:
(In thousands)Quoted Prices in Active Markets
(Level 1)
Other Observable Inputs
(Level 2)
Total Fair Value
November 29, 2025
Assets:
Money market funds$30,493 $— $30,493 
Municipal bonds— 9,101 9,101 
Interest rate swap contracts— 125 125 
Liabilities:
Interest rate swap contracts— 806 806 
March 1, 2025
Assets:
Money market funds$20,758 $— $20,758 
Municipal bonds— 9,959 9,959 
Foreign currency option contract— 29 29 
Interest rate swap contracts— 539 539 
Liabilities:
Interest rate swap contracts— 540 540 
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.25.4
Debt
9 Months Ended
Nov. 29, 2025
Debt Disclosure [Abstract]  
Debt Debt
On July 19, 2024, we entered into a Credit Agreement (the Credit Agreement) with Bank of America, N.A., as administrative agent, and other lenders. The Credit Agreement provides for an unsecured senior credit facility in an aggregate principal amount of up to $700.0 million, in which commitments were made through a $450.0 million, five-year revolving credit facility and a committed $250.0 million delayed draw term loan facility. Borrowings under the revolving credit facility can be in Canadian dollars (CAD) limited to $25.0 million USD. The term loan facility may be utilized in up to two draw downs, which are available to be made within one year after the closing date. The senior credit facility has a term of five years with a maturity date of July 19, 2029.
The Credit Agreement replaced the previous revolving credit facility with Wells Fargo Bank, N.A., as administrative agent, and other lenders, with maximum borrowings up to $385.0 million, and the two Canadian credit facilities with Bank of Montreal totaling $25.0 million USD.
As a result of the execution of the Credit Agreement, in the second quarter of fiscal 2025, we recognized a loss on extinguishment of debt within interest expense of $0.5 million for the write-off of unamortized financing fees related to the previous revolving credit facility. Additionally, we capitalized $3.0 million of lender fees and $0.8 million of third-party fees incurred in connection with the Credit Agreement, which were recorded as other non-current assets and are being amortized over the term of the credit facility as interest expense.
The Credit Agreement contains two maintenance financial covenants that require our Consolidated Leverage Ratio (as defined in the Credit Agreement) to be less than 3.50 and our Consolidated Interest Coverage Ratio (as defined in the Credit Agreement) to exceed 3.00. At November 29, 2025, we were in compliance with all covenants as defined under the terms of the Credit Agreement.
The Credit Agreement also contains an acquisition “holiday”. In the event we make an acquisition for which the purchase price is greater than $75.0 million, we can elect to increase the maximum Consolidated Leverage Ratio (as defined in the Credit Agreement) to 4.00 for a period of four consecutive fiscal quarters, commencing with the fiscal quarter in which a qualifying acquisition occurs. No more than two acquisition holidays can occur during the term of the Credit Agreement, and at least two fiscal quarters must separate qualifying acquisitions.
Borrowings under the Credit Agreement bear floating interest at either the Base Rate or Term Secured Overnight Financing Rate (SOFR), or, for CAD borrowings, Canadian Overnight Repo Rate Average (CORRA) plus, in each a margin based on the Consolidated Leverage Ratio (as defined in the Credit Agreement). For Base Rate borrowings, the margin ranges from 0.25% to 0.75%. For Term SOFR and CORRA borrowings, the margin ranges from 1.25% to 1.75%, with an incremental Term SOFR and CORRA adjustment of 0.10% and 0.29547%, respectively.
The Credit Agreement also contains an “accordion” provision. Under this provision, we can request that the senior credit facility be increased by unlimited additional amounts. Any lender may elect or decline to participate in the requested increase at their sole discretion.
On November 4, 2024, as part of the acquisition of UW Interco, LLC (UW Solutions), and for working capital and general corporate purposes, we executed a drawdown against the delayed draw term loan facility for $250.0 million. Outstanding borrowings under the term loan facility were $215.0 million as of November 29, 2025. Outstanding borrowings under the revolving credit facility were $40.0 million as of November 29, 2025.
At November 29, 2025, we had a total of $2.6 million of ongoing letters of credit related to the senior credit facility, construction contracts and insurance collateral that expire in fiscal 2027 and reduce borrowing capacity under the revolving credit facility. As of November 29, 2025, the amount available for revolving borrowings was $407.4 million.
The fair value of our senior credit facility approximated carrying value at November 29, 2025, and would be classified as Level 2 within the fair value hierarchy described in Note 4, due to the variable interest rates on these instruments.
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Interest on debt$3,911 $2,077 $13,005 $4,590 
Interest rate swap gain(242)(223)(555)(695)
Other interest expense172 38 475 653 
Interest income(614)(848)(1,777)(1,914)
Interest expense, net
$3,227 $1,044 $11,148 $2,634 
Interest payments under the credit facilities were $13.2 million and $3.5 million for the nine months ended November 29, 2025 and November 30, 2024, respectively. The weighted average interest rates on borrowings outstanding, inclusive of the impact of our interest rate swaps as of November 29, 2025, and March 1, 2025, were 3.16% and 4.32%, respectively.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.25.4
Commitments and Contingent Liabilities
9 Months Ended
Nov. 29, 2025
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingent Liabilities Commitments and Contingent Liabilities
Bond commitments
In the ordinary course of business, predominantly in our Architectural Services Segment, we are required to provide surety or performance bonds that commit payments to our customers for non-performance against our contracts. At November 29, 2025, $1.2 billion of these types of bonds were outstanding, of which $253.0 million is in our backlog. These bonds have expiration dates that align with the completion of these contracts. We have never been required to make payments under surety or performance bonds with respect to our existing businesses.
Warranty and project-related contingencies
We reserve estimated exposures on known claims, as well as on a portion of anticipated claims, for product warranty and rework cost, based on historical product liability claims as a ratio of sales. Claim costs are deducted from the accrual when paid. Factors that could have an impact on these accruals in any given period include changes in manufacturing quality, changes in product mix, and any significant changes in sales volume.
 Nine Months Ended
(In thousands)November 29, 2025
Beginning balance$18,461 
Credits against costs and expenses(1,044)
Claims paid(3,504)
Ending balance$13,913 
Additionally, we are subject to project management and installation-related contingencies as a result of our fixed-price material supply and installation service contracts, primarily in our Architectural Services Segment and in certain parts of our
Architectural Metals Segment. We manage the risk of these exposures through contract negotiations, proactive project management and insurance coverages.
Letters of credit
At November 29, 2025, we had $2.6 million of ongoing letters of credit as discussed in Note 5.
Purchase obligations
Purchase obligations for raw material commitments and capital expenditures totaled $16.4 million as of November 29, 2025.
New Markets Tax Credit (NMTC) transactions
During the second quarter ended August 30, 2025, one NMTC transaction was settled and, as a result, a $4.6 million benefit was recorded in other (income) expense, net. During the third quarter ended November 29, 2025, the final remaining NMTC transaction was settled and, as a result, a $2.1 million benefit was recorded in other (income) expense, net.
When these transactions were initiated, the proceeds received from investors were included within other current liabilities in our consolidated balance sheets. The NMTC arrangements were subject to 100 percent tax credit recapture for a period of seven years from the date of transaction. Upon the termination, proceeds were recognized in earnings in exchange for the transfer of tax credits. The direct and incremental costs incurred in structuring this arrangement were deferred and were included in other current assets in our consolidated balance sheets. These costs were recognized in conjunction with the recognition of the related proceeds as settled. During the construction phase or for working capital purposes, we were required to hold cash dedicated to fund the project, which was classified as restricted cash in our consolidated balance sheet. As a result of the structure of these transactions, a variable-interest entity was created. As the other investors in these programs did not have a material interest in the entity's underlying economics, we included 100% of the results of the variable-interest entity in our consolidated financial statements.
Litigation
The Company is a party to various legal proceedings incidental to its normal operating activities. In particular, like others in the construction supply and services industry, the Company is routinely involved in various disputes and claims arising out of construction projects, sometimes involving significant monetary damages or product replacement. We have in the past and are currently subject to product liability and warranty claims, including certain legal claims related to a commercial sealant product formerly incorporated into our products.
In December 2022, the claimant in an arbitration of one such claim was awarded $20.0 million by an arbitration panel. The claimant then sought to confirm this award in Los Angeles Superior Court in March 2023. In response, the Company moved to vacate the award. Later in March 2023, the Superior Court confirmed the award, which the Company appealed in June 2023. The appeal was argued before the California Court of Appeals, Second Appellate District, Division Seven, on March 7, 2025. The California Court of Appeals confirmed the judgment of the Superior Court on March 25, 2025, and the Company paid the final arbitration award, including accrued post-judgment interest, in the amount of $24.7 million, on April 7, 2025. As a result of the judgment, in the fourth quarter of fiscal 2025, we recorded expense of $9.4 million, which represented the impact of the award amount net of existing reserves and insurance proceeds of $11.0 million.
The Company is also subject to litigation arising out of areas such as employment practices, workers compensation and general liability matters. Although it is very difficult to accurately predict the outcome of any such proceedings, facts currently available indicate that no matters will result in losses that would have a material adverse effect on the results of operations, cash flows or financial condition of the Company.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.25.4
Supplier Finance Program Obligations
9 Months Ended
Nov. 29, 2025
Payables and Accruals [Abstract]  
Supplier Finance Program Obligations Supplier Finance Program Obligations
We have a supplier financing arrangement that enables select suppliers, at their sole discretion, to sell our receivables (i.e., our payment obligations to the suppliers) on a non-recourse basis in order to be paid earlier than our payment terms provide. These suppliers’ voluntary inclusion of invoices in the supplier financing arrangement has no bearing on our payment terms, the amounts we pay, or our liquidity. We have no economic interest in the supplier’s decision to participate in the supplier financing program, and we do not provide any guarantees in connection with it. The balances owed are reflected in accounts payable in the consolidated balance sheets and are reflected in net cash provided by operating activities in our consolidated statements of cash flows when settled.
The following table summarizes the obligation activity and outstanding balance for the nine months ended November 29, 2025, that we have confirmed as valid to the administrators of our program:
(In thousands)November 29, 2025
Balance at beginning of period$6,846 
Obligations added to the program39,692 
Obligations settled(39,690)
Balance at end of period$6,848 
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.25.4
Shareholders' Equity
9 Months Ended
Nov. 29, 2025
Equity [Abstract]  
Shareholders' Equity Shareholders' Equity
We paid dividends totaling $16.6 million ($0.78 per share) in the first nine months of fiscal 2026, compared to dividends paid of $16.2 million ($0.75 per share) in the comparable prior year period.
During fiscal 2004, the Board of Directors authorized a share repurchase program allowing us to repurchase shares of our outstanding common stock, with subsequent increases in authorization. During the nine months ended November 29, 2025, we did not repurchase shares under the program. During the nine months ended November 30, 2024, we repurchased 241,573 shares under the program, for a total cost of $15.1 million. We have repurchased a total of 12,063,207 shares, at a total cost of $438.5 million, since the inception of this program in fiscal 2004. We have remaining authority to repurchase 2,186,793 shares under this program, which has no expiration date. We may elect to repurchase additional shares of common stock under our authorization, subject to limitations contained in our debt agreements and based upon our assessment of a number of factors, including share price, trading volume and general market conditions, working capital requirements, general business conditions, financial conditions, any applicable contractual limitations, and other factors, including alternative investment opportunities. We may finance share repurchases with available cash, additional debt or other sources of financing.
Additionally, shares withheld from the vesting of restricted awards, or the settlement of performance-based awards, are treated as purchases and retirements, and are included within other, net in the financing activities section in the consolidated statement of cash flows.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.25.4
Share-Based Compensation
9 Months Ended
Nov. 29, 2025
Share-Based Payment Arrangement [Abstract]  
Share-Based Compensation Share-Based Compensation
As part of our compensation structure, we grant stock-based compensation awards to certain employees and non-employee directors during the fiscal year. These awards may be in the form of incentive stock options (to employees only), restricted stock awards and restricted stock units, and performance share unit awards, all of which are granted at a price or with an exercise price equal to the fair market value of the Company’s stock at the date of award, unless the date of the award is on a day the Nasdaq Stock Market is not open for trading. In that case, the exercise price shall equal the fair market value on the most recent preceding date when such market is open.
The table below sets forth the number of stock-based compensation awards granted during the nine months ended November 29, 2025, along with the weighted average grant date fair value:
AwardsNumber of AwardsWeighted Average Grant Date Fair Value
Restricted stock awards and restricted stock units(1)
178,103 $43.92 
Performance share units (2)
53,542 $45.44 
(1)
Represent service condition awards which generally vest over a two- or three-year period.
(2)
Represent performance condition awards with the grant equal to the target number of performance shares based on the share price at grant date. These grants allow for the right to receive a variable number of shares, between 0% and 200% of target, dependent on being employed at the end of the performance period and achieving defined performance goals for average adjusted return on invested capital and cumulative adjusted earnings per share.
Total share-based compensation expense included in the results of operations was $3.8 million and $2.4 million for the three months ended November 29, 2025, and November 30, 2024, respectively and $6.6 million and $8.1 million for the nine months ended November 29, 2025, and November 30, 2024, respectively.
On October 31, 2025, the Company announced the separation of its Chief Executive Officer. In connection with this separation agreement, the Board of Directors approved the accelerated vesting of certain outstanding unvested restricted stock awards and performance share unit awards previously granted. As a result of this modification, the Company recognized incremental stock-based compensation expense of $2.1 million during the third quarter of fiscal 2026, representing the fair value of the awards that would have otherwise vested over the remaining service periods. This amount is included in SG&A expenses in the Consolidated Results of Operations.
At November 29, 2025, there was $9.4 million of total unrecognized compensation cost related to nonvested share and nonvested share unit awards, which is expected to be recognized over a weighted average period of approximately 2.0 years. The total fair value of shares vested during the nine months ended November 29, 2025, was $12.4 million.
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.25.4
Income Taxes
9 Months Ended
Nov. 29, 2025
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
We file income tax returns in the U.S. federal jurisdiction, various U.S. state and local jurisdictions, Canada, Brazil, and other international jurisdictions. In September 2025, the Company was notified that the Internal Revenue Service will conduct a U.S. federal examination for fiscal 2023. There is very limited audit activity of our income tax returns in U.S. state jurisdictions or international jurisdictions.
For interim periods, income tax expense and resulting effective tax rate are based upon an estimated annual effective tax rate adjusted for the effects of items required to be treated as discrete to the period, including changes in tax laws, changes in estimated exposures for uncertain tax positions and other items. For the three months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.4%, compared to 24.1% for the same period last year. The change in the effective tax rate was primarily due to an increase in tax expense on discrete items. For the nine months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.1% compared to 24.8% for the same period last year. The increase in the effective tax rate was primarily driven by tax expenses on discrete items.
The total liability for unrecognized tax benefits was $5.9 million at November 29, 2025, compared to $6.0 million at March 1, 2025. Penalties and interest related to unrecognized tax benefits are recorded in income tax expense.
On July 4, 2025, the One Big Beautiful Bill Act (OBBBA) was signed into law in the United States, introducing a wide array of tax reform measures. These include extensions and modifications to certain provisions originally enacted under the Tax Cuts and Jobs Act. Key changes include the immediate expensing of domestic research and development costs, the reinstatement of 100% bonus depreciation, and a new interest expense limitation based on earnings before interest, taxes, depreciation and amortization (EBITDA). These provisions did not have a material effect on the Company’s effective tax rate for the nine-month period ended November 29, 2025.
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.25.4
Earnings per Share
9 Months Ended
Nov. 29, 2025
Earnings Per Share [Abstract]  
Earnings per Share Earnings per Share
The following table presents a reconciliation of the share amounts used in the computation of basic and diluted earnings per share (diluted EPS):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net earnings$16,549 $20,989 $37,511 $82,566 
Basic earnings per share – weighted average common shares outstanding21,302 21,782 21,349 21,789 
Weighted average effect of nonvested share grants and assumed exercise of stock options290 135 219 148 
Diluted earnings per share – weighted average common shares and potential common shares outstanding21,592 21,917 21,568 21,937 
Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares)213 213 18 
Earnings per share:
Basic
$0.78 $0.96 $1.76 $3.79 
Diluted
$0.77 $0.96 $1.74 $3.76 
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.25.4
Business Segment Data
9 Months Ended
Nov. 29, 2025
Segment Reporting [Abstract]  
Business Segment Data Business Segment Data
We have four operating segments which are also reportable segments. Each of our four segments has distinct economic characteristics, including products and services provided, production processes and varying ranges in performance and results:
The Architectural Metals Segment designs, engineers, fabricates and finishes aluminum window, curtainwall, storefront and entrance systems used primarily in non-residential construction.
The Architectural Services Segment integrates technical services, project management, and field installation services to design, engineer, fabricate, and install architectural curtainwall and other façade-related systems primarily in non-residential construction.
The Architectural Glass Segment cuts, treats, coats and fabricates high-performance glass used in custom window and wall systems primarily for non-residential buildings.
The Performance Surfaces Segment develops and manufactures high-performance coated materials for a variety of applications, including wall decor, museums, graphic design, digital displays, architectural interiors, and industrial flooring.
The Company’s CEO is the chief operating decision maker (CODM). The CODM utilizes net sales and adjusted EBITDA to assess segment performance and make decisions about the allocation of operating and capital resources by analyzing recent results, trends, and variances of each segment in relation to forecasts and historical performance.
Net sales, adjusted cost of sales, adjusted SG&A, adjusted other income (expense), depreciation and amortization and the resulting adjusted EBITDA for each of the Company’s four reportable segments are presented below. Segment net sales is defined as net sales for a certain segment and includes revenue related to intersegment transactions. We report net sales intersegment eliminations separately to exclude these sales from our consolidated total. Segment adjusted EBITDA includes intersegment sales transactions and excludes certain corporate costs that are not allocated at a segment level. We report these unallocated corporate costs in Corporate and Other.
Three Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$124,245 $105,166 $66,172 $52,980 $348,563 
Intersegment net sales188 — 4,680 — 4,868 
     Total segment net sales 124,433 105,166 70,852 52,980 353,431 
Adjusted cost of sales (1)
(89,437)(86,747)(52,307)(35,776)(264,267)
Adjusted SG&A (2)
(21,908)(9,030)(10,378)(9,196)(50,512)
Adjusted other expense, net (3)
— — (12)— (12)
Adjusted depreciation and amortization3,662 809 3,379 3,913 11,763 
Adjusted EBITDA$16,750 $10,198 $11,534 $11,921 $50,403 
Three Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$138,019 $104,921 $65,208 $33,196 $341,344 
Intersegment net sales20 — 5,028 — 5,048 
     Total segment net sales138,039 104,921 70,236 33,196 346,392 
Adjusted cost of sales (1)
(100,397)(84,402)(50,033)(21,747)(256,579)
Adjusted SG&A (2)
(24,090)(11,505)(10,086)(5,276)(50,957)
Adjusted other expense, net (3)
— — (6)— (6)
Adjusted depreciation and amortization3,932 981 3,069 2,461 10,443 
Adjusted EBITDA$17,484 $9,995 $13,180 $8,634 $49,293 
Nine Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$393,763 $312,161 $203,835 $143,620 $1,053,379 
Intersegment net sales228 — 12,471 — 12,699 
     Total segment net sales393,991 312,161 216,306 143,620 1,066,078 
Adjusted cost of sales (1)
(287,218)(263,377)(157,278)(95,933)(803,806)
Adjusted SG&A (2)
(71,056)(30,294)(32,323)(27,838)(161,511)
Adjusted other expense, net (3)
— — (77)— (77)
Adjusted depreciation and amortization11,229 2,789 9,970 11,251 35,239 
Adjusted EBITDA$46,946 $21,279 $36,598 $31,100 $135,923 
Nine Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$412,469 $301,966 $226,633 $74,232 $1,015,300 
Intersegment net sales92 — 20,407 — 20,499 
     Total segment net sales412,561 301,966 247,040 74,232 1,035,799 
Adjusted cost of sales (1)
(287,846)(246,622)(167,058)(46,583)(748,109)
Adjusted SG&A (2)
(73,773)(34,320)(31,706)(12,837)(152,636)
Adjusted other income, net (3)
— — 116 — 116 
Adjusted depreciation and amortization12,609 2,887 9,158 4,046 28,700 
Adjusted EBITDA$63,551 $23,911 $57,551 $18,858 $163,871 
(1)
Adjusted cost of sales excludes $0.1 million and $3.4 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $0.5 million and $13.3 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted cost of sales excludes $0.1 million of income and $1.3 million of expense related to restructuring for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted cost of sales excludes $0.4 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(2)
Adjusted SG&A expense excludes $0.2 million and $1.0 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $1.2 million and $6.9 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted SG&A expense excludes $0.3 million and $1.0 million related to restructuring expense for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted SG&A excludes $0.9 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(3)
Adjusted other income, net excludes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.
The following table presents the reconciliation of adjusted EBITDA to net earnings, the nearest measurement under U.S. GAAP:
Three Months EndedNine Months Ended
(In thousands)November 29,
2025
November 30,
2024
November 29,
2025
November 30,
2024
Segment Adjusted EBITDA$50,403 $49,293 $135,923 $163,871 
Corporate and Other Expenses(8,033)(8,014)(17,636)(16,978)
Segment acquisition-related costs (1)
(259)(1,331)(1,723)(1,331)
Segment restructuring costs (2)
(4,401)(125)(20,233)(2,296)
Depreciation and amortization(12,516)(11,134)(37,456)(30,798)
Other income (3)
2,143 — 6,740 — 
Interest expense, net(3,227)(1,044)(11,148)(2,634)
Income tax expense(7,561)(6,656)(16,956)(27,268)
Net earnings$16,549 $20,989 $37,511 $82,566 
(1)
Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.
(2)Segment restructuring charges related to Project Fortify.
(3)
Other income, net includes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.25.4
Acquisitions
9 Months Ended
Nov. 29, 2025
Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]  
Acquisitions Acquisitions
On November 4, 2024, we completed the acquisition of UW Solutions for $240.9 million in cash. UW Solutions is a U.S. based, vertically integrated manufacturer of high-performance coated substrates with a portfolio of well-known brands, including ResinDEK®, ChromaLuxe®, RDC Coatings™, and Unisub®, each known as a leader in its specified applications. The UW Solutions business activity is included in our Performance Surfaces Segment.
The total purchase consideration was $232.2 million in cash, net of a favorable net working capital adjustment of $0.9 million and cash acquired of $8.7 million. The acquisition was funded with cash on hand and borrowings under our existing credit agreement. During fiscal 2025, we incurred total pre-tax acquisition-related expenses of $10.3 million associated with the acquisition. During the three-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $0.3 million, of which $0.1 million and $0.2 million are included in cost of sales and SG&A, respectively, within our Consolidated Results of Operations. During the nine-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $2.0 million, of which $0.5 million and $1.5 million are included in cost of sales and SG&A, respectively, within our Consolidated Results of Operations.
We accounted for the acquisition as a purchase of a business and recorded the excess of the purchase price over the estimated fair value of the assets acquired and liabilities assumed as goodwill of $107.8 million. The goodwill recognized is attributable primarily to expected synergies by integrating UW Solutions into our Performance Surfaces Segment and by creating a scalable growth platform in the specialty coatings and materials market. The goodwill is expected to be amortized and deductible for income tax purposes. We have provisionally determined the appropriate fair values of the acquired intangible assets and completed our analysis of the economic lives of the assets acquired.
The following table presents the estimated fair values of assets acquired and liabilities assumed at the acquisition date:
(In thousands)
Assets:
Cash and cash equivalents$8,703 
Receivables, net12,427 
Inventories, net17,903 
Other current assets1,122 
Property, plant and equipment26,563 
Operating lease right-of-use assets14,189 
Goodwill107,826 
Intangible assets, net79,679 
Other non-current assets166 
Total Assets$268,578 
Liabilities:
Accounts payable5,126 
Accrued compensation and benefits6,900 
Operating lease liabilities1,259 
Other non-current liabilities1,490 
Noncurrent operating lease liabilities12,930 
Total Liabilities$27,705 
Net assets recorded$240,873 
The impact of the acquisition of UW Solutions on our Consolidated Results of Operations for the three-month period ended on November 29, 2025, was $27.9 million of net sales and $0.3 million of net income, and for the nine-month period ended on November 29, 2025, was $74.8 million of net sales and $1.8 million of net loss.
The following supplemental unaudited pro forma information presents our financial results as if the acquisition of UW Solutions had occurred on March 3, 2024. This supplemental pro forma information has been prepared for comparative purposes and would not necessarily indicate what may have occurred if the acquisition had been completed on March 3, 2024, and this information is not intended to be indicative of future results.
(in thousands, except earnings per share data)
(Unaudited)
Three Months EndedNine Months Ended
November 30, 2024November 30, 2024
Net sales$359,904 $1,077,941 
Net earnings20,456 72,150 
Earnings per share:
Basic$0.94 $3.31 
Diluted$0.93 $3.29 
The three-month period ended November 30, 2024, includes $0.6 million of non-recurring integration costs in the three-month proforma period. Nonrecurring charges of $4.4 million of transaction costs, $2.3 million of integration costs, $2.3 million of amortization of acquired backlog, and $1.5 million of inventory step-up expense are included in the nine-month period ended November 30, 2024, and are included in the nine-month proforma period ended November 30, 2024.
These amounts have been calculated after applying our accounting policies and adjusting the results of UW Solutions to reflect the effect of definite-lived intangible assets recognized as part of the business combination on amortization expense as if the acquisition had occurred on March 3, 2024.
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.25.4
Restructuring
9 Months Ended
Nov. 29, 2025
Restructuring and Related Activities [Abstract]  
Restructuring Restructuring
During the fourth quarter of fiscal 2024, we announced strategic actions to streamline our business operations, enable a more efficient cost model, and better position the Company for profitable growth (referred to as “Project Fortify”). Project Fortify primarily impacted the Architectural Metals Segment and included:
Eliminating certain lower-margin product and service offerings, enabling consolidation into a single operating entity.
Transferring production operations from the Company’s facility in Walker, Michigan, to the Company’s facilities in Monett, Missouri and Wausau, Wisconsin.
Simplifying the segment’s brand portfolio and commercial model to improve flexibility, better leverage the Company’s capabilities, and enhance customer service.
Additionally, the Company implemented actions to optimize processes and streamline resources in its Architectural Services Segment and Corporate and Other. The Company completed Project Fortify during the fourth quarter of fiscal 2025 and incurred a total of $16.7 million of restructuring charges, which led to an annualized pre-tax cost savings of approximately $14 million.
On April 23, 2025, we announced a second phase of Project Fortify (referred to as "Project Fortify Phase 2" or "Phase 2") to drive further cost efficiencies, primarily in the Architectural Metals and Architectural Services Segments. Phase 2 focuses on further optimizing our operating footprint and aligning resources to enable a more effective operating model. We expect to incur approximately $28 million to $29 million of pre-tax charges associated with Phase 2. The total charges are expected to include the following:
$15 million to $16 million of severance and employee related costs;
$5 million to $6 million of contract termination costs; and
$7 million to $8 million of other expenses.
We expect the actions associated with Phase 2 to be substantially completed by the end of the fourth quarter of fiscal 2026 and expect them to deliver annualized pre-tax cost savings of approximately $25 million to $26 million.
During the third quarter of fiscal 2026, we incurred $5.1 million of pre-tax costs associated with Phase 2, of which $3.5 million is included in cost of sales and $1.6 million is included within SG&A. During the first nine months of fiscal 2026, we incurred $23.6 million of pre-tax costs associated with Phase 2, of which, $13.4 million is included in cost of sales and $10.2 million is included within SG&A. For the nine months ended November 29, 2025, SG&A charges include a $5.0 million non-cash intangible asset impairment charge in the Architectural Services segment and a $2.6 million non-cash asset write-off and other charges in Corporate and Other.
The table below reflects the pretax impact of Project Fortify for the quarters ended November 29, 2025, and November 30, 2024, respectively.
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits$1,887 $181 $637 $2,705 
Contract termination costs597 1,662 — 2,259 
Other restructuring charges53 21 42 116 
Total restructuring charges$2,537 $1,864 $679 $5,080 
November 30, 2024
Termination benefits$387 $(764)$787 $410 
Other restructuring charges455 47 — 502 
Total restructuring charges$842 $(717)$787 $912 
The table below reflects the pretax impact of Project Fortify for the nine months ended November 29, 2025, and November 30, 2024, respectively.
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits $2,693 $6,653 $637 $9,983 
Contract termination costs1,399 3,594 — 4,993 
Other restructuring charges272 5,623 2,683 8,578 
Total restructuring charges$4,364 $15,870 $3,320 $23,554 
November 30, 2024
Termination benefits$960 $(592)$917 $1,285 
Contract termination costs108 — — 108 
Other restructuring charges1,687 133 — 1,820 
Total restructuring charges$2,755 $(459)$917 $3,213 
The following table summarizes our restructuring related accrual balances included within accrued payroll and related benefits and other current liabilities in the consolidated balance sheets. All remaining accrual balances are expected to be paid within fiscal 2026.
(In thousands)Architectural Metals Architectural ServicesCorporate and OtherTotal
Balance at March 1, 2025$1,286 $650 $511 $2,447 
Restructuring expense3,446 5,980 3,320 12,746 
Payments(1,939)(3,270)(599)(5,808)
Balance at November 29, 2025$2,802 $3,360 $3,232 $9,394 
The charges presented in the roll forward of our restructuring accruals do not include items charged directly to expense as incurred, as those items are not reflected in accrued payroll and related benefits and other current liabilities in the consolidated balance sheets.
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.25.4
Insider Trading Arrangements
3 Months Ended
Nov. 29, 2025
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.25.4
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Nov. 29, 2025
Accounting Policies [Abstract]  
Basis of presentation
Basis of presentation
The consolidated financial statements of Apogee Enterprises, Inc. (we, us, our or the Company) have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP). The information included in this Form 10-Q should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025. We use the same accounting policies in preparing quarterly and annual financial statements. All adjustments necessary for a fair presentation of quarterly and year to date operating results are reflected herein. The results of operations for the three and nine month periods ended November 29, 2025, are not necessarily indicative of the results to be expected for the full year.
Adoption of new accounting standards and Accounting standards not yet adopted
Adoption of new accounting standards
On November 27, 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standard Update (ASU) 2023-07, Improvements to Reportable Segment Disclosures, which expands the required disclosure for reportable segments. This guidance requires entities to disclose significant segment expenses and other segment items on an annual and interim basis and to provide in interim periods all segment disclosures which are currently required annually. This ASU additionally requires entities to disclose the title and position of the individual or the name of the group or committee identified as its chief operating decision-maker. We adopted this guidance in the fourth quarter of fiscal 2025 for the annual requirements and in the first quarter of fiscal 2026 for the interim requirements.
Accounting standards not yet adopted
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures. The ASU is effective for our fiscal 2026 annual financial statements and for our interim financial statements beginning fiscal 2027. This guidance expands the existing disclosure requirements for the annual rate reconciliation between the effective tax rate and the statutory federal tax rate by requiring reconciliation items to be disaggregated by defined categories and disclosed as both percentages and amounts. ASU 2023-09 also requires the disaggregation of income taxes paid by jurisdiction for each annual period presented.
In November 2024, the FASB issued ASU 2024-03, Disaggregation of Income Statement Expenses. This guidance requires entities to disclose more detailed information about the types of expenses, including purchases of inventory, employee compensation, depreciation, amortization, and depletion in commonly presented expense captions such as cost of sales and selling, general and administrative (SG&A) expenses. Such guidance is effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, although early adoption is permitted. This guidance should be applied either prospectively to financial statements issued for reporting periods after the effective date of this ASU or retrospectively to any or all prior periods presented in the financial statements. While the adoption of this ASU will not have an impact on our financial position and/or results of operations, we are currently evaluating the impact this ASU may have on our consolidated financial statement disclosures, including the processes and controls around the collection of this information.
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities (Tables)
9 Months Ended
Nov. 29, 2025
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregates Total Revenue by Timing of Recognition
The following table disaggregates total revenue by timing of recognition (see Note 12 for disclosure of revenue by segment):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Recognized at shipment$163,008 $150,704 $492,845 $427,945 
Recognized over time (input method)119,570 125,451 356,927 360,815 
Recognized over time (output method)65,985 65,189 203,607 226,540 
Total$348,563 $341,344 $1,053,379 $1,015,300 
Schedule of Receivables
(In thousands)November 29, 2025March 1, 2025
Trade accounts$111,819 $117,533 
Construction contracts66,310 70,724 
Total receivables178,129 188,257 
Less: allowance for credit losses1,541 2,667 
Receivables, net$176,588 $185,590 
Schedule of Allowance for Credit Losses
The following table summarizes the activity in the allowance for credit losses for the nine months ended November 29, 2025:
(In thousands)November 29, 2025
Beginning balance$2,667 
Credits against costs and expenses(571)
Deductions from allowance, net of recoveries(581)
Other adjustments26 
Ending balance$1,541 
Schedule of Other Contract-Related Disclosures
(In thousands)November 29, 2025March 1, 2025
Contract assets$66,645 $71,842 
Contract liabilities43,086 35,193 
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Revenue recognized related to contract liabilities from prior year-end$700 $399 $29,029 $30,760 
Revenue recognized related to prior satisfaction of performance obligations1,957 4,129 4,366 12,295 
Schedule of Performance Obligations Expected to be Satisfied The transaction prices associated with unsatisfied performance obligations at November 29, 2025, are expected to be satisfied, and the corresponding revenue to be recognized, over the following estimated time periods:
(In thousands)November 29, 2025
Within one year
$530,201 
Between one and two years
283,130 
Beyond two years79,485 
Total$892,816 
Schedule of Impact of Adjustments on Operating Income
The net cumulative catch-up adjustments on our longer-term contracts for changes in estimates had the following effect on the respective periods shown:
(in thousands, except earnings per share data)Three Months EndedNine Months Ended
November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Operating income
$3,976 $5,801 $4,775 $12,905 
Earnings per share:
Basic
0.140.200.170.45
Diluted
0.140.200.170.44
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.25.4
Inventories (Tables)
9 Months Ended
Nov. 29, 2025
Inventory Disclosure [Abstract]  
Schedule of Inventories
(In thousands)November 29, 2025March 1, 2025
Raw materials$46,900 $36,804 
Work-in-process17,676 15,554 
Finished goods37,919 39,947 
Total inventories, net$102,495 $92,305 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments (Tables)
9 Months Ended
Nov. 29, 2025
Marketable Securities [Abstract]  
Schedule of Available-for-Sale Marketable Securities
Through our wholly-owned insurance subsidiary, Prism Assurance, Ltd. (Prism), we hold the following available-for-sale marketable securities, made up of fixed-maturity investments:
(In thousands)Amortized CostGross Unrealized GainsGross Unrealized LossesEstimated
Fair Value
November 29, 2025$9,211 $27 $137 $9,101 
March 1, 202510,148 33 222 9,959 
Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity
The amortized cost and estimated fair values of these investments at November 29, 2025, by contractual maturity, are shown below. Expected maturities may differ from contractual maturities, as borrowers may have the right to call or prepay obligations with or without penalty. Investments that are due within one year are included in other current assets while those due after one year are included as other non-current assets. Gross realized gains and losses were insignificant for all periods presented.
(In thousands)Amortized CostEstimated Fair Value
Due within one year$7,239 $7,163 
Due after one year through five years1,972 1,938 
Total$9,211 $9,101 
Schedule of Fair Value Measurements
Financial assets and liabilities measured at fair value on a recurring basis were:
(In thousands)Quoted Prices in Active Markets
(Level 1)
Other Observable Inputs
(Level 2)
Total Fair Value
November 29, 2025
Assets:
Money market funds$30,493 $— $30,493 
Municipal bonds— 9,101 9,101 
Interest rate swap contracts— 125 125 
Liabilities:
Interest rate swap contracts— 806 806 
March 1, 2025
Assets:
Money market funds$20,758 $— $20,758 
Municipal bonds— 9,959 9,959 
Foreign currency option contract— 29 29 
Interest rate swap contracts— 539 539 
Liabilities:
Interest rate swap contracts— 540 540 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.25.4
Debt (Tables)
9 Months Ended
Nov. 29, 2025
Debt Disclosure [Abstract]  
Schedule Of Interest Expense
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Interest on debt$3,911 $2,077 $13,005 $4,590 
Interest rate swap gain(242)(223)(555)(695)
Other interest expense172 38 475 653 
Interest income(614)(848)(1,777)(1,914)
Interest expense, net
$3,227 $1,044 $11,148 $2,634 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.25.4
Commitments and Contingent Liabilities (Tables)
9 Months Ended
Nov. 29, 2025
Commitments and Contingencies Disclosure [Abstract]  
Schedule of Guarantees and warranties
 Nine Months Ended
(In thousands)November 29, 2025
Beginning balance$18,461 
Credits against costs and expenses(1,044)
Claims paid(3,504)
Ending balance$13,913 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.25.4
Supplier Finance Program Obligations (Tables)
9 Months Ended
Nov. 29, 2025
Payables and Accruals [Abstract]  
Schedule of Obligation Activity and Outstanding Balances
The following table summarizes the obligation activity and outstanding balance for the nine months ended November 29, 2025, that we have confirmed as valid to the administrators of our program:
(In thousands)November 29, 2025
Balance at beginning of period$6,846 
Obligations added to the program39,692 
Obligations settled(39,690)
Balance at end of period$6,848 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.25.4
Share-Based Compensation (Tables)
9 Months Ended
Nov. 29, 2025
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value
The table below sets forth the number of stock-based compensation awards granted during the nine months ended November 29, 2025, along with the weighted average grant date fair value:
AwardsNumber of AwardsWeighted Average Grant Date Fair Value
Restricted stock awards and restricted stock units(1)
178,103 $43.92 
Performance share units (2)
53,542 $45.44 
(1)
Represent service condition awards which generally vest over a two- or three-year period.
(2)
Represent performance condition awards with the grant equal to the target number of performance shares based on the share price at grant date. These grants allow for the right to receive a variable number of shares, between 0% and 200% of target, dependent on being employed at the end of the performance period and achieving defined performance goals for average adjusted return on invested capital and cumulative adjusted earnings per share.
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.25.4
Earnings per Share (Tables)
9 Months Ended
Nov. 29, 2025
Earnings Per Share [Abstract]  
Schedule of Basic and Diluted Earnings Per Share
The following table presents a reconciliation of the share amounts used in the computation of basic and diluted earnings per share (diluted EPS):
Three Months EndedNine Months Ended
(In thousands)November 29, 2025November 30, 2024November 29, 2025November 30, 2024
Net earnings$16,549 $20,989 $37,511 $82,566 
Basic earnings per share – weighted average common shares outstanding21,302 21,782 21,349 21,789 
Weighted average effect of nonvested share grants and assumed exercise of stock options290 135 219 148 
Diluted earnings per share – weighted average common shares and potential common shares outstanding21,592 21,917 21,568 21,937 
Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares)213 213 18 
Earnings per share:
Basic
$0.78 $0.96 $1.76 $3.79 
Diluted
$0.77 $0.96 $1.74 $3.76 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.25.4
Business Segment Data (Tables)
9 Months Ended
Nov. 29, 2025
Segment Reporting [Abstract]  
Schedule of Segment Reporting Information
Three Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$124,245 $105,166 $66,172 $52,980 $348,563 
Intersegment net sales188 — 4,680 — 4,868 
     Total segment net sales 124,433 105,166 70,852 52,980 353,431 
Adjusted cost of sales (1)
(89,437)(86,747)(52,307)(35,776)(264,267)
Adjusted SG&A (2)
(21,908)(9,030)(10,378)(9,196)(50,512)
Adjusted other expense, net (3)
— — (12)— (12)
Adjusted depreciation and amortization3,662 809 3,379 3,913 11,763 
Adjusted EBITDA$16,750 $10,198 $11,534 $11,921 $50,403 
Three Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$138,019 $104,921 $65,208 $33,196 $341,344 
Intersegment net sales20 — 5,028 — 5,048 
     Total segment net sales138,039 104,921 70,236 33,196 346,392 
Adjusted cost of sales (1)
(100,397)(84,402)(50,033)(21,747)(256,579)
Adjusted SG&A (2)
(24,090)(11,505)(10,086)(5,276)(50,957)
Adjusted other expense, net (3)
— — (6)— (6)
Adjusted depreciation and amortization3,932 981 3,069 2,461 10,443 
Adjusted EBITDA$17,484 $9,995 $13,180 $8,634 $49,293 
Nine Months Ended November 29, 2025
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$393,763 $312,161 $203,835 $143,620 $1,053,379 
Intersegment net sales228 — 12,471 — 12,699 
     Total segment net sales393,991 312,161 216,306 143,620 1,066,078 
Adjusted cost of sales (1)
(287,218)(263,377)(157,278)(95,933)(803,806)
Adjusted SG&A (2)
(71,056)(30,294)(32,323)(27,838)(161,511)
Adjusted other expense, net (3)
— — (77)— (77)
Adjusted depreciation and amortization11,229 2,789 9,970 11,251 35,239 
Adjusted EBITDA$46,946 $21,279 $36,598 $31,100 $135,923 
Nine Months Ended November 30, 2024
(In thousands)Architectural MetalsArchitectural ServicesArchitectural GlassPerformance SurfacesTotal
Net sales$412,469 $301,966 $226,633 $74,232 $1,015,300 
Intersegment net sales92 — 20,407 — 20,499 
     Total segment net sales412,561 301,966 247,040 74,232 1,035,799 
Adjusted cost of sales (1)
(287,846)(246,622)(167,058)(46,583)(748,109)
Adjusted SG&A (2)
(73,773)(34,320)(31,706)(12,837)(152,636)
Adjusted other income, net (3)
— — 116 — 116 
Adjusted depreciation and amortization12,609 2,887 9,158 4,046 28,700 
Adjusted EBITDA$63,551 $23,911 $57,551 $18,858 $163,871 
(1)
Adjusted cost of sales excludes $0.1 million and $3.4 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $0.5 million and $13.3 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted cost of sales excludes $0.1 million of income and $1.3 million of expense related to restructuring for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted cost of sales excludes $0.4 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(2)
Adjusted SG&A expense excludes $0.2 million and $1.0 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $1.2 million and $6.9 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted SG&A expense excludes $0.3 million and $1.0 million related to restructuring expense for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted SG&A excludes $0.9 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.
(3)
Adjusted other income, net excludes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.
The following table presents the reconciliation of adjusted EBITDA to net earnings, the nearest measurement under U.S. GAAP:
Three Months EndedNine Months Ended
(In thousands)November 29,
2025
November 30,
2024
November 29,
2025
November 30,
2024
Segment Adjusted EBITDA$50,403 $49,293 $135,923 $163,871 
Corporate and Other Expenses(8,033)(8,014)(17,636)(16,978)
Segment acquisition-related costs (1)
(259)(1,331)(1,723)(1,331)
Segment restructuring costs (2)
(4,401)(125)(20,233)(2,296)
Depreciation and amortization(12,516)(11,134)(37,456)(30,798)
Other income (3)
2,143 — 6,740 — 
Interest expense, net(3,227)(1,044)(11,148)(2,634)
Income tax expense(7,561)(6,656)(16,956)(27,268)
Net earnings$16,549 $20,989 $37,511 $82,566 
(1)
Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.
(2)Segment restructuring charges related to Project Fortify.
(3)
Other income, net includes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.25.4
Acquisitions (Tables)
9 Months Ended
Nov. 29, 2025
Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]  
Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed
The following table presents the estimated fair values of assets acquired and liabilities assumed at the acquisition date:
(In thousands)
Assets:
Cash and cash equivalents$8,703 
Receivables, net12,427 
Inventories, net17,903 
Other current assets1,122 
Property, plant and equipment26,563 
Operating lease right-of-use assets14,189 
Goodwill107,826 
Intangible assets, net79,679 
Other non-current assets166 
Total Assets$268,578 
Liabilities:
Accounts payable5,126 
Accrued compensation and benefits6,900 
Operating lease liabilities1,259 
Other non-current liabilities1,490 
Noncurrent operating lease liabilities12,930 
Total Liabilities$27,705 
Net assets recorded$240,873 
Schedule of Supplemental Unaudited Pro Forma Information
The following supplemental unaudited pro forma information presents our financial results as if the acquisition of UW Solutions had occurred on March 3, 2024. This supplemental pro forma information has been prepared for comparative purposes and would not necessarily indicate what may have occurred if the acquisition had been completed on March 3, 2024, and this information is not intended to be indicative of future results.
(in thousands, except earnings per share data)
(Unaudited)
Three Months EndedNine Months Ended
November 30, 2024November 30, 2024
Net sales$359,904 $1,077,941 
Net earnings20,456 72,150 
Earnings per share:
Basic$0.94 $3.31 
Diluted$0.93 $3.29 
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.25.4
Restructuring (Tables)
9 Months Ended
Nov. 29, 2025
Restructuring and Related Activities [Abstract]  
Schedule of Restructuring
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits$1,887 $181 $637 $2,705 
Contract termination costs597 1,662 — 2,259 
Other restructuring charges53 21 42 116 
Total restructuring charges$2,537 $1,864 $679 $5,080 
November 30, 2024
Termination benefits$387 $(764)$787 $410 
Other restructuring charges455 47 — 502 
Total restructuring charges$842 $(717)$787 $912 
The table below reflects the pretax impact of Project Fortify for the nine months ended November 29, 2025, and November 30, 2024, respectively.
(In thousands)
Architectural Metals
Architectural Services
Corporate and Other
Total
November 29, 2025
Termination benefits $2,693 $6,653 $637 $9,983 
Contract termination costs1,399 3,594 — 4,993 
Other restructuring charges272 5,623 2,683 8,578 
Total restructuring charges$4,364 $15,870 $3,320 $23,554 
November 30, 2024
Termination benefits$960 $(592)$917 $1,285 
Contract termination costs108 — — 108 
Other restructuring charges1,687 133 — 1,820 
Total restructuring charges$2,755 $(459)$917 $3,213 
Schedule of Restructuring Reserve
The following table summarizes our restructuring related accrual balances included within accrued payroll and related benefits and other current liabilities in the consolidated balance sheets. All remaining accrual balances are expected to be paid within fiscal 2026.
(In thousands)Architectural Metals Architectural ServicesCorporate and OtherTotal
Balance at March 1, 2025$1,286 $650 $511 $2,447 
Restructuring expense3,446 5,980 3,320 12,746 
Payments(1,939)(3,270)(599)(5,808)
Balance at November 29, 2025$2,802 $3,360 $3,232 $9,394 
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Disaggregation of Revenue [Line Items]        
Total $ 348,563 $ 341,344 $ 1,053,379 $ 1,015,300
Recognized at shipment        
Disaggregation of Revenue [Line Items]        
Total 163,008 150,704 492,845 427,945
Recognized over time (input method)        
Disaggregation of Revenue [Line Items]        
Total 119,570 125,451 356,927 360,815
Recognized over time (output method)        
Disaggregation of Revenue [Line Items]        
Total $ 65,985 $ 65,189 $ 203,607 $ 226,540
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Total receivables $ 178,129 $ 188,257
Less: allowance for credit losses 1,541 2,667
Receivables, net 176,588 185,590
Trade accounts    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Total receivables 111,819 117,533
Construction contracts    
Accounts, Notes, Loans and Financing Receivable [Line Items]    
Total receivables $ 66,310 $ 70,724
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details)
$ in Thousands
9 Months Ended
Nov. 29, 2025
USD ($)
Accounts Receivable, Allowance for Credit Loss [Roll Forward]  
Beginning balance $ 2,667
Credits against costs and expenses (571)
Deductions from allowance, net of recoveries (581)
Other adjustments 26
Ending balance $ 1,541
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Revenue Recognition and Deferred Revenue [Abstract]    
Contract assets $ 66,645 $ 71,842
Contract liabilities $ 43,086 $ 35,193
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Revenue from Contract with Customer [Abstract]        
Revenue recognized related to contract liabilities from prior year-end $ 700 $ 399 $ 29,029 $ 30,760
Revenue recognized related to prior satisfaction of performance obligations $ 1,957 $ 4,129 $ 4,366 $ 12,295
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details)
$ in Thousands
Nov. 29, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue to be recognized $ 892,816
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-09-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Expected timing of satisfaction 1 year
Revenue to be recognized $ 530,201
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-08-30  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Expected timing of satisfaction 2 years
Revenue to be recognized $ 283,130
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-08-29  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Expected timing of satisfaction
Revenue to be recognized $ 79,485
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Disaggregation of Revenue [Line Items]        
Operating income $ 24,879 $ 28,629 $ 58,699 $ 111,975
Earnings per share:        
Basic (in usd per share) $ 0.78 $ 0.96 $ 1.76 $ 3.79
Diluted (in usd per share) $ 0.77 $ 0.96 $ 1.74 $ 3.76
Revision of Prior Period, Adjustment        
Disaggregation of Revenue [Line Items]        
Operating income $ 3,976 $ 5,801 $ 4,775 $ 12,905
Earnings per share:        
Basic (in usd per share) $ 0.14 $ 0.20 $ 0.17 $ 0.45
Diluted (in usd per share) $ 0.14 $ 0.20 $ 0.17 $ 0.44
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.25.4
Inventories (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Inventory Disclosure [Abstract]    
Raw materials $ 46,900 $ 36,804
Work-in-process 17,676 15,554
Finished goods 37,919 39,947
Total inventories, net $ 102,495 $ 92,305
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Debt Securities, Available-for-sale [Line Items]    
Total $ 9,211  
Estimated Fair Value 9,101 $ 9,959
Municipal and Corporate Bonds    
Debt Securities, Available-for-sale [Line Items]    
Total 9,211 10,148
Gross Unrealized Gains 27 33
Gross Unrealized Losses 137 222
Estimated Fair Value $ 9,101 $ 9,959
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Amortized Cost    
Due within one year $ 7,239  
Due after one year through five years 1,972  
Total 9,211  
Estimated Fair Value    
Due within one year 7,163  
Due after one year through five years 1,938  
Total $ 9,101 $ 9,959
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments - Additional Information (Details) - USD ($)
$ in Millions
Aug. 30, 2025
Mar. 01, 2025
Feb. 29, 2020
Designated as Hedging Instrument | Interest rate swap contracts      
Derivatives, Fair Value [Line Items]      
Notional value $ 50.0 $ 75.0 $ 30.0
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.25.4
Financial Instruments -Schedule of Fair Value Measurements (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds $ 30,493 $ 20,758
Municipal bonds 9,101 9,959
Foreign currency option contract    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset   29
Interest rate swap contracts    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset 125 539
Derivative liabilities 806 540
Quoted Prices in Active Markets (Level 1)    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 30,493 20,758
Municipal bonds 0 0
Quoted Prices in Active Markets (Level 1) | Foreign currency option contract    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset   0
Quoted Prices in Active Markets (Level 1) | Interest rate swap contracts    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset 0 0
Derivative liabilities 0 0
Other Observable Inputs (Level 2)    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 0 0
Municipal bonds 9,101 9,959
Other Observable Inputs (Level 2) | Foreign currency option contract    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset   29
Other Observable Inputs (Level 2) | Interest rate swap contracts    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Derivative asset 125 539
Derivative liabilities $ 806 $ 540
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.25.4
Debt - Additional Information (Details)
3 Months Ended 9 Months Ended
Nov. 04, 2024
USD ($)
Jul. 19, 2024
USD ($)
drawdown
lineOfCredit
Aug. 31, 2024
USD ($)
Nov. 29, 2025
USD ($)
acquisitionHoliday
quarter
Nov. 30, 2024
USD ($)
Mar. 01, 2025
Line of Credit Facility [Line Items]            
Loss on extinguishment of debt     $ 500,000      
Maximum number of acquisition holidays | acquisitionHoliday       2    
Number of quarters separating acquisition holidays | quarter       2    
Letters of credit outstanding, amount       $ 2,600,000    
Interest payments       $ 13,200,000 $ 3,500,000  
Interest rate swap contracts            
Line of Credit Facility [Line Items]            
Weighted average interest rates       3.16%   4.32%
Lender Fees            
Line of Credit Facility [Line Items]            
Capitalized fees     3,000,000      
Third-Party Fees            
Line of Credit Facility [Line Items]            
Capitalized fees     $ 800,000      
Line of Credit            
Line of Credit Facility [Line Items]            
Acquisition holiday       $ 75,000,000    
Line of Credit | Minimum | Base Rate            
Line of Credit Facility [Line Items]            
Basis spread       0.25%    
Line of Credit | Minimum | Term SOFR and CORRA            
Line of Credit Facility [Line Items]            
Basis spread       1.25%    
Line of Credit | Minimum | Incremental Term SOFR and CORRA Adjustment            
Line of Credit Facility [Line Items]            
Basis spread       0.10%    
Line of Credit | Maximum | Base Rate            
Line of Credit Facility [Line Items]            
Basis spread       0.75%    
Line of Credit | Maximum | Term SOFR and CORRA            
Line of Credit Facility [Line Items]            
Basis spread       1.75%    
Line of Credit | Maximum | Incremental Term SOFR and CORRA Adjustment            
Line of Credit Facility [Line Items]            
Basis spread       0.29547%    
Line of Credit | Revolving credit facility            
Line of Credit Facility [Line Items]            
Maximum debt-to-EBITDA ratio       3.50    
Minimum ratio of EBITDA-to-interest expense       3.00    
Outstanding borrowings       $ 40,000,000.0    
Amount of available commitment       $ 407,400,000    
Line of Credit | Revolving credit facility | Acquisition Holiday Condition            
Line of Credit Facility [Line Items]            
Maximum debt-to-EBITDA ratio       4.00    
Line of Credit | Revolving credit facility | Wells Fargo Bank, N.A.            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 385,000,000        
Line of Credit | Revolving credit facility | Bank of Montreal            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 25,000,000        
Number of lines of credit | lineOfCredit   2        
Unsecured Senior Credit Facility | Line of Credit            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 700,000,000        
Debt instrument term   5 years        
Unsecured Senior Credit Facility | Line of Credit | Revolving credit facility            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 450,000,000        
Debt instrument term   5 years        
Unsecured Senior Credit Facility | Line of Credit | Term Loan Facility            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 250,000,000   $ 215,000,000.0    
Debt instrument term   1 year        
Number of drawdowns | drawdown   2        
Delayed draw term loan facility executed $ 250,000,000          
Unsecured Senior Credit Facility | Line of Credit | Revolving Credit Facility - CAD            
Line of Credit Facility [Line Items]            
Maximum borrowing capacity   $ 25,000,000        
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.25.4
Debt - Schedule of Interest Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Debt Disclosure [Abstract]        
Interest on debt $ 3,911 $ 2,077 $ 13,005 $ 4,590
Interest rate swap gain (242) (223) (555) (695)
Other interest expense 172 38 475 653
Interest income (614) (848) (1,777) (1,914)
Interest expense, net $ 3,227 $ 1,044 $ 11,148 $ 2,634
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.25.4
Commitments and Contingent Liabilities - Additional Information (Details)
$ in Millions
1 Months Ended 3 Months Ended
Apr. 07, 2025
USD ($)
Dec. 31, 2022
USD ($)
Nov. 29, 2025
USD ($)
Aug. 30, 2025
USD ($)
transaction
Mar. 01, 2025
USD ($)
Commitments and Contingencies Disclosure [Abstract]          
Face value of performance bonds     $ 1,200.0    
Companies backlog related to sales     253.0    
Letters of credit outstanding, amount     2.6    
Purchase obligations     16.4    
Number of NMTC transaction settled | transaction       1  
NMTC transaction settled, tax benefit     $ 2.1 $ 4.6  
Amount awarded to other party   $ 20.0      
Accrued post-judgment interest $ 24.7        
Judgement expenses         $ 9.4
Loss contingency existing reserve and insurance proceeds amount         $ 11.0
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.25.4
Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details)
$ in Thousands
9 Months Ended
Nov. 29, 2025
USD ($)
Guarantees and warranties  
Beginning balance $ 18,461
Credits against costs and expenses (1,044)
Claims paid (3,504)
Ending balance $ 13,913
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.25.4
Supplier Finance Program Obligations (Details)
$ in Thousands
9 Months Ended
Nov. 29, 2025
USD ($)
Supplier Finance Program, Obligation [Roll Forward]  
Balance at beginning of period $ 6,846
Obligations added to the program 39,692
Obligations settled (39,690)
Balance at end of period $ 6,848
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.25.4
Shareholders' Equity (Details) - USD ($)
$ / shares in Units, $ in Thousands
9 Months Ended 273 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Class of Stock [Line Items]      
Dividends paid $ 16,567 $ 16,238  
Common dividends (in dollars per share) $ 0.78 $ 0.75  
Share Repurchase Program      
Class of Stock [Line Items]      
Share repurchases (in shares) 0 241,573 12,063,207
Share repurchases, value   $ 15,100 $ 438,500
Remaining shares authorized to be repurchased (in shares) 2,186,793,000   2,186,793,000
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.25.4
Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details)
9 Months Ended
Nov. 29, 2025
$ / shares
shares
Restricted stock awards and restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of Awards (in shares) | shares 178,103
Weighted Average Grant Date Fair Value (in usd per share) | $ / shares $ 43.92
Restricted stock awards and restricted stock units | Minimum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 2 years
Restricted stock awards and restricted stock units | Maximum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Vesting period 3 years
Performance share units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of Awards (in shares) | shares 53,542
Weighted Average Grant Date Fair Value (in usd per share) | $ / shares $ 45.44
Performance share units | Minimum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Target number of performance shares 0.00%
Performance share units | Maximum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Target number of performance shares 200.00%
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.25.4
Share-Based Compensation - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Share-based compensation expense $ 3,800 $ 2,400 $ 6,570 $ 8,067
Total unrecognized compensation cost related to nonvested share 9,400   $ 9,400  
Restricted Stock        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Incremental cost $ 2,100      
Weighted average period     2 years  
Total fair value of shares vested     $ 12,400  
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.25.4
Income Taxes (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Mar. 01, 2025
Income Tax Disclosure [Abstract]          
Income tax expense as a percentage of earnings before income taxes 31.40% 24.10% 31.10% 24.80%  
Unrecognized tax benefits $ 5.9   $ 5.9   $ 6.0
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.25.4
Earnings per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Aug. 30, 2025
May 31, 2025
Nov. 30, 2024
Aug. 31, 2024
Jun. 01, 2024
Nov. 29, 2025
Nov. 30, 2024
Earnings Per Share [Abstract]                
Net (loss) earnings $ 16,549 $ 23,649 $ (2,688) $ 20,989 $ 30,566 $ 31,011 $ 37,511 $ 82,566
Basic earnings per share – weighted average common shares outstanding (in shares) 21,302     21,782     21,349 21,789
Weighted average effect of nonvested share grants and assumed exercise of stock options (in shares) 290     135     219 148
Diluted earnings per share – weighted average common shares and potential common shares outstanding (in shares) 21,592     21,917     21,568 21,937
Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares) (in shares) 213     1     213 18
Earnings per share:                
Basic earnings per share (in usd per share) $ 0.78     $ 0.96     $ 1.76 $ 3.79
Diluted earnings per share (in usd per share) $ 0.77     $ 0.96     $ 1.74 $ 3.76
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.25.4
Business Segment Data - Additional Information (Details)
9 Months Ended
Nov. 29, 2025
segment
Segment Reporting [Abstract]  
Number of operating segments 4
Number of reportable segments 4
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.25.4
Business Segment Data - Schedule of Certain Segment Data (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Segment Reporting Information [Line Items]        
Total segment net sales $ 348,563 $ 341,344 $ 1,053,379 $ 1,015,300
Adjusted cost of sales (264,267) (256,579) (803,806) (748,109)
Adjusted SG&A (50,512) (50,957) (161,511) (152,636)
Adjusted other expense, net (12) (6) (77) 116
Adjusted depreciation and amortization 11,763 10,443 35,239 28,700
Adjusted EBITDA 50,403 49,293 135,923 163,871
NMTC benefit 2,100   6,740 0
Cost of Sales        
Segment Reporting Information [Line Items]        
Adjusted cost of sales (100) (400) (500) (400)
Cost of Sales | Project Fortify        
Segment Reporting Information [Line Items]        
Adjusted cost of sales (3,400) (100) (13,300) (1,300)
Selling, general and administrative expenses        
Segment Reporting Information [Line Items]        
Acquisition, restructuring and impairment costs 200 300 1,200 1,000
Selling, general and administrative expenses | Project Fortify        
Segment Reporting Information [Line Items]        
Acquisition, restructuring and impairment costs 1,000 900 6,900 900
Intersegment net sales        
Segment Reporting Information [Line Items]        
Total segment net sales 4,868 5,048 12,699 20,499
Operating Segments        
Segment Reporting Information [Line Items]        
Total segment net sales 353,431 346,392 1,066,078 1,035,799
Architectural Metals        
Segment Reporting Information [Line Items]        
Total segment net sales 124,245 138,019 393,763 412,469
Architectural Metals | Intersegment net sales        
Segment Reporting Information [Line Items]        
Total segment net sales 188 20 228 92
Architectural Metals | Operating Segments        
Segment Reporting Information [Line Items]        
Total segment net sales 124,433 138,039 393,991 412,561
Adjusted cost of sales (89,437) (100,397) (287,218) (287,846)
Adjusted SG&A (21,908) (24,090) (71,056) (73,773)
Adjusted other expense, net 0 0 0 0
Adjusted depreciation and amortization 3,662 3,932 11,229 12,609
Adjusted EBITDA 16,750 17,484 46,946 63,551
Architectural Services        
Segment Reporting Information [Line Items]        
Total segment net sales 105,166 104,921 312,161 301,966
Architectural Services | Selling, general and administrative expenses        
Segment Reporting Information [Line Items]        
Acquisition, restructuring and impairment costs     5,000  
Architectural Services | Intersegment net sales        
Segment Reporting Information [Line Items]        
Total segment net sales 0 0 0 0
Architectural Services | Operating Segments        
Segment Reporting Information [Line Items]        
Total segment net sales 105,166 104,921 312,161 301,966
Adjusted cost of sales (86,747) (84,402) (263,377) (246,622)
Adjusted SG&A (9,030) (11,505) (30,294) (34,320)
Adjusted other expense, net 0 0 0 0
Adjusted depreciation and amortization 809 981 2,789 2,887
Adjusted EBITDA 10,198 9,995 21,279 23,911
Architectural Glass        
Segment Reporting Information [Line Items]        
Total segment net sales 66,172 65,208 203,835 226,633
Architectural Glass | Intersegment net sales        
Segment Reporting Information [Line Items]        
Total segment net sales 4,680 5,028 12,471 20,407
Architectural Glass | Operating Segments        
Segment Reporting Information [Line Items]        
Total segment net sales 70,852 70,236 216,306 247,040
Adjusted cost of sales (52,307) (50,033) (157,278) (167,058)
Adjusted SG&A (10,378) (10,086) (32,323) (31,706)
Adjusted other expense, net (12) (6) (77) 116
Adjusted depreciation and amortization 3,379 3,069 9,970 9,158
Adjusted EBITDA 11,534 13,180 36,598 57,551
Performance Surfaces        
Segment Reporting Information [Line Items]        
Total segment net sales 52,980 33,196 143,620 74,232
Performance Surfaces | Intersegment net sales        
Segment Reporting Information [Line Items]        
Total segment net sales 0 0 0 0
Performance Surfaces | Operating Segments        
Segment Reporting Information [Line Items]        
Total segment net sales 52,980 33,196 143,620 74,232
Adjusted cost of sales (35,776) (21,747) (95,933) (46,583)
Adjusted SG&A (9,196) (5,276) (27,838) (12,837)
Adjusted other expense, net 0 0 0 0
Adjusted depreciation and amortization 3,913 2,461 11,251 4,046
Adjusted EBITDA $ 11,921 $ 8,634 $ 31,100 $ 18,858
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.25.4
Business Segment Data - Schedule of Adjusted EBITDA (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Aug. 30, 2025
May 31, 2025
Nov. 30, 2024
Aug. 31, 2024
Jun. 01, 2024
Nov. 29, 2025
Nov. 30, 2024
Segment Reporting Information [Line Items]                
Segment restructuring costs $ (5,080)     $ (912)     $ (23,554) $ (3,213)
Interest expense, net (3,227)     (1,044)     (11,148) (2,634)
Income tax expense (7,561)     (6,656)     (16,956) (27,268)
Net earnings 16,549 $ 23,649 $ (2,688) 20,989 $ 30,566 $ 31,011 37,511 82,566
Reportable Segment                
Segment Reporting Information [Line Items]                
Segment Adjusted EBITDA 50,403     49,293     135,923 163,871
Corporate and Other Expenses (8,033)     (8,014)     (17,636) (16,978)
Segment acquisition-related costs (259)     (1,331)     (1,723) (1,331)
Segment restructuring costs (4,401)     (125)     (20,233) (2,296)
Depreciation and amortization (12,516)     (11,134)     (37,456) (30,798)
Other income 2,143     0     6,740 0
Interest expense, net (3,227)     (1,044)     (11,148) (2,634)
Income tax expense (7,561)     (6,656)     (16,956) (27,268)
Net earnings $ 16,549     $ 20,989     $ 37,511 $ 82,566
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.25.4
Acquisitions - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended 12 Months Ended
Nov. 04, 2024
Nov. 29, 2025
Nov. 29, 2025
Nov. 30, 2024
Mar. 01, 2025
Business Combination [Line Items]          
Cash consideration     $ 0 $ 233,125  
Goodwill   $ 236,386 236,386   $ 235,775
Cost of Sales          
Business Combination [Line Items]          
Integration costs   100 500    
Selling, general and administrative expenses          
Business Combination [Line Items]          
Integration costs   200 1,500    
UW Interco, LLC          
Business Combination [Line Items]          
Consideration transferred $ 240,900        
Cash consideration 232,200        
Net working capital adjustment 900        
Cash acquired 8,700        
Pre-tax acquisition-related expenses         $ 10,300
Integration costs   300 2,000    
Goodwill $ 107,826        
Net sales   27,900 74,800    
Net income (loss)   300 (1,800)    
Non-recurring integration costs   $ 600 2,300    
Transaction costs     4,400    
Amortization of acquired backlog     2,300    
Inventory step-up expense     $ 1,500    
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.25.4
Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details) - USD ($)
$ in Thousands
Nov. 29, 2025
Mar. 01, 2025
Nov. 04, 2024
Assets:      
Goodwill $ 236,386 $ 235,775  
UW Interco, LLC      
Assets:      
Cash and cash equivalents     $ 8,703
Receivables, net     12,427
Inventories, net     17,903
Other current assets     1,122
Property, plant and equipment     26,563
Operating lease right-of-use assets     14,189
Goodwill     107,826
Intangible assets, net     79,679
Other non-current assets     166
Total Assets     268,578
Liabilities:      
Accounts payable     5,126
Accrued compensation and benefits     6,900
Operating lease liabilities     1,259
Other non-current liabilities     1,490
Noncurrent operating lease liabilities     12,930
Total Liabilities     27,705
Net assets recorded     $ 240,873
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.25.4
Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details) - UW Interco, LLC - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended
Nov. 30, 2024
Nov. 30, 2024
Business Combination [Line Items]    
Net sales $ 359,904 $ 1,077,941
Net earnings $ 20,456 $ 72,150
Earnings per share:    
Basic (in usd per share) $ 0.94 $ 3.31
Diluted (in usd per share) $ 0.93 $ 3.29
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.25.4
Restructuring - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Feb. 28, 2026
Apr. 23, 2025
Mar. 01, 2025
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges $ 5,080 $ 912 $ 23,554 $ 3,213      
Architectural Services              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 1,864 (717) 15,870 (459)      
Corporate and Other              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 679 787 3,320 917      
Selling, general and administrative expenses              
Restructuring Cost and Reserve [Line Items]              
Acquisition, restructuring and impairment costs 200 300 1,200 1,000      
Selling, general and administrative expenses | Architectural Services              
Restructuring Cost and Reserve [Line Items]              
Acquisition, restructuring and impairment costs     5,000        
Selling, general and administrative expenses | Corporate and Other              
Restructuring Cost and Reserve [Line Items]              
Acquisition, restructuring and impairment costs     2,600        
Termination benefits              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 2,705 410 9,983 1,285      
Termination benefits | Architectural Services              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 181 (764) 6,653 (592)      
Termination benefits | Corporate and Other              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 637 787 637 917      
Contract termination costs              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 2,259   4,993 108      
Contract termination costs | Architectural Services              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 1,662   3,594 0      
Contract termination costs | Corporate and Other              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 0   0 0      
Other restructuring charges              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 116 502 8,578 1,820      
Other restructuring charges | Architectural Services              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 21 47 5,623 133      
Other restructuring charges | Corporate and Other              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 42 0 2,683 0      
Project Fortify              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 5,100   23,600        
Project Fortify | Cost of Sales              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 3,500   13,400        
Project Fortify | Selling, general and administrative expenses              
Restructuring Cost and Reserve [Line Items]              
Total restructuring charges 1,600   10,200        
Acquisition, restructuring and impairment costs $ 1,000 $ 900 $ 6,900 $ 900      
Minimum | Project Fortify              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           $ 28,000 $ 14,000
Minimum | Project Fortify | Forecast              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost         $ 25,000    
Minimum | Project Fortify | Termination benefits              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           15,000  
Minimum | Project Fortify | Contract termination costs              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           5,000  
Minimum | Project Fortify | Other restructuring charges              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           7,000  
Maximum | Project Fortify              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           29,000 $ 16,700
Maximum | Project Fortify | Forecast              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost         $ 26,000    
Maximum | Project Fortify | Termination benefits              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           16,000  
Maximum | Project Fortify | Contract termination costs              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           6,000  
Maximum | Project Fortify | Other restructuring charges              
Restructuring Cost and Reserve [Line Items]              
Expected restructuring cost           $ 8,000  
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.25.4
Restructuring - Schedule of Restructuring Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Nov. 29, 2025
Nov. 30, 2024
Nov. 29, 2025
Nov. 30, 2024
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges $ 5,080 $ 912 $ 23,554 $ 3,213
Termination benefits        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 2,705 410 9,983 1,285
Contract termination costs        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 2,259   4,993 108
Other restructuring charges        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 116 502 8,578 1,820
Architectural Framing Systems        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 2,537 842 4,364 2,755
Architectural Framing Systems | Termination benefits        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 1,887 387 2,693 960
Architectural Framing Systems | Contract termination costs        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 597   1,399 108
Architectural Framing Systems | Other restructuring charges        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 53 455 272 1,687
Architectural Services        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 1,864 (717) 15,870 (459)
Architectural Services | Termination benefits        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 181 (764) 6,653 (592)
Architectural Services | Contract termination costs        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 1,662   3,594 0
Architectural Services | Other restructuring charges        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 21 47 5,623 133
Corporate and Other        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 679 787 3,320 917
Corporate and Other | Termination benefits        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 637 787 637 917
Corporate and Other | Contract termination costs        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges 0   0 0
Corporate and Other | Other restructuring charges        
Restructuring Cost and Reserve [Line Items]        
Total restructuring charges $ 42 $ 0 $ 2,683 $ 0
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.25.4
Restructuring - Schedule of Reserve (Details) - USD ($)
$ in Thousands
9 Months Ended
Nov. 29, 2025
Mar. 01, 2025
Restructuring Reserve [Roll Forward]    
Beginning balance $ 9,394 $ 2,447
Restructuring expense 12,746  
Payments (5,808)  
Ending Balance 9,394 2,447
Architectural Framing Systems    
Restructuring Reserve [Roll Forward]    
Beginning balance 2,802 1,286
Restructuring expense 3,446  
Payments (1,939)  
Ending Balance 2,802 1,286
Architectural Services    
Restructuring Reserve [Roll Forward]    
Beginning balance 3,360 650
Restructuring expense 5,980  
Payments (3,270)  
Ending Balance 3,360 650
Corporate and Other    
Restructuring Reserve [Roll Forward]    
Beginning balance 3,232 511
Restructuring expense 3,320  
Payments (599)  
Ending Balance $ 3,232 $ 511
XML 79 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 80 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 82 FilingSummary.xml IDEA: XBRL DOCUMENT 3.25.4 html 307 307 1 false 52 0 false 10 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.apog.com/role/CoverPage Cover Page Cover 1 false false R2.htm 9952151 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 9952153 - Statement - CONSOLIDATED RESULTS OF OPERATIONS (Unaudited) Sheet http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited CONSOLIDATED RESULTS OF OPERATIONS (Unaudited) Statements 4 false false R5.htm 9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) Sheet http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) Statements 5 false false R6.htm 9952155 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical) Sheet http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnauditedParenthetical CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical) Statements 6 false false R7.htm 9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Sheet http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Statements 7 false false R8.htm 9952157 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) Sheet http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) Statements 8 false false R9.htm 9952158 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical) Sheet http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnauditedParenthetical CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical) Statements 9 false false R10.htm 9952159 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.apog.com/role/SummaryofSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 9952160 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilities Revenue, Receivables and Contract Assets and Liabilities Notes 11 false false R12.htm 9952161 - Disclosure - Inventories Sheet http://www.apog.com/role/Inventories Inventories Notes 12 false false R13.htm 9952162 - Disclosure - Financial Instruments Sheet http://www.apog.com/role/FinancialInstruments Financial Instruments Notes 13 false false R14.htm 9952163 - Disclosure - Debt Sheet http://www.apog.com/role/Debt Debt Notes 14 false false R15.htm 9952164 - Disclosure - Commitments and Contingent Liabilities Sheet http://www.apog.com/role/CommitmentsandContingentLiabilities Commitments and Contingent Liabilities Notes 15 false false R16.htm 9952165 - Disclosure - Supplier Finance Program Obligations Sheet http://www.apog.com/role/SupplierFinanceProgramObligations Supplier Finance Program Obligations Notes 16 false false R17.htm 9952166 - Disclosure - Shareholders' Equity Sheet http://www.apog.com/role/ShareholdersEquity Shareholders' Equity Notes 17 false false R18.htm 9952167 - Disclosure - Share-Based Compensation Sheet http://www.apog.com/role/ShareBasedCompensation Share-Based Compensation Notes 18 false false R19.htm 9952168 - Disclosure - Income Taxes Sheet http://www.apog.com/role/IncomeTaxes Income Taxes Notes 19 false false R20.htm 9952169 - Disclosure - Earnings per Share Sheet http://www.apog.com/role/EarningsperShare Earnings per Share Notes 20 false false R21.htm 9952170 - Disclosure - Business Segment Data Sheet http://www.apog.com/role/BusinessSegmentData Business Segment Data Notes 21 false false R22.htm 9952171 - Disclosure - Acquisitions Sheet http://www.apog.com/role/Acquisitions Acquisitions Notes 22 false false R23.htm 9952172 - Disclosure - Restructuring Sheet http://www.apog.com/role/Restructuring Restructuring Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 9955511 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.apog.com/role/SummaryofSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.apog.com/role/SummaryofSignificantAccountingPolicies 25 false false R26.htm 9955512 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities (Tables) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables Revenue, Receivables and Contract Assets and Liabilities (Tables) Tables http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilities 26 false false R27.htm 9955513 - Disclosure - Inventories (Tables) Sheet http://www.apog.com/role/InventoriesTables Inventories (Tables) Tables http://www.apog.com/role/Inventories 27 false false R28.htm 9955514 - Disclosure - Financial Instruments (Tables) Sheet http://www.apog.com/role/FinancialInstrumentsTables Financial Instruments (Tables) Tables http://www.apog.com/role/FinancialInstruments 28 false false R29.htm 9955515 - Disclosure - Debt (Tables) Sheet http://www.apog.com/role/DebtTables Debt (Tables) Tables http://www.apog.com/role/Debt 29 false false R30.htm 9955516 - Disclosure - Commitments and Contingent Liabilities (Tables) Sheet http://www.apog.com/role/CommitmentsandContingentLiabilitiesTables Commitments and Contingent Liabilities (Tables) Tables http://www.apog.com/role/CommitmentsandContingentLiabilities 30 false false R31.htm 9955517 - Disclosure - Supplier Finance Program Obligations (Tables) Sheet http://www.apog.com/role/SupplierFinanceProgramObligationsTables Supplier Finance Program Obligations (Tables) Tables http://www.apog.com/role/SupplierFinanceProgramObligations 31 false false R32.htm 9955518 - Disclosure - Share-Based Compensation (Tables) Sheet http://www.apog.com/role/ShareBasedCompensationTables Share-Based Compensation (Tables) Tables http://www.apog.com/role/ShareBasedCompensation 32 false false R33.htm 9955519 - Disclosure - Earnings per Share (Tables) Sheet http://www.apog.com/role/EarningsperShareTables Earnings per Share (Tables) Tables http://www.apog.com/role/EarningsperShare 33 false false R34.htm 9955520 - Disclosure - Business Segment Data (Tables) Sheet http://www.apog.com/role/BusinessSegmentDataTables Business Segment Data (Tables) Tables http://www.apog.com/role/BusinessSegmentData 34 false false R35.htm 9955521 - Disclosure - Acquisitions (Tables) Sheet http://www.apog.com/role/AcquisitionsTables Acquisitions (Tables) Tables http://www.apog.com/role/Acquisitions 35 false false R36.htm 9955522 - Disclosure - Restructuring (Tables) Sheet http://www.apog.com/role/RestructuringTables Restructuring (Tables) Tables http://www.apog.com/role/Restructuring 36 false false R37.htm 9955523 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details) Details 37 false false R38.htm 9955524 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details) Details 38 false false R39.htm 9955525 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details) Details 39 false false R40.htm 9955526 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofContractAssetsandLiabilitiesDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details) Details 40 false false R41.htm 9955527 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOtherContractRelatedDisclosuresDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details) Details 41 false false R42.htm 9955528 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details) Details 42 false false R43.htm 9955529 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details) Sheet http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details) Details 43 false false R44.htm 9955530 - Disclosure - Inventories (Details) Sheet http://www.apog.com/role/InventoriesDetails Inventories (Details) Details http://www.apog.com/role/InventoriesTables 44 false false R45.htm 9955531 - Disclosure - Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details) Sheet http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details) Details 45 false false R46.htm 9955532 - Disclosure - Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details) Sheet http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details) Details 46 false false R47.htm 9955533 - Disclosure - Financial Instruments - Additional Information (Details) Sheet http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails Financial Instruments - Additional Information (Details) Details 47 false false R48.htm 9955534 - Disclosure - Financial Instruments -Schedule of Fair Value Measurements (Details) Sheet http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails Financial Instruments -Schedule of Fair Value Measurements (Details) Details 48 false false R49.htm 9955535 - Disclosure - Debt - Additional Information (Details) Sheet http://www.apog.com/role/DebtAdditionalInformationDetails Debt - Additional Information (Details) Details 49 false false R50.htm 9955536 - Disclosure - Debt - Schedule of Interest Expense (Details) Sheet http://www.apog.com/role/DebtScheduleofInterestExpenseDetails Debt - Schedule of Interest Expense (Details) Details 50 false false R51.htm 9955537 - Disclosure - Commitments and Contingent Liabilities - Additional Information (Details) Sheet http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails Commitments and Contingent Liabilities - Additional Information (Details) Details 51 false false R52.htm 9955538 - Disclosure - Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details) Sheet http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details) Details 52 false false R53.htm 9955539 - Disclosure - Supplier Finance Program Obligations (Details) Sheet http://www.apog.com/role/SupplierFinanceProgramObligationsDetails Supplier Finance Program Obligations (Details) Details http://www.apog.com/role/SupplierFinanceProgramObligationsTables 53 false false R54.htm 9955540 - Disclosure - Shareholders' Equity (Details) Sheet http://www.apog.com/role/ShareholdersEquityDetails Shareholders' Equity (Details) Details http://www.apog.com/role/ShareholdersEquity 54 false false R55.htm 9955541 - Disclosure - Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details) Sheet http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details) Details 55 false false R56.htm 9955542 - Disclosure - Share-Based Compensation - Additional Information (Details) Sheet http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails Share-Based Compensation - Additional Information (Details) Details 56 false false R57.htm 9955543 - Disclosure - Income Taxes (Details) Sheet http://www.apog.com/role/IncomeTaxesDetails Income Taxes (Details) Details http://www.apog.com/role/IncomeTaxes 57 false false R58.htm 9955544 - Disclosure - Earnings per Share (Details) Sheet http://www.apog.com/role/EarningsperShareDetails Earnings per Share (Details) Details http://www.apog.com/role/EarningsperShareTables 58 false false R59.htm 9955545 - Disclosure - Business Segment Data - Additional Information (Details) Sheet http://www.apog.com/role/BusinessSegmentDataAdditionalInformationDetails Business Segment Data - Additional Information (Details) Details 59 false false R60.htm 9955546 - Disclosure - Business Segment Data - Schedule of Certain Segment Data (Details) Sheet http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails Business Segment Data - Schedule of Certain Segment Data (Details) Details 60 false false R61.htm 9955547 - Disclosure - Business Segment Data - Schedule of Adjusted EBITDA (Details) Sheet http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails Business Segment Data - Schedule of Adjusted EBITDA (Details) Details 61 false false R62.htm 9955548 - Disclosure - Acquisitions - Additional Information (Details) Sheet http://www.apog.com/role/AcquisitionsAdditionalInformationDetails Acquisitions - Additional Information (Details) Details 62 false false R63.htm 9955549 - Disclosure - Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details) Sheet http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details) Details 63 false false R64.htm 9955550 - Disclosure - Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details) Sheet http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details) Details 64 false false R65.htm 9955551 - Disclosure - Restructuring - Additional Information (Details) Sheet http://www.apog.com/role/RestructuringAdditionalInformationDetails Restructuring - Additional Information (Details) Details 65 false false R66.htm 9955552 - Disclosure - Restructuring - Schedule of Restructuring Costs (Details) Sheet http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails Restructuring - Schedule of Restructuring Costs (Details) Details 66 false false R67.htm 9955553 - Disclosure - Restructuring - Schedule of Reserve (Details) Sheet http://www.apog.com/role/RestructuringScheduleofReserveDetails Restructuring - Schedule of Reserve (Details) Details 67 false false All Reports Book All Reports apog-20251129.htm apog-20251129.xsd apog-20251129_cal.xml apog-20251129_def.xml apog-20251129_lab.xml apog-20251129_pre.xml http://fasb.org/us-gaap/2025 http://xbrl.sec.gov/dei/2025 http://xbrl.sec.gov/ecd/2025 true true JSON 85 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "apog-20251129.htm": { "nsprefix": "apog", "nsuri": "http://www.apog.com/20251129", "dts": { "inline": { "local": [ "apog-20251129.htm" ] }, "schema": { "local": [ "apog-20251129.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/2024-01-31/types.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd", "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd", "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd", "https://xbrl.sec.gov/country/2025/country-2025.xsd", "https://xbrl.sec.gov/dei/2025/dei-2025.xsd", "https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd", "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd" ] }, "calculationLink": { "local": [ "apog-20251129_cal.xml" ] }, "definitionLink": { "local": [ "apog-20251129_def.xml" ] }, "labelLink": { "local": [ "apog-20251129_lab.xml" ] }, "presentationLink": { "local": [ "apog-20251129_pre.xml" ] } }, "keyStandard": 269, "keyCustom": 38, "axisStandard": 24, "axisCustom": 2, "memberStandard": 29, "memberCustom": 23, "hidden": { "total": 10, "http://xbrl.sec.gov/dei/2025": 5, "http://fasb.org/us-gaap/2025": 5 }, "contextCount": 307, "entityCount": 1, "segmentCount": 52, "elementCount": 581, "unitCount": 10, "baseTaxonomies": { "http://fasb.org/us-gaap/2025": 867, "http://xbrl.sec.gov/dei/2025": 29, "http://xbrl.sec.gov/ecd/2025": 4 }, "report": { "R1": { "role": "http://www.apog.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "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", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS", "longName": "9952151 - 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": "apog-20251129.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": "apog-20251129.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical", "longName": "9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "longName": "9952153 - Statement - CONSOLIDATED RESULTS OF OPERATIONS (Unaudited)", "shortName": "CONSOLIDATED RESULTS OF OPERATIONS (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R5": { "role": "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited", "longName": "9952154 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R6": { "role": "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnauditedParenthetical", "longName": "9952155 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical)", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "longName": "9952156 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "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": "apog-20251129.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": "apog-20251129.htm", "unique": true } }, "R8": { "role": "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited", "longName": "9952157 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)", "shortName": "CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "c-42", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-46", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R9": { "role": "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnauditedParenthetical", "longName": "9952158 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical)", "shortName": "CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "9", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.apog.com/role/SummaryofSignificantAccountingPolicies", "longName": "9952159 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilities", "longName": "9952160 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities", "shortName": "Revenue, Receivables and Contract Assets and Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.apog.com/role/Inventories", "longName": "9952161 - Disclosure - Inventories", "shortName": "Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.apog.com/role/FinancialInstruments", "longName": "9952162 - Disclosure - Financial Instruments", "shortName": "Financial Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:MarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:MarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.apog.com/role/Debt", "longName": "9952163 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.apog.com/role/CommitmentsandContingentLiabilities", "longName": "9952164 - Disclosure - Commitments and Contingent Liabilities", "shortName": "Commitments and Contingent Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.apog.com/role/SupplierFinanceProgramObligations", "longName": "9952165 - Disclosure - Supplier Finance Program Obligations", "shortName": "Supplier Finance Program Obligations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplierFinanceProgramTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplierFinanceProgramTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.apog.com/role/ShareholdersEquity", "longName": "9952166 - Disclosure - Shareholders' Equity", "shortName": "Shareholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.apog.com/role/ShareBasedCompensation", "longName": "9952167 - Disclosure - Share-Based Compensation", "shortName": "Share-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.apog.com/role/IncomeTaxes", "longName": "9952168 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.apog.com/role/EarningsperShare", "longName": "9952169 - Disclosure - Earnings per Share", "shortName": "Earnings per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.apog.com/role/BusinessSegmentData", "longName": "9952170 - Disclosure - Business Segment Data", "shortName": "Business Segment Data", "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": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.apog.com/role/Acquisitions", "longName": "9952171 - Disclosure - Acquisitions", "shortName": "Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.apog.com/role/Restructuring", "longName": "9952172 - Disclosure - Restructuring", "shortName": "Restructuring", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-5", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.apog.com/role/SummaryofSignificantAccountingPoliciesPolicies", "longName": "9955511 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables", "longName": "9955512 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities (Tables)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.apog.com/role/InventoriesTables", "longName": "9955513 - Disclosure - Inventories (Tables)", "shortName": "Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.apog.com/role/FinancialInstrumentsTables", "longName": "9955514 - Disclosure - Financial Instruments (Tables)", "shortName": "Financial Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.apog.com/role/DebtTables", "longName": "9955515 - Disclosure - Debt (Tables)", "shortName": "Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "apog:ScheduleOfInterestExpenseTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "apog:ScheduleOfInterestExpenseTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.apog.com/role/CommitmentsandContingentLiabilitiesTables", "longName": "9955516 - Disclosure - Commitments and Contingent Liabilities (Tables)", "shortName": "Commitments and Contingent Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.apog.com/role/SupplierFinanceProgramObligationsTables", "longName": "9955517 - Disclosure - Supplier Finance Program Obligations (Tables)", "shortName": "Supplier Finance Program Obligations (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplierFinanceProgramTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SupplierFinanceProgramTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.apog.com/role/ShareBasedCompensationTables", "longName": "9955518 - Disclosure - Share-Based Compensation (Tables)", "shortName": "Share-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.apog.com/role/EarningsperShareTables", "longName": "9955519 - Disclosure - Earnings per Share (Tables)", "shortName": "Earnings per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.apog.com/role/BusinessSegmentDataTables", "longName": "9955520 - Disclosure - Business Segment Data (Tables)", "shortName": "Business Segment Data (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.apog.com/role/AcquisitionsTables", "longName": "9955521 - Disclosure - Acquisitions (Tables)", "shortName": "Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "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": "apog-20251129.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": "apog-20251129.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.apog.com/role/RestructuringTables", "longName": "9955522 - Disclosure - Restructuring (Tables)", "shortName": "Restructuring (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails", "longName": "9955523 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-74", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R38": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails", "longName": "9955524 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities Accounts - Schedule of Receivable (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "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": "apog-20251129.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": "apog-20251129.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails", "longName": "9955525 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ProvisionForDoubtfulAccounts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R40": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofContractAssetsandLiabilitiesDetails", "longName": "9955526 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Contract Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOtherContractRelatedDisclosuresDetails", "longName": "9955527 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other Contract-Related Disclosures (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails", "longName": "9955528 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Other contract-related disclosures (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails", "longName": "9955529 - Disclosure - Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details)", "shortName": "Revenue, Receivables and Contract Assets and Liabilities - Schedule of Impact of Adjustments on Operating Income (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-93", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R44": { "role": "http://www.apog.com/role/InventoriesDetails", "longName": "9955530 - Disclosure - Inventories (Details)", "shortName": "Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails", "longName": "9955531 - Disclosure - Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details)", "shortName": "Financial Instruments - Schedule of Available-for-Sale Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-97", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R46": { "role": "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails", "longName": "9955532 - Disclosure - Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details)", "shortName": "Financial Instruments - Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails", "longName": "9955533 - Disclosure - Financial Instruments - Additional Information (Details)", "shortName": "Financial Instruments - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-99", "name": "us-gaap:DerivativeNotionalAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-99", "name": "us-gaap:DerivativeNotionalAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails", "longName": "9955534 - Disclosure - Financial Instruments -Schedule of Fair Value Measurements (Details)", "shortName": "Financial Instruments -Schedule of Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.apog.com/role/DebtAdditionalInformationDetails", "longName": "9955535 - Disclosure - Debt - Additional Information (Details)", "shortName": "Debt - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-57", "name": "us-gaap:GainsLossesOnExtinguishmentOfDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-57", "name": "us-gaap:GainsLossesOnExtinguishmentOfDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails", "longName": "9955536 - Disclosure - Debt - Schedule of Interest Expense (Details)", "shortName": "Debt - Schedule of Interest Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:InterestExpenseDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "apog:ScheduleOfInterestExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:InterestExpenseDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "apog:ScheduleOfInterestExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails", "longName": "9955537 - Disclosure - Commitments and Contingent Liabilities - Additional Information (Details)", "shortName": "Commitments and Contingent Liabilities - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:GuaranteesFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-8", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:GuaranteesFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-8", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails", "longName": "9955538 - Disclosure - Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details)", "shortName": "Commitments and Contingent Liabilities - Schedule of Guarantees and warranties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ExtendedProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ExtendedProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.apog.com/role/SupplierFinanceProgramObligationsDetails", "longName": "9955539 - Disclosure - Supplier Finance Program Obligations (Details)", "shortName": "Supplier Finance Program Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:SupplierFinanceProgramObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:SupplierFinanceProgramObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.apog.com/role/ShareholdersEquityDetails", "longName": "9955540 - Disclosure - Shareholders' Equity (Details)", "shortName": "Shareholders' Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PaymentsOfDividendsCommonStock", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R55": { "role": "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails", "longName": "9955541 - Disclosure - Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details)", "shortName": "Share-Based Compensation - Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-144", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-144", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "longName": "9955542 - Disclosure - Share-Based Compensation - Additional Information (Details)", "shortName": "Share-Based Compensation - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:ShareBasedCompensation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-150", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R57": { "role": "http://www.apog.com/role/IncomeTaxesDetails", "longName": "9955543 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-5", "name": "apog:IncomeTaxExpenseAsPercentageOfEarningsBeforeIncomeTaxesPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "apog:IncomeTaxExpenseAsPercentageOfEarningsBeforeIncomeTaxesPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.apog.com/role/EarningsperShareDetails", "longName": "9955544 - Disclosure - Earnings per Share (Details)", "shortName": "Earnings per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R59": { "role": "http://www.apog.com/role/BusinessSegmentDataAdditionalInformationDetails", "longName": "9955545 - Disclosure - Business Segment Data - Additional Information (Details)", "shortName": "Business Segment Data - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportableSegments", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:NumberOfReportableSegments", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "longName": "9955546 - Disclosure - Business Segment Data - Schedule of Certain Segment Data (Details)", "shortName": "Business Segment Data - Schedule of Certain Segment Data (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "apog:CostOfGoodsAndServicesSoldAdjusted", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R61": { "role": "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "longName": "9955547 - Disclosure - Business Segment Data - Schedule of Adjusted EBITDA (Details)", "shortName": "Business Segment Data - Schedule of Adjusted EBITDA (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RestructuringCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-223", "name": "apog:EarningsBeforeInterestAndTaxAdjusted", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R62": { "role": "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "longName": "9955548 - Disclosure - Acquisitions - Additional Information (Details)", "shortName": "Acquisitions - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "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": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-207", "name": "us-gaap:BusinessCombinationIntegrationRelatedCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R63": { "role": "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "longName": "9955549 - Disclosure - Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details)", "shortName": "Acquisitions - Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-231", "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": "apog-20251129.htm", "unique": true } }, "R64": { "role": "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails", "longName": "9955550 - Disclosure - Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details)", "shortName": "Acquisitions - Schedule of Supplemental Unaudited Pro Forma Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-232", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-232", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:BusinessAcquisitionProFormaInformationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "longName": "9955551 - Disclosure - Restructuring - Additional Information (Details)", "shortName": "Restructuring - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RestructuringCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-249", "name": "apog:AcquisitionRestructuringAndImpairmentCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R66": { "role": "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails", "longName": "9955552 - Disclosure - Restructuring - Schedule of Restructuring Costs (Details)", "shortName": "Restructuring - Schedule of Restructuring Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:RestructuringCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-262", "name": "us-gaap:RestructuringCosts", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } }, "R67": { "role": "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "longName": "9955553 - Disclosure - Restructuring - Schedule of Reserve (Details)", "shortName": "Restructuring - Schedule of Reserve (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RestructuringReserve", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RestructuringCharges", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "apog-20251129.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts, Notes, Loans and Financing Receivable [Line Items]", "label": "Accounts, Notes, Loans and Financing Receivable [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": [ "r254", "r1147" ] }, "us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Receivable Type [Axis]", "label": "Receivable Type [Axis]", "documentation": "Information by type of receivable." } } }, "auth_ref": [ "r56", "r62" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.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": [ "r46", "r976" ] }, "apog_AccountsReceivableAllowanceForCreditLossOtherAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "AccountsReceivableAllowanceForCreditLossOtherAdjustments", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other adjustments", "label": "Accounts Receivable, Allowance for Credit Loss, Other Adjustments", "documentation": "Accounts Receivable, Allowance for Credit Loss, Other Adjustments" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Allowance for Credit Losses", "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]", "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r1161" ] }, "apog_AccountsReceivableAllowanceForCreditLossWriteoffAfterRecovery": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "AccountsReceivableAllowanceForCreditLossWriteoffAfterRecovery", "crdr": "debit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Deductions from allowance, net of recoveries", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff, after Recovery", "documentation": "Accounts Receivable, Allowance for Credit Loss, Writeoff, after Recovery" } } }, "auth_ref": [] }, "apog_AccountsReceivableConstructionContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "AccountsReceivableConstructionContractsMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction contracts", "label": "Accounts Receivable, Construction Contracts [Member]", "documentation": "Accounts Receivable, Construction Contracts [Member]" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsReceivableGross", "crdr": "debit", "calculation": { "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total 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": [ "r137", "r253", "r254", "r650", "r1270" ] }, "us-gaap_AccountsReceivableNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccountsReceivableNet", "crdr": "debit", "calculation": { "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Receivables, net", "label": "Accounts Receivable, after Allowance for Credit Loss", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business." } } }, "auth_ref": [ "r811", "r866", "r987", "r1269", "r1270" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated depreciation property, plant, and equipment", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r32", "r129", "r735" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive 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": [ "r14", "r15", "r66", "r138", "r732", "r765", "r769", "r1236" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive (Loss) Income", "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": [ "r1", "r10", "r15", "r622", "r625", "r678", "r760", "r761", "r1113", "r1114", "r1115", "r1132", "r1133", "r1134", "r1136" ] }, "apog_AcquisitionHolidayConditionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "AcquisitionHolidayConditionMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition Holiday Condition", "label": "Acquisition Holiday Condition [Member]", "documentation": "Acquisition Holiday Condition" } } }, "auth_ref": [] }, "apog_AcquisitionRestructuringAndImpairmentCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "AcquisitionRestructuringAndImpairmentCosts", "crdr": "debit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition, restructuring and impairment costs", "label": "Acquisition, Restructuring And Impairment Costs", "documentation": "Acquisition, Restructuring And Impairment Costs" } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r1032" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.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": [ "r57", "r976", "r1303" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "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": [ "r783", "r1132", "r1133", "r1134", "r1136", "r1237", "r1306" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r1045" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r1045" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r1045" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r1045" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Share-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": [ "r464" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Adjustments to reconcile net earnings to net cash provided by operating activities:", "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract]" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table", "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r1078" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r1004", "r1014", "r1024", "r1056" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r1007", "r1017", "r1027", "r1059" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Pension Adjustments Service Cost", "label": "Aggregate Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r1079" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r1045" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r1052" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1052", "r1060", "r1064", "r1072" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r1070" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "calculation": { "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Less: allowance for credit losses", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r139", "r255", "r291", "r294", "r296", "r1270" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "label": "Accounts Receivable, Allowance for Credit Loss [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": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "AmendmentFlag", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares) (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": [ "r211" ] }, "apog_ArchitecturalFramingSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ArchitecturalFramingSegmentMember", "presentation": [ "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Architectural Framing Systems", "label": "Architectural Framing Segment [Member]", "documentation": "Architectural Framing Segment [Member]" } } }, "auth_ref": [] }, "apog_ArchitecturalGlassSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ArchitecturalGlassSegmentMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Architectural Glass", "label": "Architectural Glass Segment [Member]", "documentation": "Architectural Glass Segment [Member]" } } }, "auth_ref": [] }, "apog_ArchitecturalMetalsSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ArchitecturalMetalsSegmentMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Architectural Metals", "label": "Architectural Metals Segment [Member]", "documentation": "Architectural Metals Segment" } } }, "auth_ref": [] }, "apog_ArchitecturalServicesSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ArchitecturalServicesSegmentMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Architectural Services", "label": "Architectural Services Segment [Member]", "documentation": "Architectural Services segment [Member]" } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r97", "r107", "r132", "r173", "r176", "r177", "r215", "r223", "r242", "r246", "r286", "r364", "r365", "r367", "r368", "r369", "r370", "r371", "r373", "r374", "r589", "r591", "r656", "r718", "r719", "r728", "r816", "r896", "r897", "r915", "r976", "r980", "r982", "r995", "r1181", "r1182", "r1259" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r126", "r142", "r173", "r176", "r177", "r286", "r364", "r365", "r367", "r368", "r369", "r370", "r371", "r373", "r374", "r589", "r591", "r656", "r976", "r1181", "r1182", "r1259" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Current assets", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r257", "r300", "r727" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Due after one year through five years", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r1153" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Due after one year through five years", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, after Year One Through Five", "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r265", "r723" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated Fair Value", "label": "Debt Securities, Available-for-Sale, Fair Value, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Due within one year", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r1152" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Due within one year", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r264", "r722" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 3.0 }, "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAmortizedCostandEstimatedFairValuesofInvestmentsbyContractualMaturityDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Estimated Fair Value", "totalLabel": "Total", "terseLabel": "Municipal bonds", "label": "Debt Securities, Available-for-Sale", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r258", "r300", "r638", "r650", "r651", "r652", "r653", "r714", "r871", "r963", "r967", "r974", "r1148", "r1241", "r1242", "r1243" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r1067" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r1068" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r1063" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r1063" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r1063" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r1063" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r1063" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r1063" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "AwardTypeAxis", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "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": [ "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r490", "r491", "r492", "r493", "r494" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r1066" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r1065" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r1064" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r1064" ] }, "apog_BankOfMontrealMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BankOfMontrealMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Bank of Montreal", "label": "Bank of Montreal [Member]", "documentation": "Bank of Montreal" } } }, "auth_ref": [] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BaseRateMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Base Rate", "label": "Base Rate [Member]", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [ "r1103", "r1180" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.apog.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [ "r1123" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Domain]", "label": "Business Combination [Domain]", "documentation": "Business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r315", "r317", "r318", "r319", "r320", "r321", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r561", "r562", "r563", "r564", "r565", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r583", "r584", "r585", "r772", "r931", "r932", "r1217", "r1220", "r1222" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Axis]", "label": "Business Combination [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r315", "r317", "r318", "r319", "r320", "r321", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r538", "r539", "r540", "r541", "r542", "r543", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r561", "r562", "r563", "r564", "r565", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r579", "r580", "r581", "r583", "r584", "r585", "r772", "r931", "r932", "r1217", "r1220", "r1222" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Line Items]", "label": "Business Combination [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": [ "r315", "r525", "r526", "r527", "r528", "r534", "r535", "r536", "r537", "r543", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r561", "r562", "r563", "r564", "r565", "r568", "r569", "r570", "r571", "r572", "r573", "r579", "r580", "r581", "r585", "r939", "r948", "r1217", "r1220", "r1222" ] }, "apog_BusinessAcquisitionProFormaEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessAcquisitionProFormaEarningsPerShareAbstract", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share:", "label": "Business Acquisition Pro Forma Earnings Per Share [Abstract]", "documentation": "Business Acquisition Pro Forma Earnings Per Share" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in usd per share)", "label": "Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Basic", "documentation": "Per basic share amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r1091", "r1092", "r1218" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in usd per share)", "label": "Business Combination, Pro Forma Information, Pro Forma Earnings Per Share, Diluted", "documentation": "Per diluted share amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r1091", "r1092", "r1218" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.apog.com/role/AcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Supplemental Unaudited Pro Forma Information", "label": "Business Combination, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma revenue and earnings for business combination or aggregate of series of individually immaterial business combinations." } } }, "auth_ref": [ "r939", "r949", "r1091", "r1092", "r1218" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net earnings", "label": "Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax", "documentation": "Amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r540", "r541", "r543", "r939", "r949", "r950" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net sales", "label": "Business Combination, Pro Forma Information, Pro Forma Revenue", "documentation": "Amount of pro forma revenue of combined entity as if acquisition date of business combination occurred as of beginning of period." } } }, "auth_ref": [ "r540", "r541", "r543", "r939", "r949" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Segment acquisition-related costs", "terseLabel": "Pre-tax acquisition-related expenses", "label": "Business Combination, Acquisition-Related Cost, Expense", "documentation": "Amount of expense for acquisition-related cost incurred to effect business combination. Includes, but is not limited to, finder's fee; advisory, legal, accounting, valuation, and other professional and consulting fees; and general administrative cost, including cost of maintaining internal acquisition department." } } }, "auth_ref": [ "r1215", "r1219" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination, Asset Acquisition, Transaction between Entities under Common Control, and Joint Venture Formation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration transferred", "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": [ "r569", "r581", "r939", "r944" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/Acquisitions" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisitions", "label": "Business Combination [Text Block]", "documentation": "The entire disclosure for business combination." } } }, "auth_ref": [ "r524", "r525", "r529", "r538", "r542", "r543", "r544", "r545", "r546", "r547", "r549", "r550", "r556", "r559", "r560", "r566", "r567", "r568", "r576", "r580", "r581", "r582", "r584", "r586", "r939", "r940", "r941", "r942", "r945", "r946", "r947" ] }, "us-gaap_BusinessCombinationIntegrationRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationIntegrationRelatedCosts", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Integration costs", "label": "Business Combination, Integration-Related Cost, Expense", "documentation": "Amount of expense for integration-related cost incurred in connection with business combination. Includes system integration and conversion costs; severance and other employee-related costs; restructuring and other post-combination costs. Excludes acquisition-related cost incurred to effect business combination; cost to issue debt or equity securities; and cost related to acquisition of asset." } } }, "auth_ref": [ "r1219" ] }, "apog_BusinessCombinationNetWorkingCapitalAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationNetWorkingCapitalAdjustment", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net working capital adjustment", "label": "Business Combination, Net Working Capital Adjustment", "documentation": "Business Combination, Net Working Capital Adjustment" } } }, "auth_ref": [] }, "apog_BusinessCombinationNonRecurringChargesAmortizationOfAcquiredBacklog": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationNonRecurringChargesAmortizationOfAcquiredBacklog", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of acquired backlog", "label": "Business Combination, Non-Recurring Charges, Amortization of Acquired Backlog", "documentation": "Business Combination, Non-Recurring Charges, Amortization of Acquired Backlog" } } }, "auth_ref": [] }, "apog_BusinessCombinationNonRecurringChargesIntegrationCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationNonRecurringChargesIntegrationCosts", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-recurring integration costs", "label": "Business Combination, Non-Recurring Charges, Integration Costs", "documentation": "Business Combination, Non-Recurring Charges, Integration Costs" } } }, "auth_ref": [] }, "apog_BusinessCombinationNonRecurringChargesInventoryStepUpExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationNonRecurringChargesInventoryStepUpExpense", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory step-up expense", "label": "Business Combination, Non-Recurring Charges, Inventory Step-Up Expense", "documentation": "Business Combination, Non-Recurring Charges, Inventory Step-Up Expense" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income (loss)", "label": "Business Combination, Acquiree's Earnings (Loss) since Acquisition Date, Actual", "documentation": "Amount of acquiree's earnings (loss) since acquisition date of business combination included in consolidated statement of income." } } }, "auth_ref": [ "r539", "r543", "r939", "r949" ] }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net sales", "label": "Business Combination, Acquiree's Revenue since Acquisition Date, Actual", "documentation": "Amount of acquiree's revenue since acquisition date of business combination included in consolidated statement of income." } } }, "auth_ref": [ "r539", "r543", "r939", "r949" ] }, "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedCompensationAndBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedCompensationAndBenefits", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation and benefits", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Compensation and Benefits", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Accrued Compensation and Benefits" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAbstract", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Assets:", "label": "Business Combination, Recognized Asset Acquired, Asset [Abstract]" } } }, "auth_ref": [] }, "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total Assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Business Combination, Recognized Asset Acquired, Cash and Cash Equivalent", "documentation": "Amount of cash and cash equivalent acquired in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other current assets", "label": "Business Combination, Recognized Asset Acquired, Other Asset, Current", "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and current." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Receivables, net", "label": "Business Combination, Recognized Asset Acquired, Receivable, Current", "documentation": "Amount of receivable acquired in business combination and recognized at acquisition date, classified as current. Includes, but is not limited to, receivable from customer for product and service." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Business Combination, Recognized Liability Assumed, Accounts Payable, Current", "documentation": "Amount of accounts payable assumed in business combination and recognized at acquisition date, classified as current." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Intangible assets, net", "label": "Business Combination, Recognized Asset Acquired, Identifiable Intangible Asset, Finite-Lived", "documentation": "Amount of identifiable finite-lived intangible asset acquired in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories, net", "label": "Business Combination, Recognized Asset Acquired, Inventory, Current", "documentation": "Amount of inventory acquired in business combination and recognized at acquisition date, classified as current." } } }, "auth_ref": [ "r939", "r944", "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total Liabilities", "label": "Business Combination, Recognized Liability Assumed, Liability", "documentation": "Amount of liability assumed in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r554", "r559" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesAbstract", "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities:", "label": "Business Combination, Recognized Liability Assumed, Liability [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current liabilities", "label": "Business Combination, Recognized Liability Assumed, Other Liability, Noncurrent", "documentation": "Amount of liability assumed in business combination and recognized at acquisition date, classified as other and noncurrent." } } }, "auth_ref": [ "r1221", "r1223" ] }, "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Current", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Current" } } }, "auth_ref": [] }, "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent operating lease liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Noncurrent", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Liabilities, Noncurrent" } } }, "auth_ref": [] }, "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right-of-Use Assets", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right-of-Use Assets" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current assets", "label": "Business Combination, Recognized Asset Acquired, Other Asset, Noncurrent", "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and noncurrent." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, plant and equipment", "label": "Business Combination, Recognized Asset Acquired, Property, Plant, and Equipment", "documentation": "Amount of property, plant, and equipment acquired in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r939", "r944", "r1221", "r1223" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net assets recorded", "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less), and Goodwill", "documentation": "Amount of asset acquired in excess of (less than) liability assumed plus goodwill in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCostExpensed": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCostExpensed", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Transaction costs", "label": "Business Combination, Separately Recognized Transaction, Acquisition-Related Cost, Expensed", "documentation": "Amount of expense for acquisition-related cost incurred to effect business combination and recognized separately from acquisition of asset and assumption of liability. Includes, but is not limited to, finder's fee and advisory, legal, accounting, valuation, and other professional and consulting fees. Excludes integration, restructuring, and other post-combination costs; cost related to acquisition of asset; and acquisition-related cost for transaction with third party." } } }, "auth_ref": [ "r533", "r543", "r937", "r938", "r939", "r944" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Capital expenditures in accounts payable", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r22", "r23", "r24" ] }, "us-gaap_CashAcquiredFromAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashAcquiredFromAcquisition", "crdr": "debit", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash acquired", "label": "Cash Acquired from Acquisition", "documentation": "The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalent", "documentation": "Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r21", "r128", "r872" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation", "documentation": "Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; attributable to continuing operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r21", "r80", "r172" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "(Decrease) increase in cash, cash equivalents and restricted cash", "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation", "documentation": "Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r0", "r80" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r1043" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year", "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]" } } }, "auth_ref": [ "r1040" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested", "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r1038" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CityAreaCode", "presentation": [ "http://www.apog.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ClassOfStockLineItems", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Line Items]", "label": "Class of Stock [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": [ "r134", "r135", "r136", "r217", "r408", "r415", "r416", "r417", "r419", "r422", "r427", "r429", "r620", "r777", "r778", "r779", "r780", "r916", "r1082", "r1124", "r1126" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r1044" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r1044" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingent liabilities (Note 6)", "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": [ "r53", "r100", "r729", "r802" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilities" ], "lang": { "en-us": { "role": { "verboseLabel": "Commitments and Contingent Liabilities", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r88", "r355", "r356", "r867", "r1166", "r1173" ] }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockDividendsPerShareCashPaid", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common dividends (in dollars per share)", "label": "Common Stock, Dividends, Per Share, Cash Paid", "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r93" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common dividends (in dollars per share)", "label": "Common Stock, Dividends, Per Share, Declared", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r93" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockMember", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock at Par Value", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r984", "r985", "r986", "r988", "r989", "r990", "r993", "r1132", "r1133", "r1136", "r1237", "r1301", "r1306" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in usd per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r55" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, 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": [ "r55", "r803" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, 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": [ "r55" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, 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": [ "r11", "r55", "r803", "r822", "r1306", "r1307" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock of $0.33-1/3 par value; authorized 50,000,000 shares; issued and outstanding 21,494,322 and 21,417,631, 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": [ "r55", "r406", "r412", "r731", "r976" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r1049" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r1048" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r1050" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r1047" ] }, "apog_CompaniesBacklogRelatedToSales": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "CompaniesBacklogRelatedToSales", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Companies backlog related to sales", "label": "Companies Backlog Related to Sales", "documentation": "Companies backlog related to sales." } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total comprehensive earnings", "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": [ "r16", "r152", "r154", "r159", "r716", "r741", "r742" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r105", "r173", "r174", "r179", "r180", "r215", "r225", "r240", "r241", "r242", "r243", "r244", "r246", "r247", "r248", "r364", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r721", "r896", "r897", "r1181", "r1182" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r105", "r173", "r174", "r179", "r180", "r215", "r225", "r240", "r241", "r242", "r243", "r244", "r246", "r247", "r248", "r364", "r365", "r366", "r367", "r369", "r370", "r371", "r372", "r373", "r721", "r896", "r897", "r1181", "r1182" ] }, "us-gaap_ContractTerminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractTerminationMember", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract termination costs", "label": "Contract Termination [Member]", "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan." } } }, "auth_ref": [ "r883", "r906", "r907", "r908", "r909" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Other Contract-Related Disclosures", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r1186" ] }, "us-gaap_ContractWithCustomerAssetNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerAssetNet", "crdr": "debit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofContractAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "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." } } }, "auth_ref": [ "r431", "r433", "r435", "r447" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "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": [ "r431", "r433", "r435", "r447" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofContractAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract liabilities", "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": [ "r431", "r432", "r435", "r447" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Contract liabilities", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r431", "r432", "r435", "r447" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOtherContractRelatedDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognized related to contract liabilities from prior year-end", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r448" ] }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOtherContractRelatedDisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognized related to prior satisfaction of performance obligations", "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price." } } }, "auth_ref": [ "r441" ] }, "apog_CorporateAndOtherExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "CorporateAndOtherExpenses", "crdr": "debit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Corporate and Other Expenses", "label": "Corporate and Other Expenses", "documentation": "Corporate and Other Expenses" } } }, "auth_ref": [] }, "us-gaap_CorporateAndOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CorporateAndOtherMember", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate and Other", "label": "Corporate Segment and Other Operating Segment [Member]", "documentation": "Component of entity providing financial and operational oversight and administrative support considered to be operating segment and operating segment, classified as other. Excludes intersegment elimination and reconciling item." } } }, "auth_ref": [ "r1140" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of sales", "label": "Cost of Product and Service Sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r69", "r70", "r712", "r884", "r889", "r953", "r1117" ] }, "apog_CostOfGoodsAndServicesSoldAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "CostOfGoodsAndServicesSoldAdjusted", "crdr": "debit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Adjusted cost of sales", "label": "Cost of Goods and Services Sold, Adjusted", "documentation": "Cost of Goods and Services Sold, Adjusted" } } }, "auth_ref": [] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CostOfSalesMember", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of Sales", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [ "r961" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover [Abstract]", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CreditFacilityAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [ "r363", "r1178" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "CreditFacilityDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [ "r363", "r1178" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "apog_DebtCovenantAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtCovenantAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Covenant [Axis]", "label": "Debt Covenant [Axis]", "documentation": "Debt Covenant" } } }, "auth_ref": [] }, "apog_DebtCovenantDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtCovenantDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Covenant [Domain]", "label": "Debt Covenant [Domain]", "documentation": "Debt Covenant [Domain]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Debt Disclosure [Abstract]", "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/Debt" ], "lang": { "en-us": { "role": { "verboseLabel": "Debt", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r89", "r173", "r175", "r326", "r327", "r328", "r329", "r330", "r362", "r363", "r375", "r381", "r382", "r383", "r384", "r385", "r386", "r391", "r398", "r399", "r401", "r620", "r670" ] }, "apog_DebtFeesAxisAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtFeesAxisAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt, Fees Axis [Axis]", "label": "Debt, Fees Axis [Axis]", "documentation": "Debt, Fees Axis" } } }, "auth_ref": [] }, "apog_DebtFeesAxisDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtFeesAxisDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt, Fees Axis [Domain]", "label": "Debt, Fees Axis [Domain]", "documentation": "Debt, Fees Axis [Domain]" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [ "r13", "r48", "r49", "r98", "r99", "r376", "r377", "r378", "r379", "r380", "r382", "r387", "r388", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r397", "r910", "r911", "r912", "r913", "r914", "r975", "r1124", "r1125", "r1127", "r1131", "r1167", "r1168", "r1169", "r1257", "r1258", "r1267" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basis spread", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "apog_DebtInstrumentCovenantAcquisitionHoliday": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtInstrumentCovenantAcquisitionHoliday", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition holiday", "label": "Debt Instrument, Covenant, Acquisition Holiday", "documentation": "Debt Instrument, Covenant, Acquisition Holiday" } } }, "auth_ref": [] }, "apog_DebtInstrumentCovenantEBITDAToInterestExpenseRatioMinimum": { "xbrltype": "pureItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtInstrumentCovenantEBITDAToInterestExpenseRatioMinimum", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum ratio of EBITDA-to-interest expense", "label": "Debt Instrument, Covenant, EBITDA To Interest Expense Ratio, Minimum", "documentation": "Debt Instrument, Covenant, EBITDA To Interest Expense Ratio, Minimum" } } }, "auth_ref": [] }, "apog_DebtInstrumentCovenantNetDebtToEBITDARatioMaximum": { "xbrltype": "pureItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DebtInstrumentCovenantNetDebtToEBITDARatioMaximum", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum debt-to-EBITDA ratio", "label": "Debt Instrument, Covenant, Net Debt To EBITDA Ratio, Maximum", "documentation": "Debt Instrument, Covenant, Net Debt To EBITDA Ratio, Maximum" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [ "r13", "r376", "r377", "r378", "r379", "r380", "r382", "r387", "r388", "r389", "r390", "r392", "r393", "r394", "r395", "r396", "r397", "r910", "r911", "r912", "r913", "r914", "r975", "r1124", "r1125", "r1127", "r1131", "r1167", "r1168", "r1169", "r1257", "r1258", "r1267" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument term", "label": "Debt Instrument, Term", "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleAndHeldToMaturityCumulativeUnrecognizedGain": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtSecuritiesAvailableForSaleAndHeldToMaturityCumulativeUnrecognizedGain", "crdr": "credit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Unrealized Gains", "label": "Debt Securities, Available-for-Sale and Held-to-Maturity, Cumulative Unrecognized Gain", "documentation": "Amount of cumulative unrecognized gain on investment in debt security measured at amortized cost (held-to-maturity) and investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r1150", "r1154" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAndHeldToMaturityCumulativeUnrecognizedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtSecuritiesAvailableForSaleAndHeldToMaturityCumulativeUnrecognizedLoss", "crdr": "debit", "calculation": { "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale and Held-to-Maturity, Cumulative Unrecognized Loss", "documentation": "Amount of cumulative unrecognized loss on investment in debt security measured at amortized cost (held-to-maturity) and investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r1151", "r1155" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Table]", "label": "Debt Securities, Available-for-Sale [Table]", "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average interest rates", "label": "Debt, Weighted Average Interest Rate", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Deferred income taxes", "label": "Deferred Income Tax Expense (Benefit)", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r7", "r111", "r1124", "r1130" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Depreciation and amortization", "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": [ "r7", "r31", "r167", "r882", "r884", "r886", "r888" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "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": [ "r7", "r168", "r215", "r228", "r246", "r882", "r896", "r897" ] }, "apog_DepreciationDepletionAndAmortizationAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "DepreciationDepletionAndAmortizationAdjusted", "crdr": "debit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjusted depreciation and amortization", "label": "Depreciation, Depletion and Amortization, Adjusted", "documentation": "Depreciation, Depletion and Amortization, Adjusted" } } }, "auth_ref": [] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative asset", "label": "Derivative Asset", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r143", "r144", "r619", "r638", "r639", "r646", "r651", "r652", "r653", "r786", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r809", "r810", "r850", "r853", "r856", "r857", "r858", "r859", "r871", "r877", "r879", "r880", "r881", "r963", "r967", "r974", "r986", "r1241", "r1242", "r1243", "r1302" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Contract [Domain]", "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r163", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r793", "r795", "r808", "r809", "r810", "r812", "r813", "r814", "r815", "r817", "r818", "r819", "r820", "r829", "r830", "r831", "r832", "r835", "r836", "r837", "r838", "r850", "r851", "r856", "r858", "r877", "r878", "r881", "r960", "r961", "r984", "r986", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1231", "r1232", "r1233", "r1234", "r1244", "r1245", "r1246", "r1247", "r1248", "r1249", "r1251", "r1252" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Instrument [Axis]", "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r163", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r793", "r795", "r808", "r809", "r810", "r812", "r813", "r814", "r815", "r817", "r818", "r819", "r820", "r829", "r830", "r831", "r832", "r835", "r836", "r837", "r838", "r850", "r851", "r856", "r858", "r877", "r878", "r881", "r960", "r961", "r984", "r986", "r1104", "r1105", "r1106", "r1107", "r1108", "r1109", "r1110", "r1111", "r1112", "r1231", "r1232", "r1233", "r1234", "r1244", "r1245", "r1246", "r1247", "r1248", "r1249", "r1251", "r1252" ] }, "us-gaap_DerivativeLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeLiabilities", "crdr": "credit", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative liabilities", "label": "Derivative Liability", "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r143", "r144", "r619", "r638", "r639", "r646", "r651", "r652", "r653", "r786", "r787", "r788", "r789", "r791", "r792", "r793", "r794", "r795", "r817", "r819", "r820", "r851", "r852", "r853", "r856", "r857", "r858", "r859", "r877", "r879", "r880", "r881", "r1241", "r1242", "r1243", "r1302" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notional value", "label": "Derivative, Notional Amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r960", "r1225", "r1226" ] }, "us-gaap_DerivativesFairValueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DerivativesFairValueLineItems", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivatives, Fair Value [Line Items]", "label": "Derivatives, Fair Value [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": [ "r593", "r596", "r597", "r598", "r599", "r961" ] }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DesignatedAsHedgingInstrumentMember", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Designated as Hedging Instrument", "label": "Designated as Hedging Instrument [Member]", "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)." } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [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": [ "r445", "r446", "r919", "r920", "r921", "r922", "r923", "r924", "r925" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "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": [ "r445", "r446", "r919", "r920", "r921", "r922", "r923", "r924", "r925" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Disaggregates Total Revenue by Timing of Recognition", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r1187" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.apog.com/role/ShareBasedCompensation" ], "lang": { "en-us": { "role": { "verboseLabel": "Share-Based Compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r462", "r467", "r495", "r496", "r499", "r934" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement [Abstract]", "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cash/Declared dividends", "label": "Dividends, Common Stock, Cash", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r93" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r999" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentTransitionReport", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r1031" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "DocumentType", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year", "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]" } } }, "auth_ref": [ "r1042" ] }, "apog_EarningsBeforeInterestAndTaxAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "EarningsBeforeInterestAndTaxAdjusted", "crdr": "credit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Adjusted EBITDA", "label": "Earnings Before Interest And Tax, Adjusted", "documentation": "Earnings Before Interest And Tax, Adjusted" } } }, "auth_ref": [] }, "apog_EarningsBeforeInterestTaxDepreciationAndAmortizationAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "EarningsBeforeInterestTaxDepreciationAndAmortizationAdjusted", "crdr": "credit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjusted EBITDA", "label": "Earnings Before Interest Tax Depreciation And Amortization, Adjusted", "documentation": "Earnings Before Interest Tax Depreciation And Amortization, Adjusted" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/EarningsperShareDetails", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic earnings per share (in usd per share)", "verboseLabel": "Basic (in usd 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": [ "r117", "r160", "r186", "r187", "r188", "r189", "r191", "r192", "r193", "r195", "r201", "r203", "r208", "r209", "r210", "r214", "r404", "r500", "r522", "r588", "r635", "r636", "r717", "r743", "r890" ] }, "apog_EarningsPerShareBasicAndDilutedEPSAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.apog.com/20251129", "localname": "EarningsPerShareBasicAndDilutedEPSAbstract", "presentation": [ "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share:", "label": "Earnings Per Share, Basic and Diluted EPS [Abstract]", "documentation": "Earnings Per Share, Basic and Diluted EPS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/EarningsperShareDetails", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted earnings per share (in usd per share)", "verboseLabel": "Diluted (in usd 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": [ "r117", "r160", "r186", "r187", "r188", "r189", "r191", "r192", "r193", "r195", "r203", "r208", "r209", "r210", "r214", "r404", "r500", "r522", "r588", "r635", "r636", "r717", "r743", "r890" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.apog.com/role/EarningsperShare" ], "lang": { "en-us": { "role": { "verboseLabel": "Earnings per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r200", "r211", "r212", "r213" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rates on cash", "label": "Effect of Exchange Rate on Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation", "documentation": "Amount of increase (decrease) from effect of exchange rate change on cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; held in foreign currency; attributable to continuing operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate." } } }, "auth_ref": [ "r660" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation and benefits", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r49" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average period", "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": [ "r498" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total unrecognized compensation cost related to nonvested share", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r1214" ] }, "us-gaap_EmployeeSeveranceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeSeveranceMember", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Termination benefits", "label": "Employee Severance [Member]", "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Share-Based Payment Arrangement, Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [ "r1188", "r1189", "r1190", "r1191", "r1192", "r1193", "r1194", "r1195", "r1196", "r1197", "r1198", "r1199", "r1200", "r1201", "r1202", "r1203", "r1204", "r1205", "r1206", "r1207", "r1208", "r1209", "r1210", "r1211", "r1212", "r1213" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityFileNumber", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityFilerCategory", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r1081" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityRegistrantName", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityShellCompany", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntitySmallBusiness", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r997" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Footnote", "label": "Equity Awards Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r1036" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table", "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]" } } }, "auth_ref": [ "r1077" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments", "label": "Equity Awards Adjustments [Member]" } } }, "auth_ref": [ "r1077" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table", "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r1077" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "EquityComponentDomain", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "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": [ "r11", "r114", "r116", "r117", "r155", "r156", "r157", "r181", "r182", "r183", "r185", "r193", "r196", "r198", "r216", "r287", "r290", "r323", "r403", "r430", "r500", "r512", "r513", "r519", "r520", "r521", "r523", "r587", "r588", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r634", "r661", "r663", "r664", "r665", "r666", "r667", "r671", "r673", "r678", "r739", "r760", "r761", "r762", "r783", "r841" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r1046" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r1004", "r1014", "r1024", "r1056" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r1001", "r1011", "r1021", "r1053" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r1052" ] }, "us-gaap_ExtendedProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ExtendedProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Extended Product Warranty Accrual", "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability." } } }, "auth_ref": [ "r1175", "r1177" ] }, "us-gaap_ExtendedProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ExtendedProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Claims paid", "label": "Extended Product Warranty Accrual, Decrease for Payments", "documentation": "Amount of decrease in the extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the extended product warranty. Excludes standard product warranties." } } }, "auth_ref": [ "r1176" ] }, "apog_ExtendedWarrantyCreditLossExpenseReversal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ExtendedWarrantyCreditLossExpenseReversal", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Credits against costs and expenses", "label": "Extended Warranty, Credit Loss Expense (Reversal)", "documentation": "Extended Warranty, Credit Loss Expense (Reversal)" } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r638", "r639", "r646", "r963" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r638", "r639", "r646", "r963" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Fair Value Measurements", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table Text Block]", "documentation": "Tabular disclosure of financial instrument measured at fair value on recurring or nonrecurring basis. Includes, but is not limited to, instrument classified in shareholders' equity." } } }, "auth_ref": [ "r963", "r1239", "r1240", "r1251" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r389", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r637", "r639", "r640", "r641", "r642", "r645", "r646", "r648", "r651", "r682", "r683", "r684", "r871", "r911", "r912", "r926", "r927", "r928", "r929", "r930", "r963", "r967", "r974" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Quoted\u00a0Prices\u00a0in Active Markets (Level 1)", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r389", "r451", "r456", "r457", "r639", "r646", "r651", "r682", "r871", "r926", "r927", "r928", "r929", "r930", "r963", "r974" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Observable Inputs (Level 2)", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r389", "r451", "r456", "r457", "r459", "r639", "r640", "r646", "r651", "r683", "r871", "r911", "r912", "r926", "r927", "r928", "r929", "r930", "r963", "r974" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r389", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r637", "r639", "r640", "r641", "r642", "r645", "r646", "r648", "r651", "r682", "r683", "r684", "r871", "r911", "r912", "r926", "r927", "r928", "r929", "r930", "r963", "r967", "r974" ] }, "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]", "documentation": "Disclosure of information about location and fair value of derivative instrument and nonderivative instrument designated as hedging instrument." } } }, "auth_ref": [ "r593", "r596", "r597", "r598", "r599", "r961" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r292", "r293", "r297", "r298", "r299", "r301", "r302", "r303", "r400", "r427", "r620", "r631", "r649", "r655", "r658", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r726", "r740", "r902", "r963", "r965", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r977", "r1096", "r1097", "r1098", "r1099", "r1100", "r1101", "r1102", "r1156", "r1157", "r1158", "r1159", "r1238", "r1241", "r1242", "r1243", "r1250", "r1253", "r1254", "r1255" ] }, "us-gaap_ForeignExchangeForwardMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ForeignExchangeForwardMember", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency option contract", "label": "Foreign Exchange Forward [Member]", "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate." } } }, "auth_ref": [ "r809", "r814", "r819", "r831", "r837", "r854", "r855", "r856", "r952", "r954", "r955", "r956", "r957", "r958", "r959", "r986", "r1230" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1060" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1060" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1060" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1060" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1060" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year", "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]" } } }, "auth_ref": [ "r1041" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Loss on disposal of property, plant and equipment", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r7" ] }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GainsLossesOnExtinguishmentOfDebt", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Loss on extinguishment of debt", "label": "Gain (Loss) on Extinguishment of Debt", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity." } } }, "auth_ref": [ "r7", "r36", "r37" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 }, "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails": { "parentTag": "apog_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r130", "r305", "r713", "r897", "r903", "r939", "r943", "r944", "r951", "r964", "r976", "r1162", "r1163", "r1224" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "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": [ "r67", "r71", "r106", "r173", "r176", "r177", "r286", "r364", "r365", "r367", "r368", "r369", "r370", "r371", "r373", "r374", "r656", "r891", "r896", "r1139", "r1142", "r1143", "r1144", "r1145", "r1181" ] }, "us-gaap_GuaranteesFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "GuaranteesFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Face value of performance bonds", "label": "Guarantees, Fair Value Disclosure", "documentation": "Fair value portion of guarantee, including, but not limited to, financial standby letter of credit, fair value guarantee, guarantee of collection of scheduled contractual cash flows from financial assets, and contracts that contingently require the guarantor to make payments or perform services." } } }, "auth_ref": [ "r651", "r652", "r653", "r654", "r1239", "r1240", "r1250" ] }, "us-gaap_HedgingDesignationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "HedgingDesignationAxis", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Designation [Axis]", "label": "Hedging Designation [Axis]", "documentation": "Information by designation of purpose of derivative instrument." } } }, "auth_ref": [ "r1227", "r1228" ] }, "us-gaap_HedgingDesignationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "HedgingDesignationDomain", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Designation [Domain]", "label": "Hedging Designation [Domain]", "documentation": "Designation of purpose of derivative instrument." } } }, "auth_ref": [ "r1227", "r1228" ] }, "apog_ImpairmentExpenseOnGoodwillAndIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ImpairmentExpenseOnGoodwillAndIntangibleAssets", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment on intangible assets", "label": "Impairment Expense on Goodwill and Intangible Assets", "documentation": "Impairment Expense on Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Earnings before income 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": [ "r68", "r102", "r106", "r718", "r720", "r737", "r885", "r887", "r889", "r891", "r896", "r1139", "r1142", "r1143", "r1144", "r1145" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Statement of Income Location, Balance [Axis]", "documentation": "Information by location in statement of income where disaggregated amount is reported." } } }, "auth_ref": [ "r324", "r331", "r347", "r594", "r600", "r617", "r618", "r643", "r644", "r647", "r657", "r658", "r659", "r757", "r759", "r826", "r870", "r871", "r939", "r944", "r961", "r962", "r966", "r974", "r1216", "r1218", "r1272" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Statement of Income Location, Balance [Domain]", "documentation": "Location in statement of income where disaggregated amount is reported." } } }, "auth_ref": [ "r331", "r347", "r594", "r600", "r617", "r618", "r643", "r644", "r647", "r657", "r658", "r659", "r757", "r759", "r826", "r870", "r871", "r939", "r944", "r961", "r962", "r966", "r974", "r1216", "r1218", "r1272" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Tax Disclosure [Abstract]", "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "verboseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r173", "r178", "r502", "r505", "r506", "r507", "r508", "r510", "r511", "r514", "r516", "r517", "r518", "r725", "r771", "r782", "r936" ] }, "apog_IncomeTaxExpenseAsPercentageOfEarningsBeforeIncomeTaxesPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.apog.com/20251129", "localname": "IncomeTaxExpenseAsPercentageOfEarningsBeforeIncomeTaxesPercent", "presentation": [ "http://www.apog.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax expense as a percentage of earnings before income taxes", "label": "Income Tax Expense As Percentage Of Earnings Before Income Taxes, Percent", "documentation": "Income Tax Expense As Percentage Of Earnings Before Income Taxes, Percent" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 }, "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Income tax expense", "negatedTerseLabel": "Income tax 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": [ "r108", "r112", "r173", "r197", "r198", "r215", "r231", "r246", "r504", "r505", "r515", "r744", "r885", "r887", "r889", "r936" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "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": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued income taxes", "label": "Increase (Decrease) in Income Taxes Payable", "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Contract assets", "label": "Increase (Decrease) in Contract with Customer, Asset", "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r1120" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Contract liabilities", "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": [ "r711", "r1120" ] }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation and benefits", "label": "Increase (Decrease) in Employee Related Liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Changes in operating assets and liabilities, net of business acquired:", "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liability", "label": "Increase (Decrease) in Operating Lease Liability", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r1093", "r1120" ] }, "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInOtherOperatingCapitalNet", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 18.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other current assets and liabilities", "label": "Increase (Decrease) in Other Operating Assets and Liabilities, Net", "documentation": "Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInReceivables", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Receivables", "label": "Increase (Decrease) in Receivables", "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average effect of nonvested share grants and assumed exercise of stock options (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": [ "r204", "r205", "r206", "r210", "r466" ] }, "apog_IncrementalTermSOFRAndCORRAAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "IncrementalTermSOFRAndCORRAAdjustmentMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Incremental Term SOFR and CORRA Adjustment", "label": "Incremental Term SOFR and CORRA Adjustment [Member]", "documentation": "Incremental Term SOFR and CORRA Adjustment" } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1052", "r1060", "r1064", "r1072" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r1070" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r1000", "r1076" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r1000", "r1076" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r1000", "r1076" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "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": [ "r316", "r1164", "r1165" ] }, "us-gaap_InterestCostsCapitalized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestCostsCapitalized", "crdr": "debit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Capitalized fees", "label": "Interest Costs Capitalized", "documentation": "Amount of interest capitalized during the period." } } }, "auth_ref": [ "r669" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Interest expense, net", "label": "Interest Expense, Operating and Nonoperating", "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense." } } }, "auth_ref": [ "r215", "r223", "r227", "r233", "r246", "r668", "r896", "r897", "r1305" ] }, "us-gaap_InterestExpenseDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestExpenseDebt", "crdr": "debit", "calculation": { "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails": { "parentTag": "us-gaap_InterestExpense", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest on debt", "label": "Interest Expense, Debt", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt." } } }, "auth_ref": [ "r75", "r395", "r402", "r913", "r914", "r1305" ] }, "apog_InterestExpenseIncomeDerivatives": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "InterestExpenseIncomeDerivatives", "crdr": "debit", "calculation": { "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails": { "parentTag": "us-gaap_InterestExpense", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate swap gain", "label": "Interest Expense (Income), Derivatives", "documentation": "Interest Expense (Income), Derivatives" } } }, "auth_ref": [] }, "us-gaap_InterestExpenseNonoperating": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestExpenseNonoperating", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 3.0 }, "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Interest expense, net", "negatedTerseLabel": "Interest expense, net", "label": "Interest Expense, Nonoperating", "documentation": "Amount of interest expense classified as nonoperating." } } }, "auth_ref": [ "r227", "r885", "r889", "r1116" ] }, "us-gaap_InterestExpenseOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestExpenseOther", "crdr": "debit", "calculation": { "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails": { "parentTag": "us-gaap_InterestExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other interest expense", "label": "Interest Expense, Other", "documentation": "Amount of interest expense classified as other." } } }, "auth_ref": [] }, "us-gaap_InterestIncomeOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestIncomeOther", "crdr": "credit", "calculation": { "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails": { "parentTag": "us-gaap_InterestExpense", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/DebtScheduleofInterestExpenseDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Interest income", "label": "Interest Income, Other", "documentation": "Amount of interest income earned from interest bearing assets classified as other." } } }, "auth_ref": [ "r887" ] }, "us-gaap_InterestPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestPaid", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest payments", "label": "Interest Paid, Including Capitalized Interest, Operating and Investing Activities", "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities." } } }, "auth_ref": [ "r1122" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InterestRateSwapMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsAdditionalInformationDetails", "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest rate swap contracts", "label": "Interest Rate Swap [Member]", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r960", "r991", "r992", "r1229" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intersegment net sales", "label": "Intersegment Eliminations [Member]", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r105", "r215", "r225", "r240", "r241", "r242", "r243", "r244", "r246", "r247", "r896" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Inventory Disclosure [Abstract]", "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/Inventories" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r304" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.apog.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r84", "r874" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 }, "http://www.apog.com/role/InventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.apog.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories, net", "totalLabel": "Total inventories, net", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r140", "r873", "r976" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.apog.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r84", "r876" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.apog.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Work-in-process", "label": "Inventory, Work in Process, Net of Reserves", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r84", "r875" ] }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Amortized Cost and Estimated Fair Values of Investments by Contractual Maturity", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments." } } }, "auth_ref": [] }, "apog_LenderFeesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "LenderFeesMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lender Fees", "label": "Lender Fees [Member]", "documentation": "Lender Fees" } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails", "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit outstanding, amount", "label": "Letters of Credit Outstanding, Amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [ "r981", "r983" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and shareholders\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": [ "r61", "r101", "r734", "r976", "r980", "r982", "r1124", "r1129", "r1160", "r1256" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Liabilities and Shareholders\u2019 Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.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": [ "r50", "r127", "r173", "r176", "r177", "r286", "r364", "r365", "r367", "r368", "r369", "r370", "r371", "r373", "r374", "r590", "r591", "r592", "r656", "r976", "r1181", "r1259", "r1260" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Current liabilities", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding borrowings", "label": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r13", "r99", "r1268" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lender Name [Axis]", "label": "Lender Name [Axis]", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r47", "r51", "r1124", "r1127", "r1178", "r1179" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility, Lender [Domain]", "label": "Line of Credit Facility, Lender [Domain]", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r47", "r51", "r1124", "r1127", "r1178", "r1179" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Line Items]", "label": "Line of Credit Facility [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": [ "r363", "r1124", "r1127", "r1178" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [ "r47", "r51" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amount of available commitment", "label": "Line of Credit Facility, Remaining Borrowing Capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r47", "r51", "r363" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Table]", "label": "Line of Credit Facility [Table]", "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement." } } }, "auth_ref": [ "r47", "r51", "r363", "r1124", "r1127", "r1178" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LineOfCreditMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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_LitigationSettlementAmountAwardedToOtherParty": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LitigationSettlementAmountAwardedToOtherParty", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amount awarded to other party", "label": "Litigation Settlement, Amount Awarded to Other Party", "documentation": "Amount awarded to other party in judgment or settlement of litigation." } } }, "auth_ref": [] }, "us-gaap_LitigationSettlementLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LitigationSettlementLoss", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Judgement expenses", "label": "Litigation Settlement, Loss", "documentation": "Amount of loss from litigation settlement for amount awarded to other party. Excludes claims within an insurance entity's normal claims settlement process." } } }, "auth_ref": [ "r1174" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "LocalPhoneNumber", "presentation": [ "http://www.apog.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term debt", "label": "Long-Term Debt, Excluding Current Maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r133" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r13", "r1167", "r1168", "r1169" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Domain]", "label": "Long-Term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r13", "r35", "r1167", "r1168", "r1169" ] }, "apog_LossSettlementLossNetOfReserveAndRecoveryFromThirdPartyAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "LossSettlementLossNetOfReserveAndRecoveryFromThirdPartyAmount", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Loss contingency existing reserve and insurance proceeds amount", "label": "Loss Settlement Loss, Net of Reserve And Recovery from Third Party, Amount", "documentation": "Loss Settlement Loss, Net of Reserve And Recovery from Third Party, Amount" } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "MarketableSecuritiesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Marketable Securities [Abstract]", "label": "Marketable Securities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "MarketableSecuritiesTextBlock", "presentation": [ "http://www.apog.com/role/FinancialInstruments" ], "lang": { "en-us": { "role": { "verboseLabel": "Financial Instruments", "label": "Marketable Securities [Table Text Block]", "documentation": "Tabular disclosure of marketable securities. This may consist of investments in certain debt and equity securities, short-term investments and other assets." } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "MaximumMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r218", "r357", "r358", "r359", "r360", "r460", "r491", "r492", "r493", "r501", "r642", "r710", "r756", "r758", "r770", "r794", "r795", "r846", "r847", "r848", "r849", "r860", "r862", "r863", "r864", "r865", "r868", "r869", "r901", "r916", "r933", "r939", "r945", "r948", "r967", "r968", "r972", "r973", "r978", "r1183", "r1261", "r1262", "r1263", "r1264", "r1265", "r1266" ] }, "apog_MaximumNumberOfAcquisitionHolidays": { "xbrltype": "integerItemType", "nsuri": "http://www.apog.com/20251129", "localname": "MaximumNumberOfAcquisitionHolidays", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum number of acquisition holidays", "label": "Maximum Number of Acquisition Holidays", "documentation": "Maximum Number of Acquisition Holidays" } } }, "auth_ref": [] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r1044" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r1044" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "MinimumMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r218", "r357", "r358", "r359", "r360", "r460", "r491", "r492", "r493", "r501", "r642", "r710", "r756", "r758", "r770", "r794", "r795", "r846", "r847", "r848", "r849", "r860", "r862", "r863", "r864", "r865", "r868", "r869", "r901", "r916", "r933", "r939", "r945", "r948", "r967", "r968", "r972", "r978", "r1183", "r1261", "r1262", "r1263", "r1264", "r1265", "r1266" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r1063" ] }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "MoneyMarketFundsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds, at Carrying Value", "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months." } } }, "auth_ref": [] }, "us-gaap_MovementInExtendedProductWarrantyAccrualRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "MovementInExtendedProductWarrantyAccrualRollForward", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesScheduleofGuaranteesandwarrantiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Guarantees and warranties", "label": "Movement in Extended Product Warranty Accrual [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": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r1071" ] }, "apog_MunicipalandCorporateBondsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "MunicipalandCorporateBondsMember", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Municipal and Corporate Bonds", "label": "Municipal and Corporate Bonds [Member]", "documentation": "Municipal and Corporate Bonds [Member]" } } }, "auth_ref": [] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r1045" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash (used in) provided by financing activities", "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit." } } }, "auth_ref": [ "r171" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Financing Activities", "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets." } } }, "auth_ref": [ "r171" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Investing Activities", "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation", "documentation": "Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity." } } }, "auth_ref": [ "r80", "r81", "r82" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating Activities", "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 }, "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited", "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net earnings", "verboseLabel": "Net (loss) earnings", "terseLabel": "Net earnings", "label": "Net Income (Loss) Attributable to Parent", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r72", "r82", "r103", "r117", "r125", "r150", "r153", "r157", "r173", "r176", "r177", "r179", "r184", "r188", "r189", "r191", "r192", "r193", "r197", "r198", "r207", "r286", "r364", "r365", "r367", "r368", "r369", "r370", "r371", "r373", "r374", "r404", "r407", "r409", "r413", "r500", "r522", "r588", "r636", "r656", "r738", "r823", "r839", "r840", "r885", "r887", "r889", "r994", "r1181" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.apog.com/role/SummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption of new accounting standards and Accounting standards not yet adopted", "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": [] }, "apog_NewMarketsTaxCreditSettled": { "xbrltype": "integerItemType", "nsuri": "http://www.apog.com/20251129", "localname": "NewMarketsTaxCreditSettled", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of NMTC transaction settled", "label": "New Markets Tax Credit Settled", "documentation": "New Markets Tax Credit Settled" } } }, "auth_ref": [] }, "apog_NewMarketsTaxCreditTaxBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "NewMarketsTaxCreditTaxBenefit", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "NMTC transaction settled, tax benefit", "label": "New Markets Tax Credit, Tax Benefit", "documentation": "New Markets Tax Credit, Tax Benefit" } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r1044" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r1008", "r1018", "r1028", "r1052", "r1060" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r1035" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r1034" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r1052" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r1071" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r1071" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Non-cash Activity", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other income, net", "label": "Nonoperating Income (Expense)", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r74" ] }, "apog_NumberOfDrawdowns": { "xbrltype": "integerItemType", "nsuri": "http://www.apog.com/20251129", "localname": "NumberOfDrawdowns", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of drawdowns", "label": "Number Of Drawdowns", "documentation": "Number Of Drawdowns" } } }, "auth_ref": [] }, "apog_NumberOfLinesOfCredit": { "xbrltype": "integerItemType", "nsuri": "http://www.apog.com/20251129", "localname": "NumberOfLinesOfCredit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of lines of credit", "label": "Number Of Lines Of Credit", "documentation": "Number Of Lines Of Credit" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataAdditionalInformationDetails" ], "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": [ "r897", "r1141" ] }, "apog_NumberOfQuartersSeparatingAcquisitionHolidays": { "xbrltype": "integerItemType", "nsuri": "http://www.apog.com/20251129", "localname": "NumberOfQuartersSeparatingAcquisitionHolidays", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of quarters separating acquisition holidays", "label": "Number of Quarters Separating Acquisition Holidays", "documentation": "Number of Quarters Separating Acquisition Holidays" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataAdditionalInformationDetails" ], "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": [ "r892", "r900", "r1141" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating income", "terseLabel": "Operating income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r106", "r885", "r889", "r891", "r1139", "r1142", "r1143", "r1144", "r1145" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r675" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current operating lease liabilities", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r675" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r674" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash lease expense", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r1121" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "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": [ "r240", "r241", "r242", "r243", "r244", "r247", "r896", "r897" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/SummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Accounting Policies", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r95", "r118", "r120", "r122", "r773", "r774" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other current assets", "label": "Other Assets, Current", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r141", "r976" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r131" ] }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain (loss) on marketable securities, net of $9, $(13), $17, and $16 of tax expense (benefit), respectively", "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r146", "r147", "r148", "r739" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized (loss) gain on derivative instruments, net of $(73), $(21), $(249), and $86 of tax (benefit) expense, respectively", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r145", "r148", "r739" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized (loss) gain on derivative instruments, tax expenses (benefit)", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification, Tax", "documentation": "Amount, after reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness." } } }, "auth_ref": [ "r149" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, before Tax", "documentation": "Amount before tax, after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r2", "r66", "r739" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss), net of tax", "label": "Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r11", "r12", "r151", "r154", "r158", "r193", "r661", "r662", "r667", "r715", "r739", "r1113", "r1114" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Other comprehensive (loss) earnings", "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": [ "r4", "r10", "r96", "r151", "r154", "r193" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Other comprehensive earnings (loss):", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEEARNINGSUnauditedParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain (loss) on marketable securities, tax expenses (benefit)", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax", "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r3", "r147" ] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.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": [ "r49", "r976" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current 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": [ "r52" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Other, net", "label": "Other Noncash Income (Expense)", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r82" ] }, "apog_OtherNonoperatingIncomeExpenseAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "OtherNonoperatingIncomeExpenseAdjusted", "crdr": "credit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjusted other expense, net", "label": "Other Nonoperating Income (Expense), Adjusted", "documentation": "Other Nonoperating Income (Expense), Adjusted" } } }, "auth_ref": [] }, "us-gaap_OtherOperatingIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherOperatingIncome", "crdr": "credit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other income", "label": "Other Operating Income", "documentation": "The total amount of other operating income, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operation." } } }, "auth_ref": [ "r67" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r1044" ] }, "us-gaap_OtherRestructuringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "OtherRestructuringMember", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other restructuring charges", "label": "Other Restructuring [Member]", "documentation": "Restructuring and related activities classified as other." } } }, "auth_ref": [ "r883", "r906", "r907", "r908", "r909" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r1006", "r1016", "r1026", "r1058" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r1009", "r1019", "r1029", "r1061" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r1009", "r1019", "r1029", "r1061" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r1033" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PaymentsForLegalSettlements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsForLegalSettlements", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued post-judgment interest", "label": "Payments for Legal Settlements", "documentation": "The amount of cash paid for the settlement of litigation or for other legal issues during the period." } } }, "auth_ref": [ "r5" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repurchase of common stock", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r78" ] }, "us-gaap_PaymentsForRestructuring": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsForRestructuring", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RestructuringScheduleofReserveDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments", "label": "Payments for Restructuring", "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r346", "r1119" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments of debt issuance costs", "label": "Payments of Debt Issuance Costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r20" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Dividends paid", "verboseLabel": "Dividends paid", "label": "Payments of Ordinary Dividends, Common Stock", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r78" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Acquisition of business, net of cash acquired", "terseLabel": "Cash consideration", "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": [ "r18" ] }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquireMarketableSecurities", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchases of marketable securities", "label": "Payments to Acquire Marketable Securities", "documentation": "Amount of cash outflow for purchase of marketable security." } } }, "auth_ref": [ "r1149" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Capital expenditures", "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": [ "r77" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r1043" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r1043" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r1035" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r1052" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r1045" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r1034" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PerformanceSharesMember", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance share units", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [ "r1188", "r1189", "r1190", "r1191", "r1192", "r1193", "r1194", "r1195", "r1196", "r1197", "r1198", "r1199", "r1200", "r1201", "r1202", "r1203", "r1204", "r1205", "r1206", "r1207", "r1208", "r1209", "r1210", "r1211", "r1212", "r1213" ] }, "apog_PerformanceSurfacesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "PerformanceSurfacesMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Surfaces", "label": "Performance Surfaces [Member]", "documentation": "Performance Surfaces" } } }, "auth_ref": [] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Prior Service Cost", "label": "Pension Adjustments Prior Service Cost [Member]" } } }, "auth_ref": [ "r1036" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Service Cost", "label": "Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r1080" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Benefits Adjustments, Footnote", "label": "Pension Benefits Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r1035" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Junior preferred stock par value (in usd 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": [ "r54", "r415" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Junior preferred stock 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": [ "r54", "r803" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Junior preferred stock issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt." } } }, "auth_ref": [ "r54", "r415" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Junior preferred stock 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": [ "r54", "r803", "r822", "r1306", "r1307" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Junior preferred stock of $1.00 par value; authorized 200,000 shares; zero 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": [ "r54", "r406", "r411", "r730", "r976" ] }, "us-gaap_ProceedsFromIssuanceOfSecuredDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromIssuanceOfSecuredDebt", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from term loans", "label": "Proceeds from Issuance of Secured Debt", "documentation": "The cash inflow from amounts received from issuance of long-term debt that is wholly or partially secured by collateral. Excludes proceeds from tax exempt secured debt." } } }, "auth_ref": [ "r19" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from revolving credit facilities", "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": [ "r19", "r1124", "r1127" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other, net", "label": "Proceeds from (Payment for) Other Financing Activity", "documentation": "Amount of cash inflow (outflow) from financing activity, classified as other." } } }, "auth_ref": [ "r1085", "r1118" ] }, "us-gaap_ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Sales/maturities of marketable securities", "label": "Proceeds from Sale and Maturity of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from sale, maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r169", "r170", "r1149" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sales of property, plant and equipment", "label": "Proceeds from Sale of Property, Plant, and Equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r76" ] }, "us-gaap_ProceedsFromUnsecuredLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProceedsFromUnsecuredLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Delayed draw term loan facility executed", "label": "Proceeds from Unsecured 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 either short term or long term maturity that is uncollateralized (where debt is not backed by the pledge of collateral)." } } }, "auth_ref": [ "r19" ] }, "apog_ProjectFortifyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ProjectFortifyMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Project Fortify", "label": "Project Fortify [Member]", "documentation": "Project Fortify" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Property, plant and equipment, net of accumulated depreciation of $476,911 and $469,480", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r676", "r724", "r736", "r976" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Credits against costs and expenses", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r161", "r164", "r295" ] }, "us-gaap_PurchaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "PurchaseObligation", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Purchase obligations", "label": "Purchase Obligation", "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier." } } }, "auth_ref": [ "r1125", "r1131", "r1267" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r1033" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r1033" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RangeAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r218", "r357", "r358", "r359", "r360", "r450", "r460", "r491", "r492", "r493", "r499", "r501", "r642", "r685", "r694", "r710", "r756", "r758", "r770", "r794", "r795", "r846", "r847", "r848", "r849", "r860", "r862", "r863", "r864", "r865", "r868", "r869", "r901", "r916", "r933", "r939", "r945", "r948", "r967", "r968", "r972", "r973", "r978", "r986", "r1171", "r1183", "r1242", "r1262", "r1263", "r1264", "r1265", "r1266" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RangeMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r218", "r357", "r358", "r359", "r360", "r450", "r460", "r491", "r492", "r493", "r499", "r501", "r642", "r685", "r694", "r710", "r756", "r758", "r770", "r794", "r795", "r846", "r847", "r848", "r849", "r860", "r862", "r863", "r864", "r865", "r868", "r869", "r901", "r916", "r933", "r939", "r945", "r948", "r967", "r968", "r972", "r973", "r978", "r986", "r1171", "r1183", "r1242", "r1262", "r1263", "r1264", "r1265", "r1266" ] }, "us-gaap_ReceivableTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ReceivableTypeDomain", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Receivable [Domain]", "label": "Receivable [Domain]", "documentation": "Financing arrangement representing a contractual right to receive money either on demand or on fixed and determinable dates." } } }, "auth_ref": [ "r56", "r62" ] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Receivables, net", "label": "Receivables, Net, Current", "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value." } } }, "auth_ref": [ "r976" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r1001", "r1011", "r1021", "r1053" ] }, "us-gaap_RepaymentsOfLongTermLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RepaymentsOfLongTermLinesOfCredit", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repayment on revolving credit facilities", "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": [ "r79" ] }, "us-gaap_RepaymentsOfSecuredDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RepaymentsOfSecuredDebt", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repayment of term loans", "label": "Repayments of Secured Debt", "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt." } } }, "auth_ref": [ "r79" ] }, "apog_ReportableSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ReportableSegmentMember", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reportable Segment", "label": "Reportable Segment [Member]", "documentation": "Reportable Segment" } } }, "auth_ref": [] }, "srt_RestatementAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RestatementAdjustmentMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period, Adjustment", "label": "Revision of Prior Period, Adjustment [Member]" } } }, "auth_ref": [ "r181", "r182", "r183", "r195", "r196", "r214", "r634", "r635", "r672", "r1086", "r1087", "r1088", "r1089", "r1094", "r1095", "r1135", "r1146" ] }, "srt_RestatementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RestatementAxis", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Axis]", "label": "Revision of Prior Period [Axis]" } } }, "auth_ref": [ "r115", "r116", "r117", "r119", "r165", "r181", "r182", "r183", "r184", "r185", "r188", "r189", "r190", "r191", "r194", "r195", "r196", "r197", "r198", "r199", "r214", "r288", "r289", "r403", "r404", "r500", "r520", "r521", "r522", "r523", "r587", "r588", "r633", "r634", "r635", "r636", "r672", "r677", "r678", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r775", "r1146" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r1002", "r1012", "r1022", "r1054" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r1003", "r1013", "r1023", "r1055" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r1010", "r1020", "r1030", "r1062" ] }, "srt_RestatementDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "RestatementDomain", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofImpactofAdjustmentsonOperatingIncomeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Domain]", "label": "Revision of Prior Period [Domain]" } } }, "auth_ref": [ "r115", "r116", "r117", "r119", "r165", "r181", "r182", "r183", "r184", "r185", "r188", "r189", "r190", "r191", "r194", "r195", "r196", "r197", "r198", "r199", "r214", "r288", "r289", "r403", "r404", "r500", "r520", "r521", "r522", "r523", "r587", "r588", "r633", "r634", "r635", "r636", "r672", "r677", "r678", "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r775", "r1146" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestrictedStockMember", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Restricted stock awards and restricted stock units", "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": [ "r1138", "r1188", "r1189", "r1190", "r1191", "r1192", "r1193", "r1194", "r1195", "r1196", "r1197", "r1198", "r1199", "r1200", "r1201", "r1202", "r1203", "r1204", "r1205", "r1206", "r1207", "r1208", "r1209", "r1210", "r1211", "r1212", "r1213" ] }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedActivitiesAbstract", "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/Restructuring" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring", "label": "Restructuring and Related Activities Disclosure [Text Block]", "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled." } } }, "auth_ref": [ "r343", "r344", "r346", "r349", "r354" ] }, "us-gaap_RestructuringAndRelatedCostExpectedCost1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringAndRelatedCostExpectedCost1", "crdr": "debit", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected restructuring cost", "label": "Restructuring and Related Cost, Expected Cost", "documentation": "Amount expected to be recognized in earnings for the specified restructuring cost." } } }, "auth_ref": [ "r345", "r348", "r351", "r353" ] }, "us-gaap_RestructuringCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCharges", "crdr": "debit", "presentation": [ "http://www.apog.com/role/RestructuringScheduleofReserveDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring expense", "label": "Restructuring Charges", "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r7", "r162", "r166", "r350", "r351", "r886", "r1172" ] }, "us-gaap_RestructuringCostAndReserveAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCostAndReserveAxis", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Type [Axis]", "label": "Restructuring Type [Axis]", "documentation": "Information by type of restructuring cost." } } }, "auth_ref": [ "r162", "r166", "r345", "r346", "r351", "r352", "r886" ] }, "us-gaap_RestructuringCostAndReserveLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCostAndReserveLineItems", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Cost and Reserve [Line Items]", "label": "Restructuring Cost and Reserve [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": [ "r345", "r346", "r347", "r348", "r351", "r352", "r353" ] }, "us-gaap_RestructuringCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringCosts", "crdr": "debit", "calculation": { "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Segment restructuring costs", "terseLabel": "Total restructuring charges", "label": "Restructuring Costs", "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r7" ] }, "us-gaap_RestructuringPlanAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringPlanAxis", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Plan [Axis]", "label": "Restructuring Plan [Axis]", "documentation": "Information by individual restructuring plan." } } }, "auth_ref": [] }, "us-gaap_RestructuringPlanDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringPlanDomain", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Plan [Domain]", "label": "Restructuring Plan [Domain]", "documentation": "Identification of the individual restructuring plans." } } }, "auth_ref": [] }, "us-gaap_RestructuringReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringReserve", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RestructuringScheduleofReserveDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Beginning balance", "verboseLabel": "Ending Balance", "label": "Restructuring Reserve", "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan." } } }, "auth_ref": [ "r346", "r352" ] }, "us-gaap_RestructuringReserveRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RestructuringReserveRollForward", "presentation": [ "http://www.apog.com/role/RestructuringScheduleofReserveDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Reserve [Roll Forward]", "label": "Restructuring Reserve [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_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r58", "r93", "r733", "r764", "r769", "r781", "r804", "r976" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RetainedEarningsMember", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r114", "r116", "r117", "r181", "r182", "r183", "r185", "r193", "r196", "r198", "r287", "r290", "r323", "r403", "r500", "r512", "r513", "r519", "r520", "r521", "r523", "r587", "r588", "r621", "r623", "r624", "r626", "r634", "r671", "r673", "r760", "r762", "r783", "r1306" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net sales", "netLabel": "Total", "verboseLabel": "Total segment net sales", "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": [ "r104", "r105", "r215", "r224", "r225", "r240", "r246", "r249", "r251", "r252", "r444", "r445", "r446", "r712", "r885", "r889" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilities" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Receivables and Contract Assets and Liabilities", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r113", "r434", "r436", "r437", "r438", "r439", "r440", "r442", "r443", "r446", "r449" ] }, "us-gaap_RevenueRecognitionAndDeferredRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRecognitionAndDeferredRevenueAbstract", "lang": { "en-us": { "role": { "label": "Revenue Recognition and Deferred Revenue [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue to be recognized", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r109" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails" ], "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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails" ], "lang": { "en-us": { "role": { "terseLabel": "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": [ "r110" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails" ], "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": [ "r110" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofOthercontractrelateddisclosuresDetails" ], "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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Performance Obligations Expected to be Satisfied", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [ "r1090" ] }, "apog_RevolvingCreditFacilityCADMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "RevolvingCreditFacilityCADMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility - CAD", "label": "Revolving Credit Facility - CAD [Member]", "documentation": "Revolving Credit Facility - CAD" } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "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": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r1071" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r1071" ] }, "srt_ScenarioForecastMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ScenarioForecastMember", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forecast", "label": "Forecast [Member]" } } }, "auth_ref": [ "r461" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Domain]", "label": "Scenario [Domain]" } } }, "auth_ref": [ "r121", "r123", "r199", "r461", "r1083" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]", "label": "Accounts and Financing Receivables [Table]", "documentation": "Disclosure of information about accounts and financing receivables. Includes, but is not limited to, amount of receivable and allowance for credit loss." } } }, "auth_ref": [ "r56", "r62", "r254", "r1147" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Receivables", "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": [ "r56", "r62" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-sale [Line Items]", "label": "Debt Securities, Available-for-Sale [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": [ "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267" ] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Available-for-Sale Marketable Securities", "label": "Schedule of Available-for-Sale Securities Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Combination [Table]", "label": "Business Combination [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r315", "r525", "r526", "r527", "r528", "r534", "r535", "r536", "r537", "r543", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r561", "r562", "r563", "r564", "r565", "r568", "r569", "r570", "r571", "r572", "r573", "r579", "r580", "r581", "r585", "r939", "r948", "r1217", "r1220", "r1222" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.apog.com/role/EarningsperShareTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule 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": [ "r1137" ] }, "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Impact of Adjustments on Operating Income", "label": "Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]", "documentation": "Tabular disclosure of prior period adjustments to previously issued financial statements including (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustments (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made." } } }, "auth_ref": [ "r25", "r26", "r27" ] }, "apog_ScheduleOfInterestExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ScheduleOfInterestExpenseTableTextBlock", "presentation": [ "http://www.apog.com/role/DebtTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule Of Interest Expense", "label": "Schedule Of Interest Expense [Table Text Block]", "documentation": "Schedule Of Interest Expense" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.apog.com/role/InventoriesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r8", "r63", "r64", "r65" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.apog.com/role/CommitmentsandContingentLiabilitiesTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Guarantees and warranties", "label": "Schedule of Product Warranty Liability [Table Text Block]", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r361" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.apog.com/role/AcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Estimated Fair Values of Assets Acquired and Liabilities Assumed", "label": "Business Combination, Recognized Asset Acquired and Liability Assumed [Table Text Block]", "documentation": "Tabular disclosure of asset acquired and liability assumed in business combination and recognized at acquisition date." } } }, "auth_ref": [ "r1221", "r1223" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring and Related Costs [Table]", "label": "Restructuring Cost [Table]", "documentation": "Disclosure of information about restructuring cost. Includes, but is not limited to, expected cost, cost incurred, statement of income caption that includes restructuring cost recognized, and amount of restructuring reserve." } } }, "auth_ref": [ "r345", "r346", "r347", "r348", "r351", "r352", "r353" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "presentation": [ "http://www.apog.com/role/RestructuringTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring", "label": "Restructuring and Related Costs [Table Text Block]", "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets." } } }, "auth_ref": [ "r33", "r85", "r86" ] }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "presentation": [ "http://www.apog.com/role/RestructuringTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Restructuring Reserve", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period." } } }, "auth_ref": [ "r34", "r87" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r28", "r29", "r30" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Segment Reporting Information", "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": [ "r28", "r29", "r30" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "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": [ "r463", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r499" ] }, "us-gaap_ScheduleOfStockByClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ScheduleOfStockByClassTable", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock by Class [Table]", "label": "Stock, Class of Stock [Table]", "documentation": "Disclosure of information about stock by class. Includes, but is not limited to, common, convertible, and preferred stocks." } } }, "auth_ref": [ "r38", "r39", "r40", "r41", "r42", "r43", "r91", "r92", "r93", "r134", "r135", "r136", "r217", "r415", "r416", "r417", "r419", "r422", "r427", "r429", "r620", "r777", "r778", "r779", "r780", "r916", "r1082", "r1124", "r1126" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "Security12bTitle", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r996" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "SecurityExchangeName", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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": [ "r998" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentDomain", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment [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": [ "r104", "r105", "r106", "r107", "r215", "r220", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r246", "r247", "r248", "r252", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r322", "r348", "r353", "r578", "r581", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755", "r893", "r896", "r897", "r903", "r979", "r1271", "r1273", "r1274", "r1275", "r1276", "r1277", "r1278", "r1279", "r1280", "r1281", "r1282", "r1283", "r1284", "r1285", "r1286", "r1287", "r1288", "r1289", "r1290", "r1291", "r1292", "r1293", "r1294", "r1295", "r1296", "r1297", "r1298", "r1299", "r1300" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting [Abstract]", "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/BusinessSegmentData" ], "lang": { "en-us": { "role": { "verboseLabel": "Business Segment Data", "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": [ "r107", "r215", "r219", "r220", "r221", "r222", "r223", "r236", "r238", "r239", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r252", "r892", "r894", "r895", "r896", "r898", "r899", "r900" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SelfInsuranceReserveNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SelfInsuranceReserveNoncurrent", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current self-insurance reserves", "label": "Self Insurance Reserve, Noncurrent", "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid after one year (or the normal operating cycle, if longer)." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Selling, general and administrative expenses", "label": "Selling, General and Administrative Expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r73", "r884", "r885", "r886", "r889", "r1117" ] }, "apog_SellingGeneralAndAdministrativeExpenseAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "SellingGeneralAndAdministrativeExpenseAdjusted", "crdr": "debit", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Adjusted SG&A", "label": "Selling, General and Administrative Expense, Adjusted", "documentation": "Selling, General and Administrative Expense, Adjusted" } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, general and administrative expenses", "label": "Selling, General and Administrative Expenses [Member]", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [ "r939", "r944" ] }, "apog_SettlementOfNewMarketsTaxCreditTransaction": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "SettlementOfNewMarketsTaxCreditTransaction", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Settlement of New Markets Tax Credit transaction", "terseLabel": "NMTC benefit", "label": "Settlement of New Markets Tax Credit Transaction", "documentation": "Settlement of New Markets Tax Credit Transaction" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWSUnaudited", "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Share-based compensation", "terseLabel": "Share-based compensation expense", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r6" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting period", "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": [ "r934" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Awards (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": [ "r482" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Grant Date Fair Value (in usd 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": [ "r482" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total fair value of 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": [ "r486" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "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": [ "r463", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r499" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock-Based Compensation Awards Granted and Weighted Average Grant Date Fair Value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block]", "documentation": "Tabular disclosure of the weighted-average grant-date fair value of equity options or other equity instruments granted during the year." } } }, "auth_ref": [ "r45" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost", "crdr": "debit", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Incremental cost", "label": "Share-Based Payment Arrangement, Plan Modification, Incremental Cost", "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification." } } }, "auth_ref": [ "r497" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationAdditionalInformationDetails", "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r490", "r491", "r492", "r493", "r494" ] }, "srt_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Axis]", "label": "Share Repurchase Program [Axis]" } } }, "auth_ref": [ "r1185" ] }, "srt_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Domain]", "label": "Share Repurchase Program [Domain]" } } }, "auth_ref": [ "r1185" ] }, "apog_ShareRepurchaseProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ShareRepurchaseProgramMember", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program", "label": "Share Repurchase Program [Member]", "documentation": "Share Repurchase Program [Member]" } } }, "auth_ref": [] }, "apog_SharesIssuedNetOfCancellations": { "xbrltype": "monetaryItemType", "nsuri": "http://www.apog.com/20251129", "localname": "SharesIssuedNetOfCancellations", "crdr": "credit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of stock, net of cancellations", "label": "Shares Issued, Net Of Cancellations", "documentation": "Shares Issued, Net Of Cancellations" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.apog.com/role/BusinessSegmentDataScheduleofAdjustedEBITDADetails", "http://www.apog.com/role/BusinessSegmentDataScheduleofCertainSegmentDataDetails", "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofReserveDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statement Business Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r104", "r105", "r106", "r107", "r124", "r215", "r220", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r246", "r247", "r248", "r252", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r322", "r325", "r348", "r353", "r578", "r581", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r752", "r753", "r754", "r755", "r893", "r896", "r897", "r903", "r979", "r1271", "r1273", "r1274", "r1275", "r1276", "r1277", "r1278", "r1279", "r1280", "r1281", "r1282", "r1283", "r1284", "r1285", "r1286", "r1287", "r1288", "r1289", "r1290", "r1291", "r1292", "r1293", "r1294", "r1295", "r1296", "r1297", "r1298", "r1299", "r1300" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r11", "r55", "r59", "r60", "r114", "r116", "r117", "r155", "r156", "r157", "r181", "r182", "r183", "r185", "r193", "r196", "r198", "r216", "r287", "r290", "r323", "r403", "r430", "r500", "r512", "r513", "r519", "r520", "r521", "r523", "r587", "r588", "r621", "r622", "r623", "r624", "r625", "r626", "r627", "r628", "r629", "r630", "r634", "r661", "r663", "r664", "r665", "r666", "r667", "r671", "r673", "r678", "r739", "r760", "r761", "r762", "r783", "r841" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementLineItems", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "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": [ "r181", "r182", "r183", "r216", "r405", "r406", "r408", "r410", "r673", "r712", "r776", "r784", "r785", "r796", "r797", "r798", "r799", "r800", "r801", "r803", "r806", "r807", "r808", "r809", "r810", "r812", "r813", "r814", "r815", "r817", "r818", "r819", "r820", "r821", "r824", "r825", "r827", "r828", "r829", "r830", "r831", "r832", "r833", "r834", "r835", "r836", "r837", "r838", "r841", "r887", "r889", "r987", "r1304" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2025", "localname": "StatementScenarioAxis", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Axis]", "label": "Scenario [Axis]" } } }, "auth_ref": [ "r121", "r123", "r199", "r461", "r1083", "r1084" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StatementTable", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Presentation of information about comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r181", "r182", "r183", "r216", "r253", "r405", "r406", "r408", "r410", "r673", "r712", "r776", "r784", "r785", "r796", "r797", "r798", "r799", "r800", "r801", "r803", "r806", "r807", "r808", "r809", "r810", "r812", "r813", "r814", "r815", "r817", "r818", "r819", "r820", "r821", "r824", "r825", "r827", "r828", "r829", "r830", "r831", "r832", "r833", "r834", "r835", "r836", "r837", "r838", "r841", "r887", "r889", "r987", "r1304" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r1005", "r1015", "r1025", "r1057" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [ "r1188", "r1189", "r1190", "r1191", "r1192", "r1193", "r1194", "r1195", "r1196", "r1197", "r1198", "r1199", "r1200", "r1201", "r1202", "r1203", "r1204", "r1205", "r1206", "r1207", "r1208", "r1209", "r1210", "r1211", "r1212", "r1213" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of stock, net of cancellations (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r11", "r54", "r55", "r93" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationForfeited", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Cancellations of stock, net of issuance (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited", "documentation": "Number of shares (or other type of equity) forfeited during the period." } } }, "auth_ref": [ "r1184" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockIssuedDuringPeriodValueShareBasedCompensationForfeited", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cancellations of stock, net of issuance", "label": "Shares Issued, Value, Share-Based Payment Arrangement, Forfeited", "documentation": "Value of forfeited shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r94" ] }, "us-gaap_StockRedeemedOrCalledDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRedeemedOrCalledDuringPeriodShares", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other share retirements (in shares)", "label": "Stock Redeemed or Called During Period, Shares", "documentation": "Number of stock bought back by the entity at the exercise price or redemption price." } } }, "auth_ref": [ "r11" ] }, "us-gaap_StockRedeemedOrCalledDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRedeemedOrCalledDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other share retirements", "label": "Stock Redeemed or Called During Period, Value", "documentation": "Equity impact of the value of stock bought back by the entity at the exercise price or redemption price." } } }, "auth_ref": [ "r11" ] }, "us-gaap_StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining shares authorized to be repurchased (in shares)", "label": "Share Repurchase Program, Remaining Authorized, Number of Shares", "documentation": "Number of shares remaining authorized to be purchased under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases (in shares)", "label": "Stock Repurchased and Retired During Period, Shares", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r11", "r54", "r55", "r93" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases", "label": "Stock Repurchased and Retired During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)." } } }, "auth_ref": [ "r11", "r54", "r55", "r93" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS", "http://www.apog.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITYUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total shareholders\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": [ "r55", "r59", "r60", "r83", "r805", "r822", "r842", "r843", "r976", "r995", "r1124", "r1128", "r1129", "r1160", "r1256", "r1306" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "verboseLabel": "Shareholders\u2019 equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.apog.com/role/ShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Shareholders' Equity", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r90", "r414", "r416", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r428", "r430", "r620", "r632", "r844", "r845", "r861" ] }, "us-gaap_SupplierFinanceProgramObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramObligation", "crdr": "credit", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligationsDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Supplier Finance Program, Obligation", "documentation": "Amount of obligation for supplier finance program." } } }, "auth_ref": [ "r336", "r337", "r338", "r341", "r342", "r905" ] }, "us-gaap_SupplierFinanceProgramObligationDecreaseSettlement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramObligationDecreaseSettlement", "crdr": "debit", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligationsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Obligations settled", "label": "Supplier Finance Program, Obligation, Settlement", "documentation": "Amount of decrease in obligation for supplier finance program from settlement." } } }, "auth_ref": [ "r340", "r905" ] }, "us-gaap_SupplierFinanceProgramObligationIncrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramObligationIncrease", "crdr": "credit", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Obligations added to the program", "label": "Supplier Finance Program, Obligation, Addition", "documentation": "Amount of increase in obligation for supplier finance program." } } }, "auth_ref": [ "r339", "r905" ] }, "us-gaap_SupplierFinanceProgramObligationRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramObligationRollForward", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier Finance Program, Obligation [Roll Forward]", "label": "Supplier Finance Program, Obligation [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_SupplierFinanceProgramTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramTableTextBlock", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligationsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Obligation Activity and Outstanding Balances", "label": "Supplier Finance Program [Table Text Block]", "documentation": "Tabular disclosure of supplier finance program." } } }, "auth_ref": [ "r905", "r1170" ] }, "us-gaap_SupplierFinanceProgramTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "SupplierFinanceProgramTextBlock", "presentation": [ "http://www.apog.com/role/SupplierFinanceProgramObligations" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier Finance Program Obligations", "label": "Supplier Finance Program [Text Block]", "documentation": "The entire disclosure for supplier finance program." } } }, "auth_ref": [ "r332", "r333", "r334", "r335", "r904" ] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r1051" ] }, "apog_TargetNumberOfPerformanceShares": { "xbrltype": "percentItemType", "nsuri": "http://www.apog.com/20251129", "localname": "TargetNumberOfPerformanceShares", "presentation": [ "http://www.apog.com/role/ShareBasedCompensationScheduleofStockBasedCompensationAwardsGrantedandWeightedAverageGrantDateFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Target number of performance shares", "label": "Target Number of Performance Shares", "documentation": "Target Number of Performance Shares" } } }, "auth_ref": [] }, "apog_TermLoanFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "TermLoanFacilityMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term Loan Facility", "label": "Term Loan Facility [Member]", "documentation": "Term Loan Facility" } } }, "auth_ref": [] }, "apog_TermSOFRAndCORRAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "TermSOFRAndCORRAMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term SOFR and CORRA", "label": "Term SOFR and CORRA [Member]", "documentation": "Term SOFR and CORRA" } } }, "auth_ref": [] }, "apog_ThirdPartyFeesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "ThirdPartyFeesMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Third-Party Fees", "label": "Third-Party Fees [Member]", "documentation": "Third-Party Fees" } } }, "auth_ref": [] }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TimingOfTransferOfGoodOrServiceAxis", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Timing of Transfer of Good or Service [Axis]", "label": "Timing of Transfer of Good or Service [Axis]", "documentation": "Information by timing of transfer of good or service to customer." } } }, "auth_ref": [ "r446", "r917", "r924" ] }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TimingOfTransferOfGoodOrServiceDomain", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Timing of Transfer of Good or Service [Domain]", "label": "Timing of Transfer of Good or Service [Domain]", "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time." } } }, "auth_ref": [ "r446", "r917", "r924" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r1043" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r1050" ] }, "us-gaap_TradeAccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TradeAccountsReceivableMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesAccountsScheduleofReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade accounts", "label": "Trade Accounts Receivable [Member]", "documentation": "Amount due from customers or clients for goods or services that have been delivered or sold in the normal course of business." } } }, "auth_ref": [] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r1070" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r1072" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2025", "localname": "TradingSymbol", "presentation": [ "http://www.apog.com/role/CoverPage" ], "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_TransferredAtPointInTimeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TransferredAtPointInTimeMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognized at shipment", "label": "Transferred at Point in Time [Member]", "documentation": "Contract with customer in which good or service is transferred at point in time." } } }, "auth_ref": [ "r917", "r918", "r924" ] }, "apog_TransferredOverTimeInputMethodMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "TransferredOverTimeInputMethodMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognized over time (input method)", "label": "Transferred over Time - Input Method [Member]", "documentation": "Transferred over Time - Input Method" } } }, "auth_ref": [] }, "apog_TransferredOverTimeOutputMethodMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "TransferredOverTimeOutputMethodMember", "presentation": [ "http://www.apog.com/role/RevenueReceivablesandContractAssetsandLiabilitiesScheduleofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognized over time (output method)", "label": "Transferred over Time - Output Method [Member]", "documentation": "Transferred over Time - Output Method" } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.apog.com/role/FinancialInstrumentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r400", "r427", "r620", "r631", "r649", "r655", "r658", "r679", "r680", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r695", "r696", "r697", "r698", "r699", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r726", "r740", "r963", "r965", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r977", "r1096", "r1097", "r1098", "r1099", "r1100", "r1101", "r1102", "r1156", "r1157", "r1158", "r1159", "r1238", "r1241", "r1242", "r1243", "r1250", "r1253", "r1254", "r1255" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r1073" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r1074" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration Date", "label": "Trading Arrangement Expiration Date" } } }, "auth_ref": [ "r1074" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r1072" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r1072" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r1075" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r1073" ] }, "us-gaap_TreasuryStockSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TreasuryStockSharesAcquired", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share repurchases (in shares)", "label": "Treasury Stock, Shares, Acquired", "documentation": "Number of shares that have been repurchased during the period and are being held in treasury." } } }, "auth_ref": [ "r11", "r55", "r93" ] }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TreasuryStockValueAcquiredCostMethod", "crdr": "debit", "presentation": [ "http://www.apog.com/role/ShareholdersEquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share repurchases, value", "label": "Treasury Stock, Value, Acquired, Cost Method", "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method." } } }, "auth_ref": [ "r11", "r44", "r93" ] }, "us-gaap_TypeOfRestructuringDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "TypeOfRestructuringDomain", "presentation": [ "http://www.apog.com/role/RestructuringAdditionalInformationDetails", "http://www.apog.com/role/RestructuringScheduleofRestructuringCostsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Type of Restructuring [Domain]", "label": "Type of Restructuring [Domain]", "documentation": "Identification of the types of restructuring costs." } } }, "auth_ref": [ "r162", "r166", "r345", "r346", "r351", "r352", "r886" ] }, "apog_UWIntercoLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "UWIntercoLLCMember", "presentation": [ "http://www.apog.com/role/AcquisitionsAdditionalInformationDetails", "http://www.apog.com/role/AcquisitionsScheduleofEstimatedFairValuesofAssetsAcquiredandLiabilitiesAssumedDetails", "http://www.apog.com/role/AcquisitionsScheduleofSupplementalUnauditedProFormaInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "UW Interco, LLC", "label": "UW Interco, LLC [Member]", "documentation": "UW Interco, LLC" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r1069" ] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.apog.com/role/IncomeTaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized tax benefits", "label": "Unrecognized Tax Benefits", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r503", "r509", "r935" ] }, "apog_UnsecuredSeniorCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "UnsecuredSeniorCreditFacilityMember", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unsecured Senior Credit Facility", "label": "Unsecured Senior Credit Facility [Member]", "documentation": "Unsecured Senior Credit Facility" } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "VariableRateAxis", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [ "r1103", "r1180", "r1235" ] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "VariableRateDomain", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [ "r1103", "r1180", "r1235" ] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year", "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]" } } }, "auth_ref": [ "r1039" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average diluted shares outstanding (in shares)", "terseLabel": "Diluted earnings per share \u2013 weighted average common shares and potential common 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": [ "r202", "r210" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2025", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.apog.com/role/CONSOLIDATEDRESULTSOFOPERATIONSUnaudited", "http://www.apog.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average basic shares outstanding (in shares)", "terseLabel": "Basic earnings per share \u2013 weighted average common 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": [ "r201", "r210" ] }, "apog_WellsFargoBankN.A.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.apog.com/20251129", "localname": "WellsFargoBankN.A.Member", "presentation": [ "http://www.apog.com/role/DebtAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Wells Fargo Bank, N.A.", "label": "Wells Fargo Bank, N.A. [Member]", "documentation": "Wells Fargo Bank, N.A." } } }, "auth_ref": [] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2025", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested", "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r1037" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r1": { "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" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12" }, "r4": { "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" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(g)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r6": { "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" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15" }, "r13": { "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" }, "r14": { "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" }, "r15": { "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" }, "r16": { "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" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r18": { "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" }, "r19": { "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" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r21": { "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" }, "r22": { "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" }, "r23": { "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" }, "r24": { "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" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r28": { "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" }, "r29": { "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" }, "r30": { "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" }, "r31": { "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" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481303/470-50-40-2" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481303/470-50-40-4" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481142/505-10-45-2" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-10" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-4" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-5" }, "r43": { "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" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481549/505-30-45-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r48": { "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" }, "r49": { "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" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "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" }, "r62": { "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(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r76": { "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" }, "r77": { "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" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/810/tableOfContent" }, "r96": { "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" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r108": { "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" }, "r109": { "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" }, "r110": { "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" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9" }, "r112": { "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" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r114": { "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" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "9", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/205/tableOfContent" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481034/205-10-S45-5" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481003/205-10-S50-2" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480922/205-10-S99-3" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SAB Topic 1.B.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480922/205-10-S99-7" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r134": { "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(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r135": { "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(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r136": { "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(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r142": { "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" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-23" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-11" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r171": { "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" }, "r172": { "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" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4" }, "r175": { "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" }, "r176": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-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(g)(1)(ii))", "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(h)(2))", "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(k)(2))", "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": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(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": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r189": { "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" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-12" }, "r191": { "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" }, "r192": { "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" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "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": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r216": { "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" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r254": { "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" }, "r255": { "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" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B" }, "r286": { "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" }, "r287": { "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" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r290": { "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" }, "r291": { "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" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r295": { "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" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479130/326-30-45-1" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/330/tableOfContent" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-4" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r321": { "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" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r324": { "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" }, "r325": { "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" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-50/tableOfContent" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-4" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/420/tableOfContent" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r347": { "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" }, "r348": { "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" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-1" }, "r351": { "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.b.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r352": { "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.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r353": { "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" }, "r354": { "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.e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-1" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-3" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-1" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-3" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(01)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3A", "Subparagraph": "(24)(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-3A" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r428": { "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" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-11" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12A" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r444": { "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" }, "r445": { "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" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7" }, "r447": { "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" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r450": { "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" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r460": { "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" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r498": { "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" }, "r499": { "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" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "17", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-10B" }, "r504": { "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" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r508": { "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" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15A" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r518": { "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" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-10/tableOfContent" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r540": { "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" }, "r541": { "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" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-4" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-5" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-20/tableOfContent" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-3" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r565": { "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" }, "r566": { "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" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805-30/tableOfContent" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r570": { "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" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r572": { "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" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r574": { "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" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-3" }, "r583": { "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" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479326/805-40-45-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r589": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CC", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CCC", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8A" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5" }, "r632": { "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" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-1A" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r656": { "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" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-30" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-32" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482804/825-20-50-1" }, "r660": { "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/2147477401/830-230-45-1" }, "r661": { "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" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r674": { "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" }, "r675": { "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" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r678": { "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" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r681": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r683": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r684": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r685": { "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" }, "r686": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r690": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r691": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r692": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1" }, "r693": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r694": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4" }, "r710": { "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" }, "r711": { "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/2147478345/912-310-45-11" }, "r712": { "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" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r714": { "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(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478671/942-235-S50-1" }, "r719": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3A" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3A" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477617/942-740-50-1" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1" }, "r727": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r730": { "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/2147478777/944-210-S99-1" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r740": { "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(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r752": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r758": { "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" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r760": { "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" }, "r761": { "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" }, "r762": { "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" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r764": { "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" }, "r765": { "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" }, "r766": { "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" }, "r767": { "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" }, "r768": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r769": { "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" }, "r770": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r771": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478822/944-740-50-1" }, "r772": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "805", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478072/944-805-50-1" }, "r773": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1" }, "r774": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2" }, "r775": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-3" }, "r776": { "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" }, "r777": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r778": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r779": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r780": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r781": { "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" }, "r782": { "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" }, "r783": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r784": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-6" }, "r785": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r786": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r787": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r788": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r789": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r790": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12" }, "r791": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r792": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r793": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r794": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r795": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r796": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r797": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r798": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r799": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r800": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r801": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r802": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r803": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r804": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r805": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r806": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r807": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r808": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r809": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r810": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r811": { "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(5)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r812": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r813": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r814": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r815": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r816": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r817": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r818": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r819": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r820": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r821": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r822": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r823": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r824": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r825": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r826": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r827": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r828": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r829": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r830": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r831": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r832": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r833": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r834": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r835": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r836": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r837": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r838": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r839": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r840": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r841": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r842": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r843": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r844": { "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/2147477968/946-235-50-2" }, "r845": { "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/2147477968/946-235-50-2" }, "r846": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r847": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r848": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r849": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r850": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r851": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r852": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r853": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r854": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r855": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r856": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r857": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r858": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r859": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r860": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r861": { "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/2147478448/946-505-50-6" }, "r862": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478322/948-310-S50-2" }, "r863": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r864": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r865": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r866": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1" }, "r867": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1" }, "r868": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r869": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r870": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r871": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "SubTopic": "10", "Topic": "825", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-10" }, "r872": { "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" }, "r873": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r874": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r875": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r876": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r877": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15" }, "r878": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16" }, "r879": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-20" }, "r880": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21" }, "r881": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22" }, "r882": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-12" }, "r883": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21" }, "r884": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-11" }, "r885": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-14" }, "r886": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-18" }, "r887": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-21" }, "r888": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-24" }, "r889": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-4" }, "r890": { "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" }, "r891": { "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" }, "r892": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r893": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r894": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r895": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r896": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r897": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r898": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r899": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r900": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r901": { "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" }, "r902": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8" }, "r903": { "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" }, "r904": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477128/405-50-55-3" }, "r905": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477128/405-50-55-5" }, "r906": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r907": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r908": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r909": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4.b.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2" }, "r910": { "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" }, "r911": { "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" }, "r912": { "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" }, "r913": { "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" }, "r914": { "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" }, "r915": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "480", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "64", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-64" }, "r916": { "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" }, "r917": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r918": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7" }, "r919": { "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" }, "r920": { "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" }, "r921": { "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" }, "r922": { "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" }, "r923": { "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" }, "r924": { "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" }, "r925": { "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" }, "r926": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r927": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r928": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r929": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5" }, "r930": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r931": { "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" }, "r932": { "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" }, "r933": { "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" }, "r934": { "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" }, "r935": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-217" }, "r936": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r937": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "21", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-21" }, "r938": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23" }, "r939": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-8" }, "r940": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29" }, "r941": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29" }, "r942": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-38" }, "r943": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "39", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-39" }, "r944": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-41" }, "r945": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "43", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-43" }, "r946": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "45", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-45" }, "r947": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "46", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-46" }, "r948": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-47" }, "r949": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-49" }, "r950": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-50" }, "r951": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "805", "SubTopic": "740", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478064/805-740-55-13" }, "r952": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r953": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r954": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r955": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r956": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r957": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r958": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C" }, "r959": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CC", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC" }, "r960": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "181", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181" }, "r961": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "182", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182" }, "r962": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "184", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-184" }, "r963": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r964": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r965": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r966": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r967": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r968": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r969": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r970": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r971": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r972": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r973": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r974": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-12" }, "r975": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r976": { "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" }, "r977": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4" }, "r978": { "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" }, "r979": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r980": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-11" }, "r981": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-12" }, "r982": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-14" }, "r983": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "605", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-15" }, "r984": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r985": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r986": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r987": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r988": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r989": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r990": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r991": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r992": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r993": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r994": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r995": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r996": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r997": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r998": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r999": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r1000": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r1001": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r1002": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r1003": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r1004": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r1005": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r1006": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r1007": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r1008": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r1009": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r1010": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r1011": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r1012": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r1013": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r1014": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r1015": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r1016": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r1017": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r1018": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r1019": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r1020": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r1021": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r1022": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r1023": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r1024": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r1025": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r1026": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r1027": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r1028": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r1029": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r1030": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r1031": { "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" }, "r1032": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r1033": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r1034": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r1035": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r1036": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r1037": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r1038": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r1039": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r1040": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r1041": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r1042": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r1043": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r1044": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r1045": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r1046": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r1047": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r1048": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r1049": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r1050": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r1051": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r1052": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r1053": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r1054": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r1055": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r1056": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r1057": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r1058": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r1059": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r1060": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r1061": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r1062": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r1063": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r1064": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r1065": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r1066": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r1067": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r1068": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r1069": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r1070": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r1071": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r1072": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r1073": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r1074": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r1075": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r1076": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r1077": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r1078": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r1079": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r1080": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r1081": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r1082": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3" }, "r1083": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10" }, "r1084": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3" }, "r1085": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r1086": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r1087": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r1088": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r1089": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r1090": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r1091": { "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" }, "r1092": { "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" }, "r1093": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r1094": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r1095": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r1096": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "a", "Publisher": "SEC" }, "r1097": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(1)", "Publisher": "SEC" }, "r1098": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(2)", "Publisher": "SEC" }, "r1099": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "b", "Subparagraph": "(3)", "Publisher": "SEC" }, "r1100": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r1101": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r1102": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "c", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r1103": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX210.5-02(22)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r1104": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1105": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1106": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1107": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1108": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1109": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1110": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r1111": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10" }, "r1112": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-12" }, "r1113": { "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" }, "r1114": { "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" }, "r1115": { "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" }, "r1116": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r1117": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6" }, "r1118": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r1119": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17" }, "r1120": { "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" }, "r1121": { "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" }, "r1122": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r1123": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r1124": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-1" }, "r1125": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4" }, "r1126": { "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(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1127": { "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" }, "r1128": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1129": { "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" }, "r1130": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r1131": { "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" }, "r1132": { "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" }, "r1133": { "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" }, "r1134": { "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" }, "r1135": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1136": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r1137": { "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" }, "r1138": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1139": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r1140": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1141": { "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" }, "r1142": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r1143": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r1144": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r1145": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r1146": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1147": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "40", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481628/310-20-40-7" }, "r1148": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-1" }, "r1149": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11" }, "r1150": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r1151": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2" }, "r1152": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r1153": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3" }, "r1154": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r1155": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A" }, "r1156": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9" }, "r1157": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r1158": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r1159": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r1160": { "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" }, "r1161": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r1162": { "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" }, "r1163": { "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" }, "r1164": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1165": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r1166": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r1167": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1168": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1169": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r1170": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479468/405-50-50-3" }, "r1171": { "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" }, "r1172": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482047/420-10-45-3" }, "r1173": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r1174": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1175": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r1176": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r1177": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8" }, "r1178": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r1179": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r1180": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480190/470-10-S50-1" }, "r1181": { "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" }, "r1182": { "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" }, "r1183": { "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" }, "r1184": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r1185": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r1186": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r1187": { "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" }, "r1188": { "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" }, "r1189": { "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" }, "r1190": { "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" }, "r1191": { "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" }, "r1192": { "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" }, "r1193": { "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" }, "r1194": { "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" }, "r1195": { "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" }, "r1196": { "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" }, "r1197": { "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" }, "r1198": { "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" }, "r1199": { "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" }, "r1200": { "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" }, "r1201": { "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" }, "r1202": { "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" }, "r1203": { "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" }, "r1204": { "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" }, "r1205": { "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" }, "r1206": { "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" }, "r1207": { "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" }, "r1208": { "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" }, "r1209": { "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" }, "r1210": { "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" }, "r1211": { "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" }, "r1212": { "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" }, "r1213": { "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" }, "r1214": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r1215": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23" }, "r1216": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1217": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r1218": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r1219": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7" }, "r1220": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1221": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1222": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r1223": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2" }, "r1224": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4" }, "r1225": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r1226": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B" }, "r1227": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r1228": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4CC", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC" }, "r1229": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r1230": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r1231": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A" }, "r1232": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1233": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1234": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8" }, "r1235": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480682/815-20-25-6A" }, "r1236": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2" }, "r1237": { "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" }, "r1238": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r1239": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1240": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1241": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1242": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1243": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1244": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1245": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1246": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1247": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1248": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1249": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r1250": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r1251": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1252": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r1253": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r1254": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10" }, "r1255": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r1256": { "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" }, "r1257": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r1258": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1" }, "r1259": { "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" }, "r1260": { "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" }, "r1261": { "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" }, "r1262": { "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" }, "r1263": { "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" }, "r1264": { "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" }, "r1265": { "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" }, "r1266": { "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" }, "r1267": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2" }, "r1268": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1269": { "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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r1270": { "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/2147478777/944-210-S99-1" }, "r1271": { "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" }, "r1272": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r1273": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1274": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r1275": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r1276": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r1277": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r1278": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1279": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1280": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1281": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1282": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1283": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1284": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1285": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1286": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1287": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1288": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1289": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1290": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1291": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1292": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1293": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1294": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1295": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1296": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1297": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1298": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1299": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1300": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1301": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r1302": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r1303": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r1304": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r1305": { "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/2147479105/946-220-45-3" }, "r1306": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r1307": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" } } } ZIP 86 0000006845-26-000010-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000006845-26-000010-xbrl.zip M4$L#!!0 ( 1I)US\K(7$!VJK60BKO 5:UWJ5RN;N]=97LLU_0[Y\LL!"F+ M:01J0"Y[?OV)3$ 7"UD@0"12SNIQV1*7S(PG(N.6$9_^S_/,Y9Y0$#J^]\O? MQ)[P-PYYEF\[WN,O?QN.+J^O__9_!O_UZ?_I=O_OY_MOW!??6LR0%W&7 3(C M9',_G6C*15/$_>X'?SA/)G?GFM'$#V;=;GS;I3]_"9S':<1)@J2EEZ7?!A<: M0K*@"F+7DM&XJTBVT!UK?:FK2A/30F-!LG2=?[RPQHHEBIK8-:VQT%548]P= MVY+4E45MC*R^:/7'$]Z^0(K6%VWX5I=%14/Z>&RHNJ3I@F A2Y^(Y+W3".8, M\_;"7SK3*)I??/CP\^?/WD^YYP>/'T3#,#X\XVLZ\447SG.T<>'S.'#)I8[G M.A[""_,A"DPOQ/,V(UC)#S!7H2M(75%:>T@W1-;&@^#OWJ/_].9S1+4KZ##- MU7.RQP)7RFL/2B]_#IVL24J"('[XO]^_C:PIFIE=QPLCT[-0>I>-5G>1-Z0C MA2_PW-3TPD78?33-^?+BB1F.R0N2+S8N#H-H^T+X<.,B_#IGUQ0%/,7-H3JA MKTAB_ZT[XBO67V"_FEYRK?8A_C*]%%EV]C+ %QN#-N?^X\8(\ <]RY^1JT11 M,M(K@3Y_O#%6_/78#)>S>]ZZ?@.E^%MRZ85K L-VD-?],>H,/DV1:0\^S5!D M^_3+X9#M/7!B]N.B7CNV$<]=\N?!\#\$ G.<+?"$* MXE\=VT8>^16^OP$)$CA6_/[GZ!Y-?NE870"X9\[PDY!S<>7!ZUXN872!Z5Y[ M-GK^7_32X1P@QZ0+RSX0R/\T75$_?=AX:H&7#$&0V5B8?77-QPX7,]TO'6#4 MBXGSC.SNQ'0Q)9*W:IT!^>#P%Z;"\ZL36J;[3V0&7^&3 9615+[B# MRWU[\Q5Z9_!W^? 77"Z"8&,"5Y[]!?:!S=6SX9/N#)XRQ7=V;?.EB[SE$(S. MX"L:!PLS>.$DO=A8%"T=32)?+D93,T"?@6/L2W\V1UY(Y.8P #'ZB/!:?'Y9 M77)GON"/AC_-P"8__H'""':Z>*7$=(B:"I2XD_Y9<&S]XXP-2'@G%QN;(;P> MVCUZ0MX"W8/P=[SX+82"(%AOQZ[S2$9Z]3Q'%FSR#\X,+KF=C.#3$'9E_-UR M6&N$Q_O;A;T(7@ 8Z7A%09..X",GF#[/@R$9R$<&V\$LG=&9S%V] MY+-I@">YL1?TGD,;=@KROM5+DG>&_B(@?Y%]_&+A.1$9=8B!'G;2SV?(#!UC)B8E^DWQ9: M2*Q\^A,K0+8393\67W$[N217%'JTMYB-4; #/W/XM=#33 L4HM#!O#7U70=V MJ.SAKEWW6WQ=H=?\"9MT6S,C-3:)L9!JY8QZ/(M_Z(G_7I0^8KELNQ'$ECFX=8NTI7\YH/ M;9NH\Z9[9SKVM7=ISIW(=%NS_K7KDC6O_SV*3+ ![2LSP*Z0L#4+7[NJ6S?P M+6LQ6[@X:'<;35& KPO0%#_M"5U[EC]#K:%%[0.L.EJTW1@^EN"O M\/B'TOJ\Y08$?Y7KSRSSAA:>&=OTT*+M]O.1W5.%SD!NQ-#*V&5*N\^"5K<. M;;=/FW?3-42XMANYQW/3-4,@M>U6<#-NNH:(U7;+^8C6FE95;8ZV6\@-66N5 MK7_;K>5C6VN5+7S;S60*K+7*:$%#OG1-4V.&:%'-0\MY5%#9C"66TCQH-$2; M6 =FB+84P,P0I9M &C-$6T0L9HCF5I3TBDXV:LP0;7;]F2':T,(S0Y0>6M!G MB%8V-6:(%M4\&BB.J[4^K9@& ZP)PK7= CVR 5;?P;;=\FS? JJ,%M<9PVB7M@;1+1<'M MY%??MV^#$0J>' MM4B2]*$#V,+KS'2^Z]N !IWE6M4]MWG,;:-:0@D6M-Z - M-&NFJ5>?6M] &VC63)>?/K5N@5PT(\WXU@AV^X0"3*MK;[Z 9T=3WS[-+8U: M9T%+R-;,KJ93ZS9H"=F:V=AT:CT/+2%;0QWLJ'58E"+;[2(Z[VNT?H8!N#>UOU/I(AI;E+[PHO/$C%'[S@31#S_[J>*9G M 3WOD86<)W/LHL\OJ]\?7N;;AKB-TD>M+FQ+;1>=6G=(F\E36_2$ MO 6Z1S/3P='?.Q1,_& &=$*W8]=Y-/%B7SW/D14A.]4[1O!I.#$)(4;IIAZ3 M[E,]#^[9/GY.0I-8B:_W34M$K2T@1:QO-.1[.3DX:6EM[?.&4T,^H9.#4Q_# M"=/DO.%$G:LJ#"(@19@FYL1P>/VA_>]%&.'?3M)_:%#GAZ***,TX!PWJG$Q4 M$:49SY]!G0>)*J(TX]8SJ/4;)7:MZ5X3^W1%(&+'?E]XN>^^V_(?L1%.4O*'0>/:)!;[XW_0+9PS"Y=C7,NHE?5:LF4: V M+891OW;6%P5JLVL8];.I+X"F6M&6*PK4)NE\-9W@'Z:[0)]?EK_^!D\T VOZ M\@T](7>3'LN+2%Y52*X0VZ+ZB )UGHPJZ2"UAP[4.2_HD(9GQHW4>4M.!P4M MD@74N6=J10%%"T^O"Z8%8K!"TX!>ATP+!%&%=&BY>^:K'R"PE:Z>K:GI/2+X M\Z<9[$L*93R9B06QY/$/#]Z^") ]0I[C!Y?PFQ-]-2W'A>%7Q7[??.\1 M2#K#H]@^//+-\=#M)'YSK:16ND*_*U;C%A"I]<=LDO!UV;,GWWURO,=ZZ,Q0 M5C7*J'4^,90U@++7&6GK.'L[(VWCTC(9::)(K1\N"Y+Q@6 @%SZ/Q8!(N[BC MUK>X$UL[9-WE\ M#&:4HDZCU6C()=E9;J42QRY3AHD%<4.O+;5#K7R=[AH3\ M';EN^-4,'OW/IO?'36_8.P4TUK4#4NLFIA=@&%:WD^^X! /:6ZC_K,%%G?>9 MT ^O\%>$2#GZ-;)^ TF- OQ%_7M) ]TA18DZE_1;U'B8.H%]!ROSB_I-Y_-D'Q:EK;DQ#U.B5H=P/_N>,YL,:,. MIV4U@F8J+X@RM0[)9M!E/C-T58@N:KV,V^A:.KM'MU_OAYY]>7M_/V0"C'J( M4>NP;!!B3(I5"C%J798[(';M60$I462ZK]&6NV@1$VW-XXXZ;R:MN&/RKE+< M4>>W94D*30>C 5V"DL]=O7%I.2"VREW-@-@FKZU3K2Y1^EC8 ^+T+'0V$XBA^Q?JA@""::$R$K6@3XX$YDNNE5 M)THMZIP>!U,K:>Y^XO2BS@-R,+U^=,D#['6%8-%,#&M8UCLC9") M.D\*UOXN?2\D1R#PX8=KH%:84?@N>>25B_NBFCF.2;#-L@Q0J'3MM THY[%/ M4^D5:AM4SD!%H-*;U *8\I=3'6L M$2+4><7:!9&S4!HUZIQQ[0+)Z:N+&G7N/^H1CG?1;Z0AK)BK6%(G.PA_% M5,I$4V0Z([\3VRS+ *65WB_: M@'(>^W0KO6"T0>4,5(16.L(HP,GY:">M=(0U=E:L$1*=A3^*J8YE($*=5ZQ= M$#D+I=&@SAG7+I"+4%+VH\[:U08=IBEC4N;SH5B>:(M,9^9W89ED&**WT?M$&E//8IUOI M!:,-*B>O(DA"*QUA%.#D7+0326BE(ZRQLV*-D.@L_%%,=2P#$>J\8NV"R#DH MC9) G3.N72 Y W61.OF;;Q%2 M;5+IT@^CV\G(=$^T_*@D4.?:JXD^N=]+VOTM\,8*S'GGFMZZ3 W\?\.>^]4/ M8'8O)XH(ZCQX]')L WD&DDB=YXQQ;,.(H,Y3QA"QTKH:.*$OB=0YYA@BFM7# M1>K\<)3NZDW1ASH7&+WT:42B4N> *D2?$7)=$'R_(@\%ICOT[*$]DCTGM]H)10[LF;!VIW?ZJR'D^?$[.9.I];S01)DFE &96K]*DY1Q/%A_N'9[ZTB_.6RQJ75+4,,DN M,K4N )HHTX0B+%-G]^.3&O>F]XAB.N _OYO/SFPQ.P6'W)KH>Z6;E1-]U'D& MLLCH>(R,;Y.1.M_!.9%1 0)40T;JO OG)%2K(R.UKHB-Q<:)GD//AL]0\(0V M0UU7L[GKOR T0D\HP.=.RY*;R8-#@$2MYX0N(#&)M =("K6.GMQ NH09!:85 M/:"@JEI-3"8= B5J/5.T08E)I7U0HM;OEAM*M]$4!1M7,Z'4!)*H]1-2AB0F MD_8AJ15^S6H$ G[4,K=C9"'/A(5:O27]!$B(+#/HJ0PUU'EM:5AL&A(C%.HCT;C&\S[>$MQ%#KXVPC8LY">=#:[]IL##)G MICMH[7=J%H9*6TE%K3>1[=M9Y*+6I<L4QR*0:;/''E, M<\@)%>;(:PVIF".O5>1BCKQVT(DY\EK*V V= .DS1UY;]?&F$,,<>6W;C)I" M"G/DM852[7?DT92=?1:*0_L]>31!YBQ4![W]KKRS3.AO!"OM]^4UDM#?"*VH M=>;1[Z(_3^U!I]:?V$;$G(?RT'[7YMG% 9N"2ON=FDTD]#="*FJ]B6S?SB(7 MM2X])@$WZ-1^AQX]89UC!_B;Z("GM]^=1P]@CIZ7UP1BC/8[\\XM#M@44MKO MRFL@H;\12K7?D4=34.<<% >C_9X\FB!S'JI#^UUYYQ<'; HK[??E'3\.V!2M MJ'7FT>^B/U/M@5I_8AL1XF>H1574M/ MK?>&;OFSD0E2C@+4^F0HES\5DH!:)P>E\N>@I?_@/%\$*/07 4 D_G.*3)N, MQW:>!I_@!Z&(@Q2M+]JJ,=9E4=&0/AX;JBYINB!8R-(GXK^P7* , M,']WBIS':70AB3UM'GW\Z=C1]$(4A/^WLWFE&3S"Q9$_O\"7X>%U3==Y]"[^ MO0AQ,UNX/)R;WN#3./@ ;XI_CU^X_=J=#[-@/5$ SXK,L8O2Z\=^ '/N6K[K MFO,07:2_?+2=<.Z:+[">+I"Z2V[ZF#Q][$>1/[M0X05/*(@,H1+&UDIR].5J,'J_%A^W-#[QE"]E="3R2??R#/"](OD[66YU&' MW ,3P0OU2T?NO)IK,GIQ'G&A[SHV]Y>86SXFW^.UV_YR;MHVR/,+@8/OEN__ M0-8E@PY9"X_'DWX/P_.#B_3A$T!E=P(;AOMR\;<'8+R0NT$_N7M_9GI_X\'. M=R;Q-:'S'W0A8LJ2/W_&D^[#(PB5DD40)8RQ'S?7#U=?N-'#\.%JM D;N@8Z MNKK\<7_]<'TUXH8W7[BK_WOYV_#FURON\O;[]^O1Z/KVIIG1*[E&__MP]-OU MS:\/MS<\]Z5WV>,D056,G2.FCD%EJ2=J-3+H(=RXFQ67?"C-GS$GKB^@BR9; M\YTYMNVB#FV0_WI[_YW[!'N.YWLWBQD\Q.*2K>D>3; :('8XS\1;O(VXE9ZFZ&7 ?2A*<\)P&#BFR_WP',NW$?=]!#@TO;"[!4;I%1B5UV", ME9'"./S[P@R ;]R7>P2:7M3A)GXP,R-0EIZCBXGSC.QN%"R64)4Z@__^B]%7 MM(^OT;H$*X9IX:5,\%EV-?/US=?_LG=W]U=WO_P-W] MN!_]&-X\< ^W'.QR#["5<:+,^0$GJN_L]]SM5^[AMRMN;0-<;G[#RP?\M6C( MRL8BY>+EA-DP.^?8;RI;IGRB#V8/1@'W9XHA+E;1.>39R#Y *-Z1VZ]BO^2B$_E..*S MT&)6)CL?[HC(@OUKW__2V54_TC?'E1]X1MU+J^="7E&$W:-')\0B(+J!;U*4 M:9W!\.[VUZLK[NH&=,Z[^^O1U8CGKF\N>_EQ=QR@O4F^=U?/IA6127/^A N6 MD^7,D OGR,(^:YMS/,Z)0LZ:$J7Q?<,S*L@Z,41S,U ;-,R#O+JR$;N:*E Q M1;$G&F^KF+D?)?0TL=BH=G^NRM6HT++=&$$?S.?K)#9I$:)N:E-Z9Z"(7<$0#4U5WB15U?P0"[P*5_"U>K!C0R2@ MQF:.CV.GW+\7@1/:CD74?]@AG74&()<%CZ;G_(?\_?YDP-O4ZE_W[GNC'I>< MX VX36QR-W[O?1;J"H0A&UW_HI=1SU1UB:6A;03;E1%" 4\=QHX0#KJI)0K:/F-);R$GZ]#1[\G\M=6!22;=B<^ZX3 MLD7;7C2R&=P&=Z#!@.#/K^"(XE$UG)-=_SL?%MC]_YQYK%XFBRMU!JJJR%L> MGEKUD6K5N;W;(5FU=\DR8,5C'@ "G;GI<(6^P2GV)V.VM'((@.\ M.(RO#,V""F?U?A8CNM/*4?7??]$EL?\QY"+DHOG4]Q#G$:V>Q^JKN\ TX

E'$R<$DG$XJ O0FF#_H/>(;"[$FR7GFJ"@!23(UC*/X5Y?X<'AELVD>P9P1.Y,##8B[S@X]C6THHOV)-,= MZ!?5>H;6K\@#J4MONPWS#DH2>HI4S)EY!+=HOZ>JZE'=HI5KK%O\LB,@[D0N M"8D@TYIR%LBR\)3T]KRK$)A$61B]S,:^^ZX.39/Z-;A)8F,$".@YWN,X$)0_ MIPY\LI*F[7*'[M\W"AINR0[S(DICPCQ+]4V-P_T^'K9O_<%S!T+Y* MN#_.!'CM"\*RX94;J \B%+2H&S.TS3^Y$88_]]T,_D#13N)4F3=^9!WSVK.Q MHQYQXQYY83.^D MM=F. 2-PT?C?,!=\$[D>[L1#21Y&#O:1D9"18E/*$#C;? E[^[*_*@+&1"YP:^![>U-P7#M<5?N&N\;9E6L03^\6, MS#B3\97<6CUCW=:^7\"5BJ!BJ72/'A=N'-X<=1_JED_Q>)82!X7O>SO33YE MR9\6LX0"1D(B7Y8"Q6 "Y>P%BA-R)N?"+!!G6A8(%'Q$WR8\&& 5(?-3#N#2 MS?@BG($<@G<$Z0X&$)W![%^P.@3/ O4!+].1 MG'827,(1 PGFF#T\\JWXD4\OVWO!SN$E%Q*-*+EVQU#3*QTO%I9@57:E5,=; M5^QZ[G5R([@$&?+H!R\9QC2YB$@7*[EH95=+0F?P+5M64>WT6)-(*DE1 MJVB+ST>AYPP?0YL1EWGRJ>V3&FX#NFD YUR G <[\](V.7%Y/KF>M&2.4L0, M-UG:+V.(4Y!S)RF\1['=$\]J:?S$?R9VS7FBMZAR2!8R+7.W]X2^).8[HL\V MD'/;0*ZRG0N,"?,P8;IXOY*UNXR7;C\S2E74RZ 0^Z+:,O!?3]YP!>)4X$SW MI3/)"H60 AH8)Y/XA>+,'8CPKSCND$9-3+\@+S+?<$O_^G J[%_TH-9^=@S M^.2$1*/S3,_"( <]#Y\DQ1?C$J*V&=@AAT]6./:N1$7YG?G^;9?@L?F[IDIB M)6VFT\TA($[U<(I<=^D ?P=H)=[MN&S!V\[C]U4%T_-6--3^O[?"7! M4I#A"\^)B4=R_T#5WR2HU %>MARP!L)?.M*6RZZTK4J^/$41+P?7CI8O'TF]'62A27'OTX_/H^LOU\/[ZC9K@QQ3I>S7+ M@D6^Z FT'R"<#BA%M.M1?;6G]"NJM81'55]&$T1BL*#D%K-@0GZX0(?]1B._464%.SE[IWP M#R8+6TYZ^=0\YM0+0X4)0VHY0HQCAE$ %"&"\"[P+61CV<T4 ME4\M\D^[C$NZUPR9I*.6+W!10>SRX;Z:5N0'3,BUG9A,R+&8(>.()4A\U[!GZ$9(FF(G6QZ1AVVG/I.&QI:'*I"&]'-&ORCW$ M9!P]%&4R[M@R3F,RCEJ.D(7.X.IYZHP=EO[:>D+*IY937TBT,4E0#D!R9S"" MU32C@R/]1VT0ST1&%127];=$QKZ"MVE5UX8JWM9?S36[\JE415E=7"2N@KJZ M5135/0YN)3K8Y^UAY&2/E:4DN]+BO MUS?#F\OKX3?N^N;K[?WWX)<[NYQNT\4<. MD,R++KI*H9Z95:W0JY2$H[Y] FR#[2]IM7AR_Y& >X"(-#V@^#X MU+R\O1G=?KO^,GRX^L)]'GX#T%]QH]^NKA[*U>-N0WEK3>H)0C7=D86>*A=K M_KRSNK76TT25QD%5TK.Y6J.J&G6Z\KUF642>/.O"B> ]5@Z7T5IAS[H,D+:T ML],/7<)KCXNF_B(T/3OD.?1L(=SA G<@X6PS,M\7\,<=#L(CU0=_W:P@.Q?W MQG]"LS$*.,D@76?4\UN"[V9@33DQ8_I[V&!L6G\\!CXHR=UDE):%$*CFN5JH MT.&>SEZ281BB-2UI-Q1V+D%.C)1;PD,??MS!%4;1A/R/,J!D2]3+11 +W/F MX8!Y-=O"-*'U_D.%QRNR<^1?@U;ZXW)F../%PK^@/Q?.D^EN6%@5R8XBJR9P M32DF.5?MKZ]7I]#L/KYV]M(RK9WMZA:A_;I7G;S>JP[_%;>J6X3=1].<7V!< M#3T;_W.U M4PNC2# +=(_0=N%9>O8YV<=JS#D2!%Y&51W>I6E]WVY1!.S4V= M:G8MQA:GQ19* VPA$K90%)T2MMBS<:9N(1@HVLU%S5]U5+5OS7>QZ075Z_4; M9B/^'ED(P#EV$5C9'HIR^RL.T\ZD8HN:*0=;*S'V;*1KI+A!4:*N%Y404F<@ M]C5>U4N+B&R,U[9S,O24VV\J08\,Z-%57C4$2M!S%I;9M?<$M/(#Y[4,KMJ9 M\Q;_Y-5"6\L_>Z1O2H07X)ZB;*, VP@2KQ@G9*XPT.00NF5 HW8&AL3+ BV8 MJ4@)IEO4DJ) L,QU>T'/6E/9YS!*:/"[$TTO%R%,!P4DBG&XWJ)U!IK&:TII M7F)*+UU0VN=DJ1Y*_]@CS4GC#04I%XD6AM IP M#+Q5I%^7B_TM]?+T2(C11"SP+O#G,.H7GIN[)MX-/)OD"<$H[>0X((N:=@ON3.&W1U)5"3\5X*?IO"A79>G1 MI2"T*"<\:8;E/7(N,D/$D:7H^I/N OYHWA@\76[;YX9+Z?(-D^4>O^1V\B-$ M1"\ORFY:[%<19$H\V@Q$1_+(50FB?F>@2;PL5F73M_*(/HH-3(&B_K&B7N:P:8XXC90P%C8,"H?+]_8@E 5(K4:R\RO4<' MU[*(U=K#$RV96E(VT3(E1>QE!@/RZMER%W@U#N0E5>@,1%'FM3[3<4\,3'L3 M,*L'DPA@DG1>$:N*ES%==U_F#ZQQEV7_-"Z:UW(X;GS/.BC\I^+.W"IO]$MS M#].#Z0)/_@2@P\%#RGGRJE3Z_!%=.G$;+8-7?*M% 3K;,U?XL70*GNQA- MAZ6,JQHY"Z\K)W1HC/'!:?'!_DSN"OB@#WR@\WKYDQ,4NK]HWA&#!<(3G,V1 M%\:'&;"Z/48>FC@L!;*1C>5J-G?]%X3N$3D>L68*'F<@R[PAE,[/82%B MNH"T1S)7#B2#G'!7Q9;42&N^O&9-13C;:'TMZP^5M<%9M++Z(D2I:'@Y3#!H MY* U+[ ,T%/#T@%5B,IB201M1>5%HW1"&[,$#C\.=0Q'Z5FK;H6.095E*5P: M6>'5RLH2, . $A05.@=5%D6X1++*2VVID-R\7L^T_QUE[I@)0$&V:VEW@*: MUJ_R"C5U?!E\CICO6AX^:F>@]WE-957OCI[Q6I4@KDA!.]/"(WND='D.TSH# M23+X?F75H6G/$&6@*RO;RX.N#Z#302U0JPHWL23* V'QS?<>NQ$*9D#Q<:.] M5*#/ Y#G"U#GX(-#&BZ_H*H\3+@--:48\&@0\I4 SX@%?4N =\KI MS3=KAXA]YLFG2LCO\,$>S';]N$&PH6\7:67._%8#Z3!G_N% $CL#5>0U^<3Z MO5 OH4/D3KJ.%RX"T[,0%R!XYA/SA#S*@M MS1SBK4;1'M%<+8IP)0B!E_6J2E0SS;E($1ZF+],5FSR$.@!4&GK"%?^K.9$^&Z^O&)?TQR&/,KD'W'#H7GN/^THF"!=I.J%VNPM"S+],UL&#J2U1J\,KMWB7M6@>E@G7H M[UR'4]98LBIAH,,K8>39;-IX/Q7-K:1E%DBCW:W^!SC1#[AY@"8(]D&\3_G6 M'WN[5MVA@(#M307N^N;K=L.4Y#TC_)H[,[@-1A$^@/8/TUV@U5.3[598,K3^ MM@S9-1ZEKO$8G8'8RXAN;'?'FIL!]X2?]I$S%]'4#X Z-K=S,B%^85AN77[%U+CL^L3.0!"$SNK2]_O& /Q9=\4-F=+N(P@@4 M%&#RS2E-G&=D=_^# C]C-E+AU3X$#==AN'B]TF\.2SX*" H/2SG*:AU&2; ) M\#?[09D#M@Y9&*+N^JO!--^'[G1-QSW.ATV8D/UA+S26YJ(.BCG1R*2/E'CN M&&R.XW$H!YL^;; YJOE$N>Z,#5'?JU)CEK)L7=\KJ)SJ52C+%0T%]&2A)V^? MU]WZH"M^D*O1E?>I(6L3*:F(&L45Y7W*2(6#$TF'.Z&PHIRM>51ML6Q--$L3 MW#_)ZI7GK8'MU 7WCPYT:$GD%4/A96D[9)?=2;ENM)>83G'=N_#H#D.!&J^S MV.>UC)#.U@<\3JR8(_CC";DO)71J%HXI6V]D2?X,S6AO$,8 K;K/BQH[NWYB ML-E;6J0<;/H$-N4;+=,5NJ/[E/<0QHK7V'1!RW-LT-PYRYP[DC92H79) MCCN@QK5W&=.B*">!I2%J(B^43Z1@;@VZ\+.OLFLU^,%A%%7CA5-K]TFW++Y' MD0D?VAPR P]&S;+9FA#!*16N$B(,+6LQ6Y!RG%_0Q+&9F5 M:'S MA#C7#]G9G-RK^:[4YAG"T.&WC!8#*8E(3!?"XL M!B52(%W*J&N]E6?*;)NV@&MK-VT(7#*I9RL9V[&!HX/KC"I9)>"RJHYJ4%$$A:&NSD.;Y5&GXGX8?5XW6M&!MTIM MGG+I[[YJ'UKQ;E"B^5E"X9@J67TYS[&)88QCU(MI]R\P,'AV/S%';9-=_+\+( MF;S4 D/RL L<@'6LMX$ID7.B"'&FA5V9IO>"-R8HQRD M:'W15HVQ+HN*AO3QV%!U2=,%P4*6/A'_)1J=]*9IL$IJ?T3=<8#,/[KF!.9V M8;H_S9<0PWE]16 YD@$I*HRX!NA-)G4L73P$$$)^0-J'7H#,0 &^"D9BTC , M;AI@\?N7_?0#>?F 90O.\\='SC$O?/I@#K*PL9,F=6*WGXG=R]N;T>VWZR_# MAZLOW/W5Z,>WAQ%W^Y6[O;NZ'SYE^?F(G/CNAVCD=&0F[ZF#P^V1DP.[ZV;/$+XZ]7G-H38FY-+.SD MSROA)Y8\'-5+O:D78,2I9YB:&Q0[1V4*DAO/FJ/)RAG M,88W+S.V+LNP;N+=OG95WM@G1F//$>P3B/L.UTU#[@JV#SN';^C$UN &/MF] M!#EATY09JQ?7E..HXK7'15-_$9J>'?(<>K80V"9S%,1N0PX493-/O:&\-4P* M6$CT L5_0K,Q+)%D\)PD2&H>/VJ>B9_5XLD"63R%@8N!ZSC@.C0&=.C24!,7 MND$P:M.MOLQR92MWLO[?LU'E5JZIY]HF$9QCWG3SW: M;O&RPYKEK#U,@=O)K[YODV0>%#PY%@I'OINS[M$:8TF=@:2IO-JGI0T!P]!Q M;)8*,82+E*D2+QI5=0)G&*($0WLT[PHQI'0&NBCQFLI*<9T8AO9HCQ5B2.T, M^A(N.$"+'#J+(^Z_!GX8+ M*S:W:/!U,)R5TB7+X*P/.#-X4:G=K<9P1C_.]NB;97"F@Y&B"'Q?JJI0W.D# M[;2QMD///>(/!28+CFP;=HSQW/"*""' MMSCT/$=>R%R9C:BH"8%^CIK E/,N"I M+_.R2HM\.@O'Y^T<8;)YCYQ#"ODQYR=5FN62/*LRBX492\%. UZO/^?K9'P& M)XRW/:IG%7C#;:AT7I,8WIB/*H=Z6@7D-&(I:\:YI+4RU)558JM ':X>)8I5 MA.J9A[0<,*[Q\5(41JD;E.<\=%@W[*:87Y"Y_5XR6I M3XD]R"!T'!VT2@@9).6^_'$S!B&Z(+1'IZP00C(^-27RHE)5!6N&(4HPM$=# MK!)#(IC$O";3(H9.I/D2K5=5Y#BF4M,F#6 27_'A6C;KS5-2S5Z71K$%>V#8 M1<9GIWA%W=[=6&.GUH)GCX+]!GBV\2'CK $&CM,!QQ[5N3K)H@!R>$/<3@]@ MX&DM>/;HS(4D"^X-9&SGMK6ZYQNU%';P8>JEPX-*#WCZ@M\]K2E6G:1EZ6X_>O;YC>M"K M=P:JPBM:52$PAM[6HW>OUYH>].+@FV#P>F5^;[KR(UKDM;U>:OMIA@1SVS:F MU@/3)5;Q9^2A XYF*D)GT.=5K72U*^9>H0L^N?3J\O#!!\%X32U];H?!AR[X MY%)LR\,''_S2>(/AY]3PDTNU+(\?F9CDDE95!V7F_\V! ]S= R4^X*K]O?5: M:NTLLEQXZBP!LZ M8RO&5N?%5OLR84JQE=89R'U>%:LJ2<[8BA:(,;8JER-4BJWZI**KJE55=(:% M% Y$Q&C=!ZE*6""M9HG<&0J]?E1LJ/S$:3@G&9B3C*H" HR3 M&">UCI/$2CA)Q:>->WW&28R3SI:3^M5PDM@9R+TZBM[5P$FG7)OGB^,N(F17 M92J6<$&=J+C(FMU)"81BYEZ"MRR1(!&#[X3J"3'$GR;BBYEE;R!>KL8P8XAG MB*?)?'H#\0HQH&BIM,,0SQ!?B9GS!N)58NC0(N-/.>;U._D#;!D31F,^(FY, M@F#$F DY?Q&%D>GA6;#3-:4Y)U[4@@F&*8&&,7UN%K,Q"FXGA(/"VQ5]$J=! ML=BSBD_"B[PL5-5-E +_&P-6OA2[>H'5)\#JZPQ8IP>L/4EF]0)+CR5697UI M&;#H =:>-*MZ@64D$HL68)VR WU+Z[03CWI%>N<;MF]*550$XNW#W)KS89?DO(VO_(3+'+H)_ M;>=I\ E^O"*%J@ 7S/W0P2"Y")!+>M5^_.G8T33E@+6[8LI>"*M;S''H8_#N MO&5F!H^.1S*$M$T^__I9CNC!8^&"&O"CL+7GJ]1+GG?G@TSC ]"K\ M& OA$F1'E8EDM93-L:[_Q./&PLA!BM87;=48Z[*H:$@?CPU5ES1=$"QDZ1/Q M7[A1=G+3-%B!^!%UQP$R_^B:$YC;A>G^-%]"#.?U%8'E2 :D@"BI WJ321U+ M%P\!Y+?K^[O_KM MZF9T_8\K[FIX?W-]\^NH-'L?D3'?_?#,A>V J'I?:MADTUC)?)+B"<-WS7F( M+M)?/J;]71R/C(3<]#%Y?+)18.Y\[2O"+XR_7C%N3XB9-W%5)6].ON[!5Q^V M/U?$GFID?R7TQ(*?JW*Q)^T:E"CU%$-C@VKOH%1!>O-1>URJ52AUQM9E&592 MO/G7;B89^Z0J8=P'V#80]QVNFX;<%>PF=@Z7ZXFMP0U\LGL)AN7J'+@U-F:BE"R)6=-$UZHU99_//#R] ,.+_()M[-!TO81D.Q.O, M#/Y 2;0668O B1P4\IR'(AR6_VN%)CGAX)?0X<^GC.FS;R84\9WIVL>GLV?R/-!T1NXJVIH-Y9ZTG(/=N M'+?T 9(%*)PC"^?(N2^O,EW8F>;C.0AWP0,C8?AD.BX6B5_]8 0$7\.%C5-< M<-8>Z):WDQV8D, @*UTG@QT,K!]/1]T3JD"6W!DHVTG_6U%S!JJ6"*D#M^0J MH*1T!AH[%G]B>#I0)ZH"3RK@2: $3\?VAK3'^DL,/V($ I9L>. 3.;#!.5X8 M!0MR(&%E_A7:(+%7F;EWEB0:L$P+6<3?F MW<"2 %AZAJ+!D$41LJC3D';C"=<0R,!3J\NFYFY"WQ0^P&R'/ST.K/8 >=8+ M%P6F%[J$5)RY-.$K3\D^76Y%SY9#YC"9PSPXV M5#H#15&9M_AT0%:%)EH*9,52J'05;"%>$\LHK0R#=*D6)2(6QT0>KBC-]X6J M4F(9_&@1@5NJ+>4BL$^ J&]'1HXN L\P132)=I0ZC5B1L5DN*;V]_%J%7IR& M'>_\@+!E% 7.>$&2%A_\.Q.8.,IB/;TST,0RC%>4="WP>9PK#*O0G'/!L.#V M@#,[^;Z\'5)B*#T-E!Y)MZX!FP:NC2CDRE![\R'1WG-)BE4#8(=!&$OTSI- JC;&@F)% 6U-Y(T/.4'@D ME#$98[)CU06IDLEDG$#%2^IV%B=C,L9DI\QD>^R_*IE,Z0QD@U<-QF2,R*NH^P/C&L3\RA[2C45T=F#NL3H[(^,:Q/#%5]8H:CW[BOWVY_9[UA:.T- MH^D]65$J:BXBZ\6>M+.YB-S3-.HZGL@]N?_VH%C'DU/K]F$45W]8MX^]B& - M&4ZY(4.U/>[SKDQU!W?T6J4NXS^$U@Z N: VZX_H=\T.3)(TK2 MD8^N>ZP3!'YW47+ ;[A&E\)"62")0.P)/!]8[N@;ZLW M>*JE]&AJ!J@[-D-DDT1UY(6'"^C3.JU]= %-:/$9D^)RC1(%V4@2A,Y X]4^ M+;5G&7B.(I$K H\(1A8O:%5E:%%R1I]J$?P%35 0@/QUB&V,"Z<>Z)-F2DU) M!3DF1.RC>#"?K^*BM9_C(K:%>4DB77/[Y:O*,]V8*ACMU8VKA9'<&:B\*)0^ M8W4*$L7F W7/1"\_!XPG:Y2$F5)"%S84"QM-3-]GRK8 MY"TM<#AL<#5"M:JCNTS3WT_^Z]G<= ),#BR5'2\RO4<'YWZ:88@.K$3+E+6# M='YS[C]>K.B1J&BWWJ^^;_]T7'?H@?Z6TF=(R%-8<<.M5_@*!#-3_ZE"U [U MOS2B)LXSLKO_08&?!:9^!V"C2Z+TD1(X,3N@-?O."$61B^)]9T(>]YUT.0XY ML$ZY2[!5G2@NCQXCBID!.1>V7'>+-;FQHM#M!$:5D >H$Q-GK2)KX5T(5WWD M^PH%!5<9DNK?@ X%TMN;CU'9YL.LA?Q)Q[[7);E5+C)#E'908T;"\0,#RT,# MWS E[O%+;B<_PEB+6T]Y2)2^HC):Q#W2!-XH7YZ=F0I4X6I?WZ&Z<25V!@9O M2+0D9YV#KDTJ?9*&L4R+;M"93L@ .RC>0.- W*$\)'4&"J\:I7F(*=%4 :E0 MY=Y*@(3K^/&Z0$M>U@D?U[N<)U-5A3P";W;A"S 5:(OZ#X MWVMOC3*%Q:Z"=6!%9IVOZ =3N=+[=8)(Q?7T1:-,3V"ZMFVJ!?&U]X2\R \. MK4?# EA7MK-@63_MMN*GL.PM@Q]\[IN7=*5Y_)R# M$HP+"N(%+I.3=(ZZRW$4X90ZOSO1]'(1PD110+S%A;E*QUGELDC+01\&K:9$ MF)-> BJ%EP0RBD)N;+]BH89KR433EW*(ZI<]=3)ZBW"0) MG8',Z_WMAA1,;:8(3+6*YK(0$DGJ5_G0%5.?BTCE8/&JE@*).8SCTW],H:9, M3%_-YJ[_@M ];L" [&^KT%!A=L/G?16^G]$@EJ5:MA58>O;,1&F9M?H*F%ES^B5UPF-EJ6LT,&^2%PHF)?ZVUH1W%5:'"^SJ M8&5@%[>243*8)8?4=;B)LQ9!@&L)9&?4,Y6;BHP]0JJE8G1ISG%+NIOB47U9 MZ PDG5=D"K0BAJ:FDD0J0Q,)28I"F60^"E5LN4^GO+[)VYZE2;T[=TM!ZGFP MVD9AET"XNX1NGU]^A%A?6K+@JGMA81:4@ 4U7I.J*DM6)Q?]NN MNK H=P:&RHMRZ4.QQ\#B233\RFZ+BO/S0]86M8[!G?(YZU@/C$L3V4ZT")@' MKQ'S[\Y\(O"N&'X L"96JE0;X+PVGETRQJDCCVQFQ/F$YDO?0PX[LEF5&Q.'9 M+0J.G:I\OU]!MF,^"K; ^#A'*.8]*%$C%''@5>WS8D:+(8JP>!*F2G:&U5?' M,SVK@@RK/ IDCOOW$[&IW@,%1G;"?LK-&'Z GGSW":/'BKMU3DR+G;>APD_Y M#5L?8'<0NA26RUIGH N\0$U7& :@H[LBRP&H3S*HI?*M YFW<1_][]$\=CYP M0/RJ)3+S"Y43R4OB "M]\[W'!Q24Y"P=%_+)ELTLL-]6%.V1R]6CR, HRA;0 MM+D43T==CH!LG.N;'M..&]:.K\-P 78ONIV0@"JROZ!Q5"#0HPJTM1YG(#JZ MAIP#1/LEL8K#\BI-MM9YJ,J3LM+X''6:FA3C V4P"[:W"#IUJ<-E1&]O?K B#)B1A"PC3)4B(EAA:G![ M4%1'OE->&.60QBI)2Q"TT^EF2Z,T_N+@(+YGXP9=CLTTWP;/<]U.EL0HPS?X M2*W&JUJ92GA, :8+03FE;T4(ZA,$2?+IE"NE4?*F1,-:L WF"N'IT9I NJ$K93HW,LV>+FCE M3;JO&UHBAI:NGTY5AW8K+,PF<'LVB7^3M.PU3!DQ+PI,@; M0IEN-.Q@%I50K+_N=14 E+$CR. %L7272'8FZW"L7$TFR"(I*NC9FIK>(^(" M,\(U@3RRB5#9%>%TV7&/#RFFUNWD*J'5/9#JUL,RXGKT;;,33@2.M5@01P*FVADHI326VC%Y MPC&%=VDOI/>X7R7Y#1=ZP+L$'QL<:$4]4EDY6-+V\+V$J7:U6QFEV/0.YN'; MV^VR+'>!EW5=(,1"(HNO<5A9WFY"SRR1EL.U0DODV" M:,WT<5,W36:V3(,; MU&7NG8@S(VZ,'AW/PWXPW!> (0%.&K@:Z5&OB[,ICHHD"*O*%49-RTS84X6 M9#I-(,/1]3XOB:4;3] 5]*!5Y!,!ORWU(P[!Y^5D^QO:W,$[>"XE+FM]&V+# MOU:FNVS-_!0DCTR1Y.D+9'O+ZE16L1I*B4G%F) Q(69"@R8F%($)95Y76\&$ M)V$.9I<;O/&]+E$+DB#E"R6U!F4@D^TO<*N-TNUK,ZN?UH3Q@W =G5&L:N/6L1!,C^O(AN_.B?*+HS'3MK M=Y$Z X.:OAH,^ SXQ9SX>8%?4.?"U15XR:C*_&RHNJ3I@F A2Y^(_Y+T3GK3 M-$@'/S'_UV^VW M+U?WH[]Q5W__7PV?/?#,Q>P$2/[?1GAD?2-3 4\L25A]*XY#]%% M^LO'='=Q/#(0;;F@UZAR*ZG? M4XOKA'&VWK7'15-_$9J>'6XEL[TQU3U^O#=6));)QUR3-WVP<:40;C0UL1_M M=A&!UNOAL1]E,=Z$Q]H65Z="7'2E<%$5'+R^,P/N'Z:[0*]4H3,"SQ &BC5+ M,):P4Z +W)0X$,Z1E>Y19,*'-G=E!CAM+<^AS9-;A*%E+68+EYC2Y'@R6 VS M>8"FR N=)\2]^^:'X7ONV@-#/(^/_N06Z,''T0LB;Z>^"XIX"$;(GXO7T:]# M(SB%8Y&BT5:K,^F2VHB@;C];@;6E!-Y3A)PYU,*#RKD2EDXCM\X[_KN M]!R'1!_8BIH(>[S'J[)CL4*QID\4]A@KG8$D\HJXG0F:4K^^U[(= M*N!J?#Y0U7BAOYU3Q_B:\37CZUKX6JJ=K_N=@:P:O-'?/BK#^)KQ->/KO),N M5A=@Z\S*CL( %7"XCCFHV#2%1YZKH"QC,Y T?N\GE'$F6V= MQS[><@1,[J[UZ?HAZRI8!*6D>CX[[\](PTC#2--^TA33_;LC'4%NC/IQIQ0N@HF0Q-M:-JR XZ )IDN-)VZSS]M_8EM@! 'DI86@84_ M=EUR')N%!"K@L!UYZGNJG)#H'J82LK\L EB'N/QXG+-.?GXV0V1C-@0>)-3* M8BNE,Q#U[;@Y\]6T"$!9(GH'>LRY_W@18R3&#I''E^LLG842M3/01 :2%H"D MF$-OJZ+U*X?>@7#1,N'"O/)4(85YY1EI&&F:L)-R2=5U\VCB/".[^Q\4^%G2 MMK\$#"4[]*F'30CINF.L7I/@2:I?LT )\RLRTC#2T+'Y[.E6,[1Q94%2&O+! M7Q5!P350KKVD @H1=./7;H1[W $E="(T0L&38Z'8\7"/+/_1(T\A%64*._AT M[."3A1.J.GS"2&1"@I&&D:;)( MU\MN@2WZ?2'5L=M4!U<1/."X7I^R1D!$7 MH,@)XNK>+ Y7@8>\1"#N'MD(*&'?!I>FZV:%Y#)$IB%T!EJ?^;&5:HP\H>"_UPK$B=@2IM5[M@8&DQ6/(<]LX!EF)*O1&W MO&&;%.U88A%#:DE3\HC54=@E#_N"+!?^637_$U9@4#L#H9>A/N >Y['E MF;M:/'/\,9\L(PTC#2/-B9&F4MMEN3NM[5AXBRRLQFA@]_*JM!V"*%P&CJ&' M,?99DJ92:Z4RQNY3P]@5Q9=:UK;DA9/+="VIR/#?6<2/7B:KIF6)<;R6)89. M6I:HLMS6BH^%P-*0NZM&I%,E1/*7<"TV\1:R=M;VN8>ORQ=P-0S2J:3?VO*M MC)GI@39CYK>86:J[[9 L"+A!29_O9Y1&8^S,V)FQ_(5D0.P-9,7A5 MV#XJS=B9L3-CYRK;D4A;?8;J:DD_&23F65BECZ?,XS%Q+_Y'S/&O" MC@$QTC#2,-(PTC#24*6V5=)_9%MATSJ#C"@+0TO+T5))?Y%MM/0I0LNI^^LW MJAEO-Q%QDO8BS)5?6]TBJ?H&(E_]8(*<:.W8\!IWZ9V!6*;F"/.UT':\YT $ MD1($!P#(Z S*%"!@^*$./WD*'%6&'Q&GQY;*N6$(HM:B8Z1AI#EGTA23NWF* M"%4G=T4L=[=#)FT]FDNM255IVY$\7HBF[S\]+PAS9U)+FBH5V_IKLV]+8:DS M4/JT>+<8U)@48*1AI*$U@M"$@)9I$M"G'GZHLDT"LS@K"S<)I!A3JHU-0D018U@,KV>4*&E19CI:(>"=M8Z8/N M1H&'DV&%A2]:29KJPQ<'L;'>&6@4B/QC!RK:V^- JJ?'@2P:=?8X.$__#'.= M,=(PTC#2G QI*K4]*BJ%+DM"7 J]C!K#T,,8^YQ)4ZDU4AECB]0P=D7!H1@( M,A51HKT]#H:+QT48<;)0HLU!1;;]N;8YD([7YD"6I+C-04;+PY94E"L$EH8\ M6C4BG2HYDK] 9+&)MY"ULW;0NMLQ<>YL#L)\'LM;GU?8V(6+L3 ^XSX^="WFKY..U.9"T MN,V!4$%73L9:% #M_%BK$&?5WN9 PEUN!8&7F%.*FM298Z]WZ38'YQG18<$V M1AI&&D::DR%-(= M<.Z:+WB@:#?*V%5MNXJ1_2RO8F0_RZL8V<_RJO.H,[+9P<@%I:QT_Z+S/"?* MCO RTC#2,-(PTC#24'4*2-[RR.S(JSBP-XTL= ::6$$F!<,,-9BI&S(B)9 Y M]9C\==*K:+N+D;7>Y(B%Z\N[PK,/ALE[NL<=T,DHBY^DSD"DQ2?.\%-9='0+ M/*_$L#GW'R]BK,08(C)WHW]9%EKDK**4#"ST@:68GK>C,N6!(%%PS5\*3G0S MA%2'D!W9%@<%\JT/6,(H=:,9Z2AC7EWY%4_]B2*0/B4Q(,-(P MTC28U#[.-GH#)0R_>.8 M&YJP4E>O044$#5SM,["<$E@JZB!7S)93<.81 M+QALDZ(<2RP,3"UIJ@@#U\SE,N9R12W31[*E >/V-J"KJ?^,$@WH*C+]D_+-\;I

%K8#5TQB,(G!)$;S2U+(MZAL=?^LK5N@BK/E9%ZJ(KN2 M<2_CWM/DWD(60NW;O=09J*+$2P8S$,H%,SY$)KPMS>6!'^F(9V;PZ'CDU=HF MI^+3AL[D)<'@X-,X^##83 G:^9A\]R3+JDB]O@JOGOLA.8QX$2!<\>0)??SI MV-$TQ>7:C:5:!)%%(@40>=H$/9CK6V]"22)41A#C3 MPO5%3.\%2,YY?@2OBGS,=P049H1L;N)XIF3LI41.#UQUCP M?A34LGYOKE;_57[:VL]ID(YC;CZB[CA YA]=+_XBX,4K2_:JC'695'1 MD#X>&ZHN:;H@6,C2)^*_^IW! Y93N++I)=YJR(DWCVV_77X8/5U^XT0/\\_WJYF'$W7[E1K\-[Z]^N_WVY>I^]#?NZN\_KA_^ M64R('I&CWOWPS(7M@(Q9*L1DVUC)7;)-P4A<CFN/BZ;^(C0].]SR'[PQ MU##E/F8>36X2A M92UF"Y>8N''UBXV.%-P[W(WB/1=WICC'!7KP@3UB>9MXU<"B('ZUC=4X]&C= M3B=4J]-:OYN!->4DDM*J-%FN]8R35A7I>$FK*NZ*(/&"OGW(M24>XZ)X:>AT M1+UXITJ-KQM?U)%/F[?=: M 8?CLZ$&KV:*\)BM9^A5'7:\?G&Q1Q M*'\PB-5@9.4Q&6D8:1AI3HPTA=3_/37I84^)@^U1-Q6^!EN MZ,,-8VEJ25.(I?>T#BC%TII &4N?>A?A.*O)VLAJ<@CY>,X#A=^?<)'YS'H* MLPJ3C#2,-(PTC#2,--20II#:ML=-3!2!C>SFE18'*MWMY,%\SE+8Q,Y E4IK M:PPNM,%ECY9_*%PDFN!RZA[[ZS!(J935M9/\_/RZ<7864^$>2OWM$D+,T](B &7)X!WH,>?^XT6,D1@[ M1.!>KK-T%DH4$+W;C1D92.@#2;%6"%L5#E]EV!P(%S43+JSW(E5(83YU1AI& MFB8,H5Q2=3WX,7&>D=W]#PK\+&FK+0%#R0Y]ZH$/0KKN&*O7)/R1ZM6_^B1IQS4S5G#*?A\7]CNML*02!\2F9!@I&&D:3**0IW\ MUNF2WWN,D+3&)PP4[08NNZIM5YUZ7(ZP-!>@^2*PIL#9+ )7A6^\1 CN?DD* M>^B!%(V<("LBER4Q#9"8RG8W4N8G;PEJ"L3=BD$FV8"W$-,7.@.]S!%E!AC: M +//3"\$F&(:6U_L#$1>URIH(,0 10V@]AV;JA-0$@!*YD6)(8IR1+$ ([6D M*<;L>YP$=3([SAQ3>4&C0!\Y]8!C?-(J3$P_3+]9W$N&Q1N;-?UL!)2P;X-+ MTW5S6GU]!73X,ALD\]12)X7+@F6GO:=V!E*91#J&%=JPDM/>.P K6F>@"=L% MA1E8V@N6G+;<7K 4U.SZG8'"2QD]R1F6J,(2B_122YHZK+BJV1R7YN-UF0(V M/W;0CO2G.C8DOB#+!9O YN#MCHT\.^2YO[X%$Z ML2+>ALOUS=&+>7.8HXV1AI&&D>;$2%.I_;+IFLDDZ3JGB\3I.ZU!E((F_(V_&&$RG43X/+JT:D4R5$JNN\L3GQ M%K)V5A!H#U^7[[NARZ3!I+B=7J\IFZG3C)V9NS,V+G*+I+J5GO8VKI(ZAKI(BF(%:1W,M:B M &CGQUJ%.&NK/VOE#(4ST?H&;Z@GVSVR=;DSQUYOUCKR($9>5@1L!9>P"!\+ MOC+2,-)02)I"&E&=+2MUO3.0!5[5MA-V&6[HPPUC:6I)4XBEZVQ9J1N4L?1Y M'*1F+2O9$21&&D8:1AI&&D::UI"F6-AGJV?ECK!/OFZ$Q?0Z0\"5U21INQ8N M.T'=8DAMF0+'A)1(#:1./>+ 6E\VW/I2/4KK2P-7*Z3%\&;XJ* M8WL0Y6!AL0=J25/RB$=5?"QU!L#,S?/Q6;1:PZTF2K=94^MILZ8(,FNS1H?\ M9H9,S-FKI>9Z^ZTI@@Z[K2F\KHN,W9F[,S8N59VKKO3FB+@ M^LI]F5?4[=,YC)T9.S-VKK+3FG:T3FN**)#"Z9)<03E$QEH4 .W\6*L09]7= M:4T1QD5B+85I29XZ]WJS3&NNTQH)\+/[*2,-(0WN5$*W&3FN**'4& MDL ;ND%)84&&&\;2K21-(9:NDZ-ERCAZCRUA.^'<-5_P0-%NE+&KVG85(_M9 M7L7(?I97G4>IB\UNFB[LSJR7)CM$RDC#2,-(PTC#2$,E:8H%]AML?*B("FY\ MV)>WD^59#8P60ZI)1*G4(.K40\JLE6;#K32UK3;(-;325$0-.(H2SRJ##XN5 M,-(PTC#2,-(PTIPM:4[=]\YZ,3+W%",-(PT]!FB6EV=/M6W*>GDI(NGEI634 M9F1(I ^)3$@PTC#2-)B229WXUND2WRSMZRRO8F0_RZM./99796.K\W2(%6UL ME2MX=TAC*T4T.H/MDBBLBF]+X)*EJI7%RJ[.%9)0KK$5@PIU4*FI!YHBB9V! M)C"LG!)6ZFIL)4F=@5JJ"QH#"[6.'$8:ZOBX+C:60>2+9:IPM33>V]Z^5EH] M;:TDIAAC4TN:*HV1 MROA:HX:O*XH-M:JKU8W_A&9CT/UEH41?JXIL^Z0J;+PN%[""G.TOQBZ**\.> M:]>KOG"\KE=2/^YZ)6^7X&I7Z=0JH-20-ZPQ+J%*1N6O-5[ELK10:&1LW?LD M1OE*Y)(>]]-J;0,>)B:8F#A[,5%[VSW)P)VZ=%Y26MO:APD*)BC.7E#4WM)/ MQJV"=)U7^DQ0,$'!! 5%@J*0T[ O'ZV[F"R"R!!YHU]!+AMC6L:T)\6T17@V M3Z)I.4[%6822Q L:\RJ6B$Q\B$QX59J8 S_2X<[,X-'QR'NU31ZU$! Z2/ W M^#0./@PVTWO6GI(LCR+U^BH\9>Z'Y(S?18!P_;-Q8%#A(T?JBK1IC7185#>GCL:'JDJ8+@H4L?2+^"^_IR4W3(!W\ MW'Q$W7& S#^ZY@3F=F&Z/\V7$//%^HK W#Y'-Y/?S&C1[@@^]7-P^CTJQ] M1*9\]\,S%[8#8NH]MSWNG#RI=/9/-MG@NE@IO!#U=/H. ,B++KKXD^/35%R* MX5CIN%G,X$'6*_5'W*IF&SR:GO,?P@*72TD/?PP]^RY (IU>T M$WHJIM5H,0,2OV N'@&$G0GH)5[$#6$_7. 9/')WL"Z6@U9'2S<6.84,?)A, MF:S9:BFZ8J<@73Z;H1/>3E9#("-XB7]FK+:RM:['E3<[U8ULM)+IX?6>KV&L M3<+F88KV:T9X@L.Y_PBZU1565.:!$Z*0YZX]J\>]^XEX;@%_^8N \P,N@B=> MQOK7>VYJ/B%NC)"'%VB.\]LYQR,*6F"3;):?3C0E?R< A4?#V^2@P M7?<%?X_F47PO?OP/#TM'CC!PR+W[T1OUN%^'P[OW/0[/Q_%B4X= U[/ M"K3Z"E]QHM#].Q=._85KP^@X4%/(!; 0_UYXL?%%!K8V%Y(AU_^X>L#_8H.* M7/&"S(!#'G[+=S.PIIQ(LG+4'O<[@I5!Y*(0V&)CH@DGXO?&:X,__7-A!K# M>,Z>#?\'#G2SE55NZ+J(B"Z_V% 7(\>(53J^ )R:W 826ZQ&!WH'("SS M&S<#$$[Q407'M\-DG=(,IMBBDXQXP7CR2M#8EY,!K,,"V2#'L#5#&M^LO1Z& M#M1#S_-XA.G[)PM8&CRW5QK]:V%72) !JZT)L<#WX%D::V2Z0-;7^> MPL6#YZ]AEB0HF8$=MDG"W7JK?#FI3X F\P0G2TU@?8<61=R/^:$?]X-1S_>DZ=W!7C-]6P>X-<2W@2@WJ.Y'Q!G #="C_AC M;J5V@/3\.75 <@"6X:EA@O(_%PZ6F/;R.@+Q8/6D,'Y2B+D29-OCPHFE:G(K MYK8(K/O8 $X>@XAW-]4-DB<0)O) J!.V]>-Z%,E7(&MGP.H@MKU4(N&+'+P3 M.#-N3+9 _ F\ \_9L;$(7GZ?,CY(\N4C5S,*DXECQK<600#? LLOIQZ_SWU) M)@A+S)G+:DBK"W=,E @C)W)C891Z.E(I@N4*#!;/)Q$DDJAL2"60-TMQ WB/)8JQ+5'B=AW<@_F\ M+DGB#1K?"'A#DPELC7CGQ#C "MHZ-MY0+PB^TGM2[&1>.$:PM!ZFR^K1_=?R M:%VLH6R(%9Z-I\<"+U8N8)#FXV. 'HER#'?9")8!5P:& M#Q[]P$E$9BISB&@8^['"@]UZYF-RA3G# ,:*VXJH(!1#?R7$\)C77IC(*B>F M,PP=+IF;#AG&OQ>@@X->1"["*X9,+$7C)8M%;JK\(;N\9_.(G'&]OE\+DK*3 M*Y2N "SS96N]$KY8FO?<5;*W%=LE9SX TT:1Z;C$?%C9%.;87T3QYO(R1T0+ M3K=//C$XB(:_ %O #.,+'.\)W@)0Y#DTF[O^"T(;Q:5Y>!70RW*2OP M093X M,_@880BLHL2F(9N2[\$&N*1Q.@0 YCQ6Q\,%1@1L4GY(^L*$IIM ,40NK/LC MGYI8,3[MF>,!:P:QJOUN].M_F[/YQ^'[Y>1ZW @_B:,K]\Z4\''HSW3F*= W,[ M8.%:$5;QXBTB?>928P+B?"!#S3#[0'5%K]0W]&2ZBU@C(KI'_/CE^V?F2_SJ MY(7[_ _KZN(Z@^%G Z&PI9@ &]MP@>]BTQ4' LD5(+*P!;N^"&O,O,=$_/#* M%59I6"BG*[??5E>N=)@K]QZ!J%R@KX$_P[$(''3^';CR$M84Y'J086%K&2Y: MC4X7;3(Y'NQ!"SE/V(J+H9M.E1L"FA,%[)MCCD$KB0YVV))%R%@:B78G1+), MFSQ3"$6;>L'M)'DB"7-E0*B?WTE#A9;T0*Q'U_5_$DE(O 'KNBK692*R%Y-I M8Y4QF3F[ZF#P^25W P>)7N1?DA?'7JSAR3XACR3-R=<]^.K#]N>RT3-T,?,KH5?TWY[3G+_.9)W9R7&5N7960)QNDHM>?%Z;FRXAY(-.$[#B*$W!6.'N0X[7QB M:W"#XR@[ER G;!I+!RV>RA7G,%]C&\=?A-AUM)4=?#A_[,SXRTCZHQ<12Q=) M$CO+4P(@S\3/:O$*U$\XR_5AX*H:7(<64SQT:8XBX??;+$)LU!&SXS_820Y3 MF#IS;$]4W5:OLI5L[@!%SO7,?WZB\-2/?T@BYYP+G6M2WCXDL5FRKB"!HHA(78S_&?@G[J3Q2'B^-S#WI[M6Z+KO-&UA4OR&.BR M %W=CMK7#K91*T+7L=M=-<(,]1?1H7;H975GJ$/:MA R'D/:NJUAUU('_:H< MP@:$7"2X"%PY#K_C@ZM'X-+Z><(P":[S!M?I+U+-?FNH=PRUVSG8"I7H:ABZ M3G]/: X 77I7M*?$8 HYU+;SO53N6H1J]@Z,AU6ZQE&PIV69!$%N>+2A"QI]@J=2(\P#.B"W&68P$M2E^?HZ, M,P 7XJ&!<2S&L),+(@6#OP3W1DS.Z")9(?-BEAG\-V#,"\$BY"7!;B-N.,@NF-(6>-S-XAT&DO3YT1*"B[0E*GP4,]!TK Y M"TB[(-64_P@['--Y$=5;N/3K>1ZBM;Q#S6CZ<:J>%8/U/2MD^XG+;S^QGNI( M+Z0Z,@[;QU,JJ90 /:75C?"LF1)36GJ8$:5?\.R.6)CPZ#T1S257,\6?A$_Y MH+1&_NR1&"V%_D8J.DYRBYQ!J,3C XVK=/$O4&B1[7IA%]0^1\L"1D+=!G&"!B1L/E MGXX/C?C!:%O@""G: J4_N1^!YCKFC'A7G'GX\!RILNB9], MCT+:M4?G1SDKV&P:/')KAF/H] M"4)!_JOIH5M!=Z11CSL&9&'-"Z),O$#8RFT/=@'9#K>.[BRHJF"F-W.J7E0/[/1;#&O T5,@&6!/&LJ,8SS(SG MI#.RA))IUXX-/+'(6>=/K$/(+7LB+N-TBO"FL\3T[[#'R ]4A#O.-I9J$ [.R"R8:V/2 M!%AFE#\RV1X!3CCUC"P4,&?@!3.I?7SW%%4<8CI/B#2^^B8L->.G (XK/PM^.)@::;A:M/ M>PF0 AG79)Q]C,/PTV2PD>(SIR>$\IF/-.8I!J+\PL#VTG:K855U[-(E@?)\B!RE[>D M$<563FK/_!: Q5OZUM'"^G%-[6M5U58T(A-(BI@4L>TBMN72ORH1ZZ*(]53+ M.#C=5I*E' P0;.$,OAU'1^X66?*C5"I@6_A1JA(P+ _LJH8F*5 N#4!;*%"J M E"_->QUU)Y>5;JT9 K87J.5C5Z>DA;@@/3/LY6K+27=58D5Y3*/=X M/S[YP0=_\1B-%].\[)46.PVSURU3\L1=&)JV:>UZT*2WAKK:[3:%%^["[?%, M@H>*V1HGNM60U=7UKLU%Z*/2KLM7%I56/UB*U>NJ5K_BWBH-KY^6(BQ%N $F M124B;*(;:*G6H"K>I=.*\ [EE*72Y?*+G+7DWI.7]CLX:6NZ6G>M"^AJ'2YF M,%)X",]#1G0\N]%KG-FZ*1TUKM?PL'WJS*?VJ0S;IRJYQ*$K:&K=-]N:830Q M=V]KEF/!N1@O)@@3V_U3,@_P(I/@]LD#K 5 %YU4]XZ!IO*H"-R>HLJ5>74R MZ>>2XEG=BN)9I\NQ.Y)2.Z\;#FXGAXK]A 7+<94J5O)@79(GKSA*K.6;"HFX MOF%5>P@/*9#B(O'LM896+W]UD;-W3G-K<5Q[XDQ$[P,31;$AI]E)O#6*8,>OQ/7?@A?T]%N;:#09D9V[?HYRK/]&-K$]JJNW2GBA0)$O)W&W*O+,_[ MG:'TT7-.'Q^0UUOR>JN9^5>]3D7Y5XVX[:I<+^Y)1-H$TIB$,HNX,WAT8>K: MCX)"])R(9%:G(LBWN+.&;&SV$U.S010[P* P$7&QGR.B8!O'/"A9QI2%AR\B M)2O1S(1*]#I'8$U?!4<<$<,A-4D!]Q4^F3GB#I#3U(BG"SQ*A1>/ M%522I=PW83(:)%29L"G1SV2)7(E1#FE0;I I!8F>_LWP$9R^17 _X4M(G32: M()N-,H4)$"5>2@^',PM8\FO(>(,4,D21 U-8" ]Y>2K)7F2PE-V09)67UKY@ M;S)4;4SPU28,KYEU.2N6M!\)K2\Q7RF/+'IAS.,06D=.A>L>TW?1JL2D.>DNR722BZE[.*E;$LN3J529K2&/4WMF_HY2-F%WZ@5Q1[DI5I#SK'$>R\M M8F9K:!IJI]_LVS6)HF/HZ?U19+6&AJ5J@ZIZ$U]](S/JK3*QO2?JS))I,9+> M)XP*%++R@D'EF>UZR->_X U,W)F@'H\#TTG1C" -SP8OX\Y7_IPB\(*]/XUW MKXL-RQ95:_<2*.XX6CJ8Y^E,'<= M4315NBBXS*L!8]#N-S,*+P=USH,R-S]JQTN4'0/KA1\;G%W\_0>H;Z9\\:FR M]R-6]AYZ!W%^:_ 5BYO7+H&\>RLE'_M>OS0+$7MW-(&] GX[V+)<+6-1@-!L3H42Z>>#Z@?+* M[."&>;O8!?)Z3%Z/[1%VM0X(NPIL?T^@711J[2+M><7\2/+:^>08DW*U6:ZV M=%8Z7*YZK:$QD/V4I%Q=EUQM(64H*UPU(N9-RURBYV]+& MK&:Y&\!AUU%[W;.P(RM*K+HT7Y=[M*$=N>%8 [O^(L+G62F5D.>M-8U^99-C"1 M]0&V+2Z03_D6)O8SEML3X^:(,LH6/!D//XK)IE@I/\%B>+JR42E3=6T1/TR3 M<:8A7F*/^:O$!# . %%MY3>BDYA.7U7D4PA99B!8_S_&G5/6Y,&FI!1Q1BP- MI2 A%@8Y<4>3387_;:52JE.A,+AA\$+)S[?*/CI>4?3QTD-89 MG, ^S/N-N4\D.$ MM[F4\%U2&6F9SBZ5L># *B#FV2DY[5S[!E3"VR@3I,ZS,G]SFDHET#AN#3^I MJ"/;=G^(:A&/T:&\DNHN,REDA+Q2]V#0V>P?[&02 MT/B^FNO RN13**=W@NT+M1.9C"\^::GP #4E/?AM(KHE6%2/B&)?CKZA:L;! MMU?'Z31[H/UP:IMS9P%\]0OE3O+W5REQ^BDDKM<:]@8J'(X5G8D-%;CS(N3X MX8/W5_6][K;O2$[MHZS-1>BJ+3PF]:BJ?FO8'^AJ7ZOJNJB1+63/Z0;@@Z"A MP,ZK=K0(Z#H __7B!W\J ?MKX2+_,">:X/'YPN@Z?D5$"12Z"GL+#[=Y_<42 02AM0P [\'XW9'[IR"W-D0 M/$[2GDX5U^-RA$-^,W'#R \0;ZHR6@0!\AWC!^$C;&2'\(Q?^.6'B\S8=NA[ M,'&8U[/M3FD)B*"ZK;Q/"4K2$+O8#G5E2G$8/TY@ C, 5P1G0_ M%G$N["3E"2]DGA0;1CI;<+H0961'H\G-8IYI\)*[?0GCEL#Q# 4M-'\I>50\ M#@[)F'(%2; S"\-3K<2]@=@/W/LBH.+',/9)A.-9QF^ $S)19X>4[O,JFL,, MG.THRQN.78R+?ABFZ\"6(HTU-3Q6X7_G<4NUI/P/#NU%F]WTIDB4M8B,H&?S5&;#CQ7[PKZ&EMPAN=K6P.>WL, M-7]JQSLSHV]6=6?6ZV^FZI:#:O:@!L?#NG"YX[<3?4<\12N/"/R7U5#-J7WJ MO2].W:GWNN7F?1%WMH,ME[:) MB'PF"<'^[66O: >=UM!0![V#+VC+ZIZS(OR0,G4Y,K6E%4<5,J6UAI;:KS]I M6H/N\2TF0_/ZE?/^X0;0#I'WE8N8&/Q\G9QQ9#[RS0W=T99&S MBG;Y;"R';RQX0 V_.7JDKQH0\1$1?YV@DMH&9FO8:6MFSC*HK9+LVG?+/&2W M+-PM/5^"*7>KIMVR#MFM+LE6GA92[E9-N]4]9+=ZN%MFWDY7U6;+KG]TLAXV4L?'F"\Y&NDEY@=JZB9'O[S,?AUF*^BPXEO[QAN M8K/O;:5WR\90/QY-W)L 7ZD31,5-P(VD K14[>=G[QD&[0>O'Y)NX;G:3JNC MYYA(X;4\$^EQY[RR#YTV547$$W(S7<]7<79(B6RR8.]Y>7 Q>:O5,7*+4\Q5 MRA?R,BL]NX.VT=U,^+G[ZQ??3-S87+S8\*[02:H^/4N2GC:@LN-\_6X;*Y'M@J_VR\*<@D$+IAXLA7NZ9-)+C.?9$LJ<6+N !R_Q&C\RJ+[ M\7<&HWMF9;-+K([9&II==2#;XTI9NS)9VY)B7(.L6> 8=M5^)^_H-U#6CGV_ M<62D_.$'?]Z XS4/_!$+9;._DQYGN!G8B8BVXC 9Z[:&6D_M'EXJ4Q'1L<32 MD=5UA5CJ 98LU;(.UM?'(W*SW.*SJYVXD$U^ZXJ:7."J2 M=$H"]0;X[)) _:#S#=106>6C8:/PCJZ:E?4Z/2U/NI1<*;D-DMQ=K8E])%=K M#0>Z:AQ>0MD(P=VIP<%JFD6%R3OB,6*G3;W=P[2%N1^Z^-.W1%?O/K,T6^'O MRQD58MDZZ5?L1UBA1;3^*^N'S.].CT]8KFDKJ<^9_Y;(<.HF&4Z3A%=T;C^Q MF\> V7_>V&.8W*T]?;%?0]SZ[)+ >JQL0?G5V\KW/A[7L7Q\"""P/F\)<4N= M+/!3,!*["<-0)@&JI;]MW\(>F,F4_N./%>R_CC3U__S5'A;!X\RRV,S]LMB^ MV,&?C-33 QLM A!QEF]18&D%:6Q:0]/8P(.UO9$+OM!G+X1AS?@F;TEH*\HO MXS,LF+>^261K686UJ4'%8$AW50F3;:VDS\5=W"3EDQ\\V%G4? ?1A'6?NO;Z MSNR6ED_N:WJO"[ IGB;4R.)EXD^GKS?^B\<<<+3#14 ]:,+%8^@ZKAV\JLJW MP UGRETHWE.5WR.GK;RAEW]1L54./&.UOT72>.8&3*4;[">CS(HV4(67':8L MYJB^QNY/YMS,L..0&[V2WR_Z;EQ'(PQK4"Y_\"B9B.:@*P=UOH.R.OHY)Y+N MW03BRA-)[V8^# -[<;WWPUTBIA2 M4PT/-21@*'V#JYFMX4#5-?\+S9U?OA?A%/^/NF/ MB39%W&\4C:LB8;-:0[VJ5 DI::<'GI2T4TL:9W#-2QJF'1M2U*2H25$KL")3 ML5L6PM+68P^M1^T,./LO/#%P?9&PK'>H2L;Z)_;4^ICNIFIFOR'5#Q)91T)6 MK2X)9G ;$E$24569WGH'G%Q=EY"Z+DC596+JF"NJ#JR#JY6JK/G;S-36[&P7 MGKY"J2WP/%N9HV$"F^^/*0'FB7DLL*?*U+4?W2D(OZJ\^,&?+ C_\;>^KO7> M BYF<^:%/(W*]AS%7L#:^/!IEGY+@5_Y,U06(2:_1!,W<&[F=@"OVT\!8Y3# MHD2^,F,,S/P(] RF$BL!^VOA!OSMMG(/P\E^=60'@0L#B3\F,G'P,7"X1?#_ M&S)F$':4DS-?!',_I/3 >> _NX@&A9)>(IHX?HX>+.8;*OXC[!A-%R:$&8GX M''A".I7V 7E7G],QOI_:8>B.7>:\>\74143ZPI[&:O@#C'!-SI6NGUW.%:Q? M\LBF_DM;^?ASSD;X<^(SH*#@SU?%<<=CV.=QX,^*'D6)6G:H M@+\:^"\(2?S2Q'YF!#%2(8A+4"!3!? T#]@FTK&3S PV"6.&AGP>B3 ''?8\HKLP-ZW?5&TX5#J6J*#S\=*"-.O >C"QD\ MX66"8@D_$?*'4 +SFF? A/@S +PWR\]I*_SB/+DV?\+T =JR*5V@*[ *^*@0 M4 4('MGP590D7( Y0,1W0ER%$*_ G?;E9Z]UNVW-*IOF5'OZD]FV3*.)@]J< M*"9SLBXR!>7:<[+2%)P&9]_ 0T[0S2!_W#4F^>:*;TXN\_)D2XGR9L?V2V(0 M_D%XO??8_P6T+H5[2[N\1FO84W6C*H*.1E0M2U&4HG@24<2SE8[6TF)HHAAJ MW8.CXQ?$#G@R:V#%;XU$R=;8?>:O2,+ )@OD'>X>R*.HM/L$NX:B&1YV3%JM MH:8.>O*J08*N#.CV/Q"Z!#BC*1?P6W1^4SN\E6S<=_H!RFE4SVEY$D."Z--. M%$C8@YOF.GR;@Q?F&L^\JI/+]%XM94"'[FVS Q)2I*5(UV7&'I PTZ\E)_L4 MHGQ(KDT3*'H^P(.>*6\.;\9S/$7[7'X?.4WC#R9N[W%_IJ_*@I(PP*]B8:0$ M=L24\,6>AZI(.QB]*O-%I/ASRG%0$;DO=N!@SLUH8L-WXUP*>,\/1+9!9FEX M+H]G/S&1/R2RD>"7[3#T1R[=EE'J!#P:!NHI["<\V<,OX&C>S ,0BP#60"': M._@T/!)S,M[#8QT7%L_!#(& 9YLL O\7=65"^,;(G\U@SA%,!U#&E/%T@?D? M-*NV@KDKKL>E$I4 96EPJI\0Q@/F-.9&X(\^PU#\!?S].N=I+$Z"")X\,4Z( MK+*K\,)PH55EXK\HX6(T67H34S;LT0@DE=)D_$"E)Q5^UIW-8;$IKRO]I9CE MC[X&NTL3\4;LL*R,(P.3KLZ).,F'6?RUL .*#R)G$FI$3 3J$A<37?A2@@P M 8:81R_'DZUX/JX*?)>RCO!9_Z-4@N1@2=];^9S;>.N_BA\"LPTV,5'AW52% M#UI#J]/.MX!28!&G.! ^9$3_W.5<>8J#\X%!WRV>8%.XKKQ9>Z[,?]D>X.15*5Z5SK%71:MN5;36T-@7+Y_88X#+DD5, MMZW\L;(6/ &/M#VJU ES0.?FLD?A^=0E%S^"RB_.!G4]962'H+5)1U):7;*R M<_N5:RM\#&JJJ0\C])YN:,E', (7U*L]HB>=E9*Z(YV_+DL1B>)L!W"4/\OX M 9J>EGS__M5^:,?'US+ZX'<641B!0H=U.ZLE*C:1^)$*6GT*@Z(\0H$W?NX1 MH1Z #&L1 D=8!"Y'#ZP96:!T]C_:4T[?-V%,K.*Z1$D\#)??B'.9P09O<[HD MM%E$NN.J.1+GIRZ?T\D ;0;;Q7+&?DF1Z9<9L/*#/SA--*7\S"CNC MHDG)952NY*WR.WU=4]XLP,W$16+HE?CX/^1"AC@@U-;/,?$KKTAQD4\:G>MX M6JBUTUG]\E8\65?>^(_8I(?0RI_ 1XNN-)T?,&HO]YMI>8 8(3P15X[_R\#Q M9I[+'\CG#[,&(T-Y1*<]"/Q'%#,\4K&,874@<-K:OY#-Z/AHFO!2"-M[37YG MO+I]R_,\I( FN<^]HR??><[OZ8._\$UR[KWO&%$+X,B##WSUL8Z1_Y/BY6O* M:HQS*ZO9*B4"M Z6SV2PC-$ )5D2%!"7EW1< =&P!?ZDV4"BX5Z_+P>UVZ & MIJP?N;[ZB?]#9QUWJ[_1@'T+=4_VP7UZ;'^F M<0\Y]@]O:LL3E]\M_ MOZ)40YY%,V@H\+[X'GN-_>0Q3*;R1MIEENOR4HXN+V](Z^B;,X<(4MRT_82 MNHO>VT'P"JNP5UJ[8>#MH6H.JBIT.H,,/BD3IY]6.9G8DDU72B8X2]!_6. 7 MB8/9&A+UC_Y6RH.4AV;*0Y72L,,)837LA+B06IN3UNUL*$)KKC$-,C%RY_94 M>?3WM:1E^>6A]N=^F>N;#]UN98>NK.9M&IQ.5 AA5$5.+Q'5+$2="D]5%=;( M\F]9@]V4);F,(.OG?)9^DCM=V\W5)AV\JUM]MCI8ZYC;*.;CQ&Y^];+5&.RD MBG9P@1$8"1L.&ZLL;'+GL-G!7&Q+0N/2H-$]'!I:DZ AK9&ZHE2--$(R6<OPK^6I0TR;;6L#=\[:N*J:;6&>D?M60=3]C?'&Y0R<6DRL:6S=G6E M#69U6992'J0\U",/6R+(59\0O8:=$#(>)$L;9&G#J>S/&DH;S+XL;;A8.&TQ MW>I*13<'F(H^L [N$"L1U2Q$;3%^ZL*3U6D6GJXB?/9)L'XGK3-66+]EBDH] M.GM0<>)Z1HRT"_2O)6P(-EKGX.QD2P=?LZJF[A(9C4&&=C@RC 8AXRK<[-FL?'H$GXD,9)L7'R*S4.RS8R37O(;6ELNFLGMR&U MS,FW1$.<;&\VB;?V6_NH"73-@J\O<%7CEK81&WEK*0_7ZG. M?'@I_<$-1U/J"9UOK]?M<)&%/6'.721>P^>L--T[ZG17MJ#3MG#)<2[)QJ]B M:U-_4#ZA@FEN[!K:B&Z"]Y[R7XOI*]CK5-)F%G1(5][S_MQW3P&C5IC*&VR3 MN?KJ+[Q+\CO;^Y-ZU-/"V:KRM7W75JD[LC-S/3>, MX+VGZ"+ZF9ILQ3AMU= MP[;RH^#IRCSPGUV'\9::-IX*(>9"P"A#YKGPVDH7<6K&"?_W!$]X0E-_'K@> MS[ZSJ_'? *?Q&B^V#_=V6+V#MML MO@#PWMMS>"=ZW2V+(VT#W]5:PUZGJ \\/ZA$,W@59\][2H_\V+]J[/:H MS&P'FTS#L?6$/>Y+3KY[RLF#.)G6#I/?K,*T7I$2^YST]?[!@MG2T&X :;?. M(GCQ P? EH[': W' .6;5V8'JQI#"=BS/WV&Z>:0B9"WQ<9@O]626] _Y1:8 MK:&^?0M@@'!VP]2HD&HO'E_]^$79>K"8O*VYR67;:]$46@\! V=BA/IA@I8 >W;]1;A!W]"R M_,&FTU#Y!%/TR:PI;\NH_$$SKBZ4QXS2V\/RT/53JBKP;(S^5EW%%P%7>>W4 M<,O\,5_Q_!R-77003C2,9UI2#_4Z:_10HT^'C8Q<7CC@^R"$*X!-/'IVO-IR_88C=U&':L!$+-YR0BH&O.:"B MXS/*C>\9V,\Y U\%WR^%$VNYC@6\CA"6&/Y:AJ![D8\P8*MNI+2RT MW91P6[D#)QU_V9Y.7VD?1O:<6F?_I[35K)NKJ[F\B/&UT'L_C,+WZ<^47COL MM+=5O&"E^ G!EP959LGI6$>:CHE06%(_Q69$F+99&;ON1CXKR%C@H;:$X4.'';W@6?00O8J8'=Z/@PX\,P9/BSG\6 MAEEL:9&1MNJ#A3D)/2N%5VCE($A0&2APOH'1@1-$$62Q*()*&\'JP-^P?-'$ M1KOHKX4+:^@O N6][U'W8))2;!D>@%FC?,=(E_(&ULMA\!B^H<7Q'VZH3UE( M#_?66P >'>-Y4*\++M#9OVS_OA?S^,HB?..'__'=YQ\?[FBTXJPL.ONQRUG; MRHLG-]U6%R&Y*\9?VV,UV,\1@X\<8QWX]'_X\9 _^:G M@H@1R!&(6$CGF(*WU'KG[800]DK_TMZV 6?<8GG&![R@K_LG6_TJ'K=<0]+I MN0A&X$Y25!/6W@T5&(#-/5+X8LG#)&=I;(7;73JR_\4G4_ID >>ZMX,[0:<^ M&%M3.$!0IN!<@9F&C)8A=JRJ4%VEI71CM*02;06NNUDDG3P&KLP!MKY#]BJJ M+AA?2";O,XL-6&'2@A^*T4;&K;'D"%[^4!HRMO&E*8@4G:L9#/HC.(+#-B@& M!4Y;MD7+9[XYB3&RHH,UCE]VBF*D(8&.YJLXBP 7 M8M6BR!LP9)!$< #:<&2L71:QW*76(EZ$_R/V\X&!I66CI7_XLO37^<,K&%)F MH&?!5Z)?9FL@$JXH\(U7LD*9FGJ[9^&UJ,^?<4N> J#X[8OK1),X*R#S17Y1 M?MM)OV(_@OPOHO5?67]\C.BVZ_BGAV:L+%7FOY.$&74.BNSF$33>GS<4<;RU MIR^XQ[\NSPZFMK*:Y1=BZSDZ'M>Q$GP(#EK\!)%;,A7P4S 2NPG#4"8!RNC? MME__PYGV@V+6H"/>HWA[F%1H#XMV>OU=$%]R!/RMOC6R[QEHV2& L;O@P M![WBW'O_;0A6C3\A;ZWVG\I<=JUCG6+@GQP#)[1;L!JGF.,;IG-GV] M0"]<>-[V" .+,&7A>_.THA!>:"O_$B<9.-/)JXG_B8$R/+PH:A:MO^.E) 7N MH3K*XRML>9R98"?!;)& !([4G?<:!X+Q'I\[N?!4 %.%,490ZK$&A:Q^'P1 M8Z$#1SC#?% NF(T^6!\.6.X!PQ\[JYV\]Y*0DV+&Z6APO.(2Q%[7DCLZ5O[U M!P_2C7Q5^?WW]\H;>.$!/0'T17[A+AE%3OS@3[IBX*%P>OV)>7"08[PJF/OD MT\P7\%?(0IX$1_='=.,39TPH]A/BB0-@2XH+_6RY.(RQ):C_+? QGAA^@A/I M7W'ZV_JKT!V",/W>3ND\;>5^$841+!JNX6.1\5>P !0C++D"U::7Y>?;A_EJ M15$G);[+L"DV61SZW&$=-J04E%^.Y4!P'A#9U2B:[: U-(LV=[?)GI/JV!RM MGM@HQ71=7_H:UMBR!2S"X$B\"QE\W)&2+]B600= V,XWIU$RUVF^]^0CB*;\ M\?B2P-/*-6KQ,:12,!#,A-$2W12_,P,-M@@H9#_"%+J(E""=:^SGW.5Q_?0" MO$??@<*A%4+_YBZJ#%-)K:8>B.77[ABPXV0"].I(B61S-Q :_!:/(*6PI6 MCOO(_>ZO/IS?8"XX"Q:+QK.PB-/( Q[RH7#J0WP]MJ17PY8[E4!09/9A- '1 MF )^5F[>* Z4KX<8Z+G*AY)@H!*8-!(:@/C=D"#/0W8;__$V+I]Q/=I?^M); M\7@1/L4HX6I%+OX@?UL$$ >#=M\R,(8HRI'$#XOP8AOP\FO^=:/7'@STPK? M72KYNF64>]*Z06E&VQB8A\A%.:V>',O<+6X.OZ$RO78(=87.JO@+)%.E9MY3*-=JA MCO8-I17XBQ#.VO"70S<]4Z;,SQP\I+"VE2+C"DYM$R%+L^ 01QEB>V07XH>M ML[Z>93,Z/#HC,24Q52NF]F6&6KLN6Y:F27UBDN1#*J=[K)PKNK(UO+R..[M/ M_2)(-+8TY5YQ;'>O*$C9-0:8%:\.-*TB_MLR\MW$AE52MJY%MK8T-*]"MK D M6^WT\K>Z4K;6VT17)%@7*%5;Z-BKD"H+,S353F==&5P]VR-E2LK4B61J2]NT M*F2JVQJ:JC4XF&6M=I$Z4B_YD[N6*0[52ATWW2.NB-=G M;^3/6$I>6$19.,#D'5//"5,NU"O9+,\%*CEOH2JH8-Z3;DBH7 Y4N&YJKR"=0L+F;&&S MH_UU"&SZ")M!$TZA8T?#J&+N5-:9"(:IBL>BY1J^(^?)BJ(Z S;,\1=8HANV=E,4F*EQ%86["TKL5H'[86. MF;<7I,26G)W,IC]\82Y"8LN%X$M++-[I::I6$%"H060O)0U?BJP4V4EO,?**V0"9)9PWE$DU@ M^:VXY'J%_)-:&/*]1$(FP7:<)U'*<'+Y*>T9(5I+ +>ZO 13@"/ MA:&*C?X1"\X1JW=1'LR M8KL4#> 5%(/H%5F2YRP@>] C9DK/$3W-^%JF=@9\E]KCP"+Y,R33Q*,3^\EE MOQ\S^XI&.IPNN'*%XC.S:73&M[B77^J8$6E3'*0'!."CJ>W.0F(E?V'3*1FN'K;BPN:3'%.P.(*OW4D^CAH'ULI9 M Q>L@L8,&0FAW4+0>DE/44] MOD=/"TE_.DC;BP.A)A:/% M!'RPW3]U+IR0&R-QQ5&N#=/9D1FU\:1RYTSWV6L8W>?9;/H>!(RUZ(:CL!+" M0XX?V7_'X 3RR':UIVCF2D["TU/17.;%D+GY8NCCSXB"W2L&W!VW3\O>$^EX MM=M7S>X9\Q,>297M5\1S$FW%&WJ$26A'N$6>$R>-AK*HYYA)^A0FGT3,\((/!%,G)<(JJ MG\W&P#<1KBVM4(BSV.H;AX_+>X7Q3W M<7CO8C^)3LB\XV-D8ZM'^&KQ79VX3F+A8IHD:HW=G\RYF<.R8$OT"$9L3^'' MYO/I:^ZI2LBO\-.[5+SX!VP&[JZ7_N*9R@B08./-D!U$83R6$NE)8L%,O=W# M2Y*YS[L%W]*\W6>6WHW\??G^1D"[DW[%?@RQE_#ZKZR'" ^-'A\AFKFR5)G_ M3H(TIOO$;AX#9O]Y8X]AG+?V],5^#5%&LK.#J:VL9OF%V"HKXW$=*\&' /K1 MYRD!MW19CY^"D=A-&(8R"?!<^-OV5+A>:T@7DB@,F#+%LX3L8=%.KT^/VI@( MU0SMMJ0?OK (;YJ%=J#4#*[6>+-9-_PSS>!(;^JC"1Q>3Y-$#RD>>_(CEQ:# M=))O4\KC!E69-,?E*99GE9WQ^VJ_X'-*PMC>Q/FTG9N[NG5(YV8X8L$@&2W" M,-.R=N- M82.YGL%FXJQ:1,;#NT]&5X3!+ASRW0VMIBMIZMX$M.$SO]C!GPSVX8?]4^%R MJKSY^N7'^U\4T.Y>R*=^5AC\P'.A>._V$>;^_K4 2Y<%HGKC;O$$0XO;X8'J M6PNPS KD@+:$M,]?/RW%X&$28EUA6?FJ/H"V C@O>9DW,#[T-%_ MPM9BL5. MBD6P3,"URD,1MRB[0]2T/>2_@3*E9OT-^$ MQPJ)#3K]D7^5IA"@(>=P]>T3*^\;3@_WRQ(125O)['(T<8/535YWS%&O=44\\ZQIV$^U0YO!M!OMS MQ)A#"\' (!4YFJ[WS$)*QQ1?HIQ*AS*)DY4:+8( #=9I6C01^]BPNQ1\(1=? M!$*5<,(89C=C81?!B6)+W.H5/Y0)(H!WARF=Z,$J$>A=8;[ ..TY'GYT8MIQ MUB'4X;O_7GA" MYN/\=?&13 *[$@=TDF5,]<.2(L*QT%3QNW-N!P6TEIB#C)^*+9WY(@!_BH5D M=XN1I4GP$W^*1E$XP?1B=T2_#2^/P;6-D8U04D5= 0K[: K+XHY=7$)$/(S# MI;QD>LS6M6HK=\OA*3H]Q;:Q3+%#1NA0$S[;8-"!XWR3#:QR]\C$%#'^) MGDU%+()E/98_-Q9EF,]38,_0>G<4SX]$=G1J,"9/YU\1/_(_18' ]!67%H]Z M?^:.^)HF\,%(2KJ/.+TP_N?:P1[X!H;O*>D[Y' M-<.K75ZQ0L6FF.4K"@-NGK\(P0M\XDG\*)E"CXU AG.(1 M+3%_+GXCF](_ YLQPG(QQYYA@$7)5$<$;#ZU1RP)^9"LB9G.[9#K^3F&6L4.&!-GF#+*"WW$QW:6PT9 &O#V 0P2GDC;T74.&EH8G#K5?<#Z/[J1 M*+6BD ?:#Z#JZ6.D7&U8L>ZP96VKF4RW!_15$"0_6W/'?^^$3>>,W%,/= M;LQ2Z]7H@/7:*2A"XT9Z8L.^KJX ;!";)*_NZ'RAT8&EC5\K @>RH ^5P$M,Z\XAWVP" M@%5D/EG%62F>^<\?WU9^Q^-I^4'\NRL_)<;&G/3+\=&=_25[/F<4\8 G_M<"=IR/#&?- MW^+['CPM\/1FL/9\-.\!T/ /S[7%[P%@[N@+((@/W /&?^-%$E,^N-PT4.&O M9] UL+P/:%VJ6(/$)](3D0SZZ0U/7YG8OQ<.OV82Q^O**B2/1SH4*I= F ^/N)OGI^"178XUF$WAQ2"4%I;\EDB1R7C[YP>^H MV5)QV3$-)B,6&G:9:Z]C%A1B0?MS-P_<:;H_!39;O!+) HQQ\2>)=PP?&[LX MA#3LF_B)PBO<8[$&Y;4*)B267BF]-1P4!.96%HJ+%IQS6'#H10*>*4=&(H4Q M.N"PQ->3NE%1J!BNW%RL,PF\EI$L])$9-2Q*R4^X([LC*,)GS"!+VT!+=WWP-0H=Q3_Q"Z_>]R@M2I"7/-JA8)L( MB)_,!VN6VW[,#F@N,&IOZ2W[!2-2,;8F117Q7126)GYRZ?RU<4)"O&;(+ M/PE/Y6)9\6C$)$(R%&CHZ&Y39(*X#C:,7L3/5!$]51R?HF@QGPOQ""3\)R+P MZ;%,W-.-N+$O8H*@[U^8(_AAQH@9[I7 R<9G#-,5!U,2(%D3@TVB"4L/0H.+ M3A=OJ+P3&$H+@W 48@D/:6(V/NA:&%DGCL;HB@TNG\3B7UI;O MA!4$%LUCPN@!6IAG=$A.#\GI<1).CV*_)IL,6ZX$SNBVAEVU;^9S^R2IQSEW MYLT$UL#?';Y%@X&N G&0.T.\F2W^]6QGK6@ M'MBI\82"*N)>DB#C% 09VX3S ^/"F=[SEA;3OA#3_+VN9,MHKH1F/ 'F.0?Z M )(Z0U)GG(8ZHW+/8< ]AX,[O5T^=\;RA443DBKZYYI4T=\SJ2+R1W]B308+ MPH]_+=SH%0N+-[6,,3OY.T&ST]#TBHD=,#&[_ZGP^>V53D$3;/HUYQ\BTP!& MB44"CJ@SQOAP-8_O$98*DO9,C8J.-U1)OMDXOF\LH(W< M.,Y,F6JV)Y(853+2^%GO[7"RU#PMK4LU]=:PT^[EU3>:-TJ(W_XER4!U@S!: MN@A>2D+MJI1^9XO:IW1C:)_*IEINR6\OOR\&[>JXMZTD1-T&Z]*CPW=WGE[(2-,'/R9$\:\7-X&"V= M*NIRC<3,C424&)<:5DG4U'B;K,5NR^*%*G(8JEHO3B[RCU%)EQ8QX+]): E&-D2V2%R7Q-"XU^6+< MU&WIJP7%"2B2O*IN"JX[6CDQ8]F""CN2->%IL[PXO6!"]C1B@4YT4?ISDIR\G)OP5X^"0+IM[\>IF[D$HI8L=MJ=XOH3DA)^()RR3XX2K4RW)Q(.D:JC@7 MQ :\LI )-8.%+O$K@B '_4XG=6F$$87.=ES((AZ*!\@C2PMW@QFO7L'L03Q] M^(GOS_E)_@;&D/ZV[TU??U&S2I1_6CR::\"5]_#P$LHPVUB5GUWX9JI9I].T MC2V^2ZN$:A:-7DY@C"PW=,8AC1#R.83"#% 8MJ6,4TC&MAO$A_\S&K$K181) M&8P8?[3$=23*P!?>%"V )1:DI*C7%1U#'5A.?/6K'3KV7PH9C8+N#C^#%3(^ M;"PO5>"&"O$ \"Z==DP$L#(96!U8##&EXOGP_9NA$X"54U1R"O]+U@0-E]>I M8 'H+!D.#N6@FI5$Q.J#O4C++Y0288?P1D"[/<@>/(LL_*[1[FMZT[+PK7:OF8/J;GS4 MN69:[);53KJLOGYCAZU3L]IX)CI-KMFN:Q:?AXHX$!4Z$14\$A4\$Q4Z%,LT MP3UB#U,Z'HZ<>_*]M"$:+UY5 ^VB![1UI 5UGKCR-T:[X%S#TY^7 K[1?EEQ MZ$^0;GE87<=YI"JM"Q&;VT+$^YK#/ 'B,]'N\:MBC G]F-A>H:%<]C;!POOD M7E_5.@>W#3I=T82L3I+523OD&*[-26F,]&YU_$6S M.S\!VWBV-T7*]CK;NW"V6^V"%N>G$;2"DH!+#/,:[9YN5A(&'9CM3N^@,&CS M(E)KJA>U,M0E>]AQ\2-JO:79;:[?8RK?;!-404$JXDK\:E+D"$U?*;%$0=9< MQ5:61HL]EV[IQE&G)DKV[%"FJCRQZ8 M-4'"YZGPB]BJD-*\L.L6-:#AR1A.G+,@ZGTIASNS^:*K$Z6@C28NH^8=#AM3 M4F;V@T\^X=+ =E A&R6R+P%,H!0TU'4M[*%(OD<5LP7W/]"M)FZ>D M$&2MICKG_MT_* &;YE=T61]3W&>[2ZUEP*9^"U7T>MML^A;D;&-NGM$NJ*Y* M.E!Z)3M_=*L:F8X=Z#;TQDPZA^'YN&/V@[>^K .;>RTWZ<54+RO:?!YX<"/1+2)D6!L7%T)@./$]Z.JQ\O$G&RU(L]XCY3\+*&5LE4^9TO\SCTCR MZ]<7ILV1"CEN$3,:L2GCS8XR&=)QQF&V[&P1Z_]-F7\;L_LP.>T9^U&!@(DD MIH+.(C"?F>]0?RG!#YY9NJ6N>FDCP+4I4WLW&K$Z^XC-#K&%;U/;^Y*9W^=T M&MDG88YPV:8E7:NX9^=RTR-G73O3U5K9I*U)DD^:)(0MI4'FVT!0C_LNA[0)[T2O7CHXA07!0=+KRWE[?.H&.AM5-$C\93'I3:X(D:62SE. MFP^3:?+3G?&61INSTO%F_TA[PJ/\G_S@>]JP5\NW5X>#%:-SZ;[T\#CNK+JU MO+DR[X+!MV7Y7!4A&['4>R5YET;[2IY$A>;.UJN4_Z9YQEY,,V*E& M>@/:&UC^9IYK^9O6V:_^[3,U?_]A_]S$7-0=Y"N\NH-F%;=9O+:-ST>!";'] M^C_1O)I^B/Z!%6/4:H=FBTW8>?0O,;?_U7YH*V/F4'7TOT$SA=ASCIRTN-,P M?80J4^G,@!U?^2B<%>]MSW9L57D7V/]QI]FB:.I8Q%O)KWZ-O-\'-H^2?K8K M7O4+%;U'O#,Y>23X[F?^Q"EX!\\,D*:(TX$WM,- .W;_M9>GQG[:<4=[BFJD M;A'ODHKUO*(?'U5WXV&VJ/1]-/3-? M%I^1ER%+\V5BZ"$FT_T<^F#NDDQ(#N1]_%,-X1Z-(/LOB#Q7= MD_0ZK:&A%1SZ?U]F]"HYA^Y1Y\![[^:C,W]/,!K"[\?6\!3[HR>5NP)PD=5(S5)"#FI3A? =UZ._/$F-..NE\Z8:YHOPZ M7.^H4S (=TCJ5>6MJ@EZORC&>+\WUD M'AMC]+[J4,._,K\$._Y._$Z!;]0#1\-J#S;<':T/DV0Q76KT6QS'$J.W\.9K M?2]I'#UOZZ[%7%M\\6[2XS<8SUV\19P'#6DSA7V#UWH'%^^;^W;MW=[\06D,8.2T",CC9 M+XFU[Y%E^X"&*AEO4>"#M4P,-6 ^8[M/\/]?>:X"&KC$(S$CZC 6QLDD(HX/ MBQK!HB;F3O:*9XGD@OITAL(<=F&9*;\0-%+_Y3^&.*VV M\K_9:\82XS_->[+/F..BTN*[*RZZ'-ASV+$1-6(G<.'C'/ 5IOZL6-,+^SAYF-P")*6/*F_B] MC]\>?KD"%A+3:NNFU33"#ZW=U09R4$<>E-&OIE !![6EYF''K/$=NY(6?FS0 MX+*'8B*.'Q1[^\+C(!_1R#FT@>OYK<%7# 6M70+9M;>4?.Q+M](L1.S1TG>G MB5_5XL59KD< U_DM3A7(.AA6Y[=LA9@Z-C64L+>;4E?\E46)6R%[84NVF7HZ MVEF;.]H!"/E]S>]^&)9M!=##?*>N:IGYL'X#26"D6$FQJDRLNG6*U0 K+]5! M7XK5EO%?JTQ=H$!MZ2Q]D$#U,46GIUK:NO*C>C9&2I.4IA-)4Z].:=):P[ZN M6MU\(7#3I$EXF"LU=!K=UIV*XUE^_T*^OV_XH@C49G/U+%TO%]U_4D:&]C9? M,Q5W9A.MVM(R[:JC'#N1.A:L^L61.FYQ\EJVA9N2;R4LTG3N:MEBF]:"ICX;#P5:#1%/CT+3%'*T'30/0 M36:^LO:$Y/T5A4EICU9MT*7RIT%!=YD3(>7#^M*1'4.G1%KI(S$:EL4U,JQZ MOT ^( MMC9/Q.:&C!4PT]CPG]G!GRP2G\B6J^]4Y%>;;Y[!EP&;Z?@++%2_"E-JBWU_ M!QL<[^\#&RT"%[E^/@H$?0( O4\Y!?*D#7=$0E"D(NAR\N"NV*7W[PP"15<, MQBUV?6U@M%K#@W.FKPN*EXW#+=9\;3CL'D!PRW6/&UP1 O_:J*J]>( MPHI"[HUN=_\Q9XJO4#!5'@V7WS^_[U?DQ>[3P'69IT^OEY5O4^K^ 6*QX9@Z M^%:W,2& FMO6GV1.^_2L7W)X]6U,C2)!,CX9^ZUAI]T[[9TSKG0U-I@$]Z6! MNWL(N+%-^&[(2BG?N*]IN19GL!-;Y!S$J?'U>.U'UP#=8867-'4+L>"*^>>"'2EHJ^3 M@U+5O?M1;#@)[RN"=SD')0=OHQH7Y9+AW7SC;2^$GY/Q5LY%R8'<)"2OE_O MI ?VA!5@W]D1%\<38>L)^_?LH1_XF$9@X:%&FQRLLL@#3N239CPMM;P6Z-(P;Y=_@R5 M'YR,V%8QP'=&8;;#]9Q:/0H2CY"W3 ]Y8T&'.6K\/JX&_ GOA:*6\MD.7O$! M0=(,&R9)L_)&V6[?X6HJR:;6@$)N3;W=PR3WN''V+37Z=)]9VG3K[\MJ1[3L MZJ1?L1]#'TV!M5]9KZEXVX?C*RHL]5I:JLQ_)PGQYMQ^8C>/ ;/_O+'',,Y; M>_IBOX9H761G!U-;6$$_S%=@/)9S)07 )7_ MHBJC!37\?;&G4Q4&[8/H!/"3]"V84T '1O@:8LMPWD@R;34.QPH<=#=PE+A. M4KKOA6!@TYFT<^=F*0R7( P/PCXYE1B<:!%.+/S8I/HI($&'G9AX&-A(3$6R M$/^-E7KP&S;G45&%0F!3[ D;@@(357^)?1GY0J6D&B6C4%31Y9V^J=A+$,@H M$_J4'TU8 %_]Q]]T0WMK.^PF;@H?:Q2I3*0R*5(FOTWM4&J2H\YZM(A 8418 MLPO_._)MX7=F3(D)?/XFZTD^X38E_:5'(%I^;%K0=TD3Y&4=V]BO"OOCPITB M($,IZ1+A20L8%6BB(LRC9##\$(9LT/Q' M--L8B2NL M]S94WG^\5]R0TQ),7#;.!#0QHA>BM3*S_P33XLW[^P]??BD)FCM<+1BP[84W MJZ,>$'_#]F&WZQ>>#>L%DU86D3N%[X6*QR(EM*?"T[,=W$K Y\=WGW]\N$-C MSL:P8!B'(7.10%S)9%WA(8_^(J*U![3ZHX01(MT#_-+(GA-*04+\18 "_/@* M;]C3U_]0W)%AF"X.,M*IXCD"L2@H^.,AYYD839*1P1'"8XGPBS!N&"4;V:$X MAB8N>J=DWF9F<%98_QKOE)INT\@/B;UY]?6'W_YAS^9O[S(O<6O:I79&RAOV M<\Z\D/T"&H/-8:%D_TG?0%WD^\%[=\*1%!_,1'[CPK$L6%W 9K6 MN+L ?>>[@(*+%[J5@1T,,;#M*(]P#KVTDSO!5+I!(SIL#*!"/N_,Z_SX&3%R MO1)9XF<#U0&'\*O/S%LP)?:^0+CH&(D_C&&>D \Q;"M_,#',[(]G/\ZF[LSU M^/D&/SBWT?\$LPX>*XAE$$('#-XJ83^'/+VB#& _DCGN0K*9.Q+O\P? MF!TN#U3]%!^.5P&.V#D&AAG)%QXE=D3K[/E1K-=P'>$?R8I-T03(SI[/8>&E MGU]]+/S2^^0E',@]BNB*3BIWU3V:,&E=JAT$5)-K%4@5:A)7ZU*X3['8V#VM+^<:.M>R;*4!ZN<\5 M) 'RN]_:\^4&V]S8#K?$ \:4+_"Y2:A\])!-[:O_S-"04/2!JN@=W5K*8-MQ M&4^5_-B+9TW/ND7SWAWMD#;XYC-8ZQ-_ ?Z4LQ.'VZ[Y"S_0+RQS;AY.&=O4 M.H,D7E1UWX-J5N[RZC2NJ7&Z9FVA./S.@T:<1 XS@4;1'VXT>4^7?"S@)'.P M)G<47F;.#_MG29;HGH9U3KJIZN;!_:7.@;5[9V,I-1)J6N&U)FGE[I>:VCIZJ!_<$/< MM[L&L^.?22JBIDO(YFXKA'12G76(7EZZL(-NORD=="5Z*D//ECXZ!RONL?N3.3?_88%?@"J]PU/> M-?VM1-:E(6M+2Y(CF 2ZUAJ::O=PBUZ"JVG@ZI]4;>F7K+:JO'"^LJKD(E(K)=HJ>OG>%Y?^5_^;X3WGE. M7"'UX$^=&%NE=<2@->P/0$7D6P?EJOK.*>YY[2A:XX#6A"*C RCJJCU3HNBB M4+3&9ZP+11I9XT9'HNBB4+3&SZL+13I:O6JOH,',6:-(WN15A<@U.59UX=%H M#?6NJ>K=!JBU$_1D/9V;%;.IG9F'I1_B8544D+Q@Z=_L83VP*3S_Z3?FL<"> M@@JXWKK !%V@J8-._@9_=U70G/Y^$E$[>%LU(\IJ#0=J MQ\@'L"6@SAA0FQROF@'5Q7MCU>A)%751B-KDA-6,J!ZJ**V@>_-9 ^K(EV@7 M#,Y-_EC-T.RWAE9'M;1\1L+1L7FD&S#>,?ZD?AFGM!94UBJE3IZ7AV;(.[!3 M)'220B"RY:^^ES#3?R9J](V*8&/^OS&XY/S_*T?2)L>L.AAGDIP\02\34G=Y8D^Z156SR[FL?7ZM:+68T0XL=Z9J+^U*G M8E/=:[)A\R&P-]3AG]@R"*S+_M&*DRS-334;K>JTHDF1=*N M'%*;?)1RD,JCQFH-^YV!Q,RE86;3_5"M:JB+:LCH24A='*0VN2NU0JJ'D!IH M555.-PE2\HZH(GANNB*J%9Q]<&@TM5<9#>&9W!*="A-WRPTAJV89W/8=4=\F MNA8:L#^.O\ >B%3C=G74IU6NRD6HHFM>+R8=$%:-OT@?_OMB^M$$X1,N\-A M(P*EXI?%VVUXZ]?\ZT:O;5C%;W7:6LG7C;Y9ZAOK!J5UVM; NN1!64:Y-;_> ME=IA4#6]W.<*SO=F-3R?!(PI7^!SDU#YZ#G, M4;[ZSVSVR +%Z*B*WM'-,OW03WV_TXMG3<^Z=2/XG=$NR8N?/26:^(O0]IPP MER>X/U[V:@/?*(3Y=N77[K>I M')8=8C>&84_?(];"IBM&7^UH566CGC[&*L5.BMU&L:N[P^<.8D>-9@%UH)0Z*747*75U]X7=0>JP.,4H)"^[0*D[ MRC6^E."KD> &&*O8 LG45,,\./?NXEH@'1DXE&V1:Y=;=87/3N5R9TGS4>[H MK*-9=5ZZ!JVA7E4!2I/2V*X;/+VZ&RIO9#+J2A:URT76Z?LB=[')D-K1JZJP MD>!J#+CJ[G"\66U) K9K)6 KA](U]0O'5($&J4"S*2KPV$V)C@P/OJCK_DL9 M"THU?I'L1GZ 7)Z^7W,WOM VKN)"6T)R&R1/GV/1O:[+7@G);9 \?4BWVVT- M>QU5-Z[K2D8B<@TB3W\UWY67A$<@M[M.=)_^"KQ+5VA=U1A4Q3U\.5=H)VVC M-/+#2/''W%\\LPY*FNR@5'+;RW4K6>?-UM3CNHML=)T.Z(@&]+B6,*H.1L=M ME=[KM(9]4S4[#6@A(5%4'8K6.(UUH4@CXHV.D2?>D"@Z8Q2MZJ78&^=S+LVZI?NV(.ETC])[%*6H[ED34)2%JDXU2,Z*Z M1&7>Z>+IHA;\%.D=)93P?VWN"2"P"N'$F;/+/*D=27 M%7#GA*1#7;(0!@]_[86I/':TUO 0 UD"IFFJ9Y/#5;WJD55L\NYK'U>K6B5F M-$*)77A=6N)'.9GF)XKM.8J=:7]RRD*T\Q*@ZGR3.CM:]TUJMVY4E=18K>&@7U4-F,1,8S"S*69:JQKJHAKJ=*NJ=)60:@RD-CDLM4*J MUQKJJMF]1"TE+XDJ@N?)]%V?KL--\^!N@.=U371RY^;CN\\_/MQ533.X[3M7 MQVY:;MX7H4HV^W#';#7:Q_*KGFKV*VXPWLQFPU+VI.QM=G:/*7N##GC&ZF"0 M3YR4HB=%[R)%;Y,-?531TY O2]7Z55$02]D[/12E[.T=7#FJ[.FM85_M&E=A M<589AI%B+,6X,0>HT1J: U4?'!R4JEV*1;@J'D&\]!;(Z#KAVU&2=_Q89FH& MC-_Q%X]35JI3K_RANG^HIE[(6P=-X/PULN$322HWEZ>OBQFHDQ'_-RH!UUN0 MR%+J_ J:3;W=PX3Q?#;YB^M$DUC19+[(Y>.VDW[%?@2A6T3KOS*S@R?7HWEU MBQHY'U5SZC@ZK;^2!9_Y[R1((?#$;AX#9O]Y8X]AG+?V],5^#7'YL[.#J:VL M9OF%0&7JCE_7K\1X7,=*\"& MO8#@L@MZ%<6\%*!?]I-&(8R"? ^YO+S&Y/ M[7UY7:T M"K-%[^4^5^#3\4.Y=B=GL'(P] I]G*_PBO(%/C8)E8]P*CC*5_^9S1Y9H.@# M5=$[NK7D,>RXBJ=R97OQI.E9MVX$OS/:)5/ZLZ=$$W\1VIX3YK*2*[&3-WM/ MC07(73":N!$;18O GBI?&*SH3ITLMD[\RE8N)HR2:U=^[7Z;VJ%M*@_T]!=G4NRDV&T2NW[=[81W$#L+Q$[35:VRX@ I M=J='H12[C6)W^E[+@R[VAS?4OG%P=J04N\:@4(K=1K&KNPOU#F+7:PTUTU"[ M^L&)D><@=D?)SI(B?#TB?'H!QF)!M6,9JE' ]M\T$;[P2D)*P:NF/[=DN]IZ M>AHU"%]>O@9@E^K]"V2XNG+TU-W#?1-W6K\C:1LO%UDG;\7>[V"UDZZ:O8-# M6!)=34-7W5W5-^LMR?EXK9R/Y5!Z\D[K_8Y!.K [.-@KJ@BI%TX1R1=UW7\I M<4&IQC6JB%?K*IO$]T_>)+[?$??:@\%57+!)2&Z#Y,E3+?J=Z[KSE9#< LG! MR=,0^AV\#]6ZJM')LUM+2%XA)$]^U=#OR+O"8Q!J7B>\3WX5WN_PF[1N5^WT M#H[W7]Q-VDF[MXW\,,+R8/(9SZQQFR8;MY7<]G)-DM9YM,20\AZ = M\,YSXE*I!W_J[,F#TN_@?6"_I^I:7D?(UDEG#*,U7FA-,-(Z *,N)FTZ%6& MR./BT6@-^U@,4!#\NOC6;B?UM!Y^^X<]F[^].S,G2S_$R;K*/CT5.ED/; K/ M?_J->2RPI\@WZ>+J(VN5\V(P@YUNFKHA]C/$E&-0]0FJ[=F1&&#NI[:-P[Q MZQN(J"/?I5TR.D^'3;PHZVJJI>6S98X.SB/=@X$7Z=2#N5Y M.6F&O D[16HG:81[!,]7W_/G#'6 ]_39&_FSS9I@8R6 -KCD2H K1](FWZQR M).FR%NZ45=>XK*^;K:&F MJ;I>%3M.D\)I5XZI37Y*K9BR6D-=[?4EI"X-4ALOD6J%5)=Z@_>J*JV1D&H, MI#9Y-+5"JL=//JNJHM8F84I>)%6%SU.AL]\:&I:J&TTY1"^X MR2<*)4JIEE)=GXM^3*DVL. .C.'#29*E5$NIOG*IWA@E.:I4:^!$=%5K4!5! MLY1J*=57*]6;0@%'E6H=Z=A4F(*4ZBH#7E)#2 U15ZCPJ/H!J7T-2QT4U-N< MEX*@F..OD0T_%6=%PW_BX<[LX,GUZ'>[RP*%Z^:.7V'[Z+O)_/A 86Y3>QZR MV_B/M[$R<#U" 'WIK7B\F'1![C;]('_[[8OK1!/$3+O#<2,BI>*7Q=MM>.O7 M_.M&KVU8Q6]UVEK)UXV^6>H;ZP:E==K6P+KD05E&N36_WI7:85 U',1;)]CM M;![6EBN+'>V)S7>WO=SG"@[X1C5)_PJO*%_@8Y-0^>@YS%&^^L]L]L@"Q>BH MBM[1S3(MU$]]O].+)TW/NG4C^)W1+@F.GSTEFOB+T/:<,)=+N#]<]NH"W.&))9>T"]3!H\RY>3@I;E-#"%_K:E]2S'%#LI=MK@]-U2 M#6RUHW?5;@']K10[*787*79UMY'=0>QZK6'/5'5#OP:I.\H]OI3@JY'@TS?8 M-7B_),U2C<,3=2ZN7]*1H4,)%]6TUY4<-5L/SSJ$+R]?@]9P38CB:ZS1I?>J;LG\F:])8G:KI6H MK1Q*3]\FV32X#AQ456DH:=TVXH,OZKK_4MJ"4HUG)/N7'R"8IV_P;(I;;:M; M%2'.>40<)2370/+TB1;F==WX2DAN@^3IDQ!,O TU>VK';'Y05T+R") \_06] M*6\*CT!Q=YWH/OT]N,GOT0Q+[1WN,E[FDWI:#[_]PY[-W]Z=F9.E'^)D767KC J=K'J[ M7%LFZ )#[?4..9L:V#CCVA&UR=^J&5%XV6>JAIZ_6)&(.F-$;7*]:D94EXA2 M>YU#8D(248U#U"8OK&9$8<\H7>T;A[0C;2"BCGR7=L'HW.21U8Q-O"BS=+5K M-$#='>D>#+R04[MF/K8U5ESJ9:Q2!N5Y^6B&O @[16)G/0W;K<$EUP%<.9(V MN6:5(ZDK*^$N%TF;7+)=D91'#%YZ:55UA9-H:0Q:-KE;U>L=6LY=I=] :=@W5L@[F)*EPDT\41912+:6Z/@_]F%+= MPS([0QUH4JJE5$NIKC%([LP.GER/ M?K>[+%"X;N[X%;:/OIO,CP\4YC:UYR&[C?]X&RL#UR,$T)?>BL>+21>D;-,/ M\K??OKA.-$',M#L<-R)2*GY9O-V&MW[-OVZT>[I9^$ZGK16^ONY) [/=Z74W M/FI+''??=/_X^YG/\V[0%[AON+$=$;_/$_RADY MRTK,*LU?(+11-]5&9FL(V,MI(@5681HG&)4<9+_R06*E:]MD>W5'KVOKLXJ'R!NKB+5I6[J'4J'R36 AKM M?/U[Y=L(9_E.N]A6JA5/3:M\S?I;Q!.&S$NI]MEBO?+A#F"+-^TP#%?L77:S MES=W61AQ6MOVT^C0?IK+>&@KGTH\24D?8E<+"J/J5>YW2OK&FEGY$#3$95XC MEY9M@8:V\F/" !1\Z;&W0JC8 8-1AZ/ ?83ON9[R%#!X1 O1K8[Q5=P<\$^ M][V1.Q4)L8]LZK^T"TR,_2TK;BD56QM'-I[T7&'JA9M-"9%/K#;VE4)K@PC< MI8#\GE5%( ^?9W/;#1"0*"=AD2CH* IY^L-#SMYN;8-%Y[.=3UHY4TM*VV0/ M'[90F'==\:YNLHL/&RS8Q]UV/D.\"89590*\R6@^;/7(>-Y@M)3?:GV3\7S8 M8'N["W#AUC;(O,I 8R](Z)O,[<-6N5_2PM(WF=*'#66 Z,S+]D5:6N<2PRK! M 7%)QEB>NF,_R=UDBSVP*)HRQ.7]&$;^Q0[^9%'XP_[Y/F".&_T(;"_D/U$@ M+ /,DZDTFK5)Q1PV5 W/['P)3M95_OKEQWOER78]$KTG#[;,V4-_IZ;6DOXN M+[G[W=W5]]#ENP=<2=P\UUO8J8IU!G@TFN33X^[)$BBN' M3OH5^S'TIXMH_5?6WX54KL&VWYSI.#IML++]F?].@E1Y/;&;1S@,_KRQQS#. M6WOZ8K^&N '9V<'45E:S_$)L56[C<1TKP8< (NX'!)';!0A0P*E^_FDW81@* MR#FHHK^YS.SV-,<://8-S>RR_N/CP.KKW7ZG,V*C_EC[?V :_J +-5 =V%T& MS_9__FH/BW9Z13*$5NIIQHW>6OMNIWMC5K:?=2$;S!O0D5.P3=#JY3>,Z8N\#.VTM?[F*\S=7[>,XA\I>Z^J66U3+_>H,QN4T:_F!KJY@]J*J6;; M(Y7\](XI5!L_-M@_HEUY%L]@16'W"MV+'V3(?N'VZT>T7TO$N"]D#;ZB"5]R M"6J%X*GRX'KQTBTO^&6,4_B($AR@L5]$@KFNER\7O?.PQ>^^J>0#O36T.JK9R5]>-JW/KY0Q M*6.5R%CYXLT#9:",8;*58:D#70J9%+(K$;+N ML87,JJSN\$1"=B37][R8T=[[P1POC7DJ"%%Y*X*Y.ZR:)BWY_L51J9=KJ+;1 MT4LV!,25MB/>C=("VVT-^VK'N+!FUM>.G4T.3'78Z1%VM'R%CL3.&6-GDV%> M'7:P+U[OP+9X$CR- \\F@[,Z\& %:%<=]/+L-PT!SW$O4/:U(D_1HC&^*\E4 M#=S$Q018"AN>6:?&$DP3DAF^0C-X$=X\V?;\]MTBA%\(P_?^[-'U.&E.MA2& MD+5<]Y(HDD$'4_FM?-W+6;<-OG; K+%]]P%,J6-IT,%>>ZIAY$,?$D]GC*%IC(A\!3T;#]=-YQ%Y/:34O5UN?H[VLR\[F)[67 MEXK#]U,C)O9,,CN'J!$9N6D<;K:8S46XR4,#K__T/$6-O4,XN]I!^:EF1^R/+/ ?9!?PYEGPV4TI MK3'[U.G;T@Y1F3*FU#C(;#'>#X(,7K9JJF8 M:EI2RUP49+88] =!1@/(=-3>X)"4#AF@2'(LR!E!=L6JL M,0@Y]W.&?&3>TV="4&G-H6,00#,/KNJ1$:2FH6>+5;L=/6/W)W-N_L,"OP@X M1@L@TM#-$(<%7W_-CJ2RMS;O@@*JZGB?+;HC_*0%40V"T M2@!ATPRU8\HPZ44!:(LA626 ^CS0;C8V!"815$/4M$H$#3 4TFWN3@JU,)GL:!9ZL960UX=%X8+]%S6>C9:D)6@QX#S,>>JG %ZNQG[W MP]*% +I)YYYEYJD<#F(=/&CCFDW\*2552NI^CLYADFI1K=>@+R552JJ4U'JS M7 Z3U"XE<5M:Q4R^4E*EI%Z?I&[QX ^35.1AU56KFX_Z7(*D5M:[^R);Y;9[ M>C4-4@=FN]/;W""UIK:.F7W)?*7RIN7]W2)S)0@=-TQ8P*AV9;7;I.[6DFVZ MWFBZ<)CX5_Q>Y"L^@AE^/;Z3I(\N@H"_Z_Y_]MZUR5$DUQ_^*D3MS#XU$13- M_5*]IR)J>WHF.OZG+V>Z-^;E!K;39;8Q> %7=K&SU>:6 M*?VDE)1*"7CSQ O"8]?J?_TI?,7>]/#ZN%C84UI1//71>B4!HE;I_-EZ M:.RH+#4!#<96 /$E"O_#AHGP&YX '[\VQ=MMF@'4,E MWR(WB--/+&P>_PF1IZJB,* MV!U51'&>@;1ZS\POB.H2N2>I,7*ZEZX:TTU+&1G.P-84W63V8. 8MFK:LCQD0WNL_-O2;@X;FIEJN$,]<*_8 M^6@\X&60W-_A+Z?T9#:ZQ*HH[(JV0$@*T4_S*;QIN"D@!RM5_NK%0S^,YQ'[ M!@_^TP^'WQ=RH,FIR &/V.@QR7[#US*0F1DJOFC.SCW]5988>%YTQ5Y:[J2M MT"9G]1KNEG/%>6V9K7I3"YKG\6LY&CX'"Z4BZ%R=P']?T$*JN2ZE7!@]VJ?/<@[1U\R1OQ1,DPX IXS- Z5O&0"[YZ!N34&%SO$QUZ8[]]]#\*7 M0!A$V(1>S-9EM-G^8$"D7]__/QBVI;\5A7>3"(#PO_,?+/_ECU_?">]"GEH: M__UOMFZK\".N*_\*//AR?AMSAQ,A_8J+T_.9.^+6@."!CX#KBC?V8+#N;.;# M5#DA).';NB,PR)@F(#F?O>05B969$2-\6SB/A"\%&GR=1T CF'IFDTJ;JKB] M8H/33\+$]879/ +S.4:>%B JO+@5;:>#4O'%?44RQ=]"KJ\BEHL)BS\QL%3> M 5RS*R4;N16D D]5:ZJDEI.*U$8$A+K"V'T.(QXZP9]>PN@[=RCYQP-W-T(.;:%M4!!#AS_3S[]*O/RX^7ID M%WGZ&\AW8:6J/"?]YL'>8I>NS"F5ZZ*V1QR/Y]SXY"J*3QA^G_#Z8/"_01A% MX0OJ& %OB[BG' @<(M9<)_ IN5"+OR:NIQC#T>8F:^PWA3"#5RJ(@RN M_=C:-V01HJA.;KORPG.HNT2!P%@-598V"Q,LG90X#K%@2D[+M95U09N%%W#' MC7\!5@XO'!UP 8HTS)S;LG>\9X+]-=F[?Z+<#,-YD!0B M545)XJ[#PA;FIN'2(P"28: K&F7N)/LQQ-_A+OS7XJD9>-KP+/A4Z5TPURFG MW]CU(N'9]>._!\& [C@@^>^PB']12&HQ=@;0UAWQ$D MS&'X>_;FJJ:8CGG[LB5M)EYO,<86PR^$"M$-39+(&\S374L@'& &&(Z1>S2/ MAMR[? T8 FH,5AZIZAG5UW: +=_#OAFJ:7WBN9<^@J7SXI__ G,/]36('3X M/$H,PU\85EV;),QL,7X8UX#E-6@S'@."YD J M_"ZBT%L>I@,4S4*P"B4!L#IQGY$JX3/ ,PRX>SYB\.$I #*+:,S@,M --[66 M\%I@<@$L((\;//$/YIA#LW\1'4'*N?"%U]A;/ R,"L*I-P1$/A=>N0K9]3#M MOI!F)HJZ*EFXN[Q9_6RQJ?SS:L IVY*6EX^X@QA9O_N1WCT]!B70( M(U2D'"+WW-]*2]O]PVW#, 1P6D!U_JU$^/SFX1O7'B <[U#K!DG\CS?NPS9. M[PZZJC<58]A?AQ-0(#[[//YCH4T_8#">A[@>N83F_O9C,/K?Y8KRF"XH?-"; MP6Y=VPAKMWL]1Z4[#GV?>^Y"OHJP&/FP<_'EJJSTRIMLV AH#-T?9?5<19*. MK4F*LOW2KBR=W;\[IM-(OH^B28:Z_^,GRO=I"ME6#FS^KGN,\'G#,GOY'] @ M">M-I!^.X3? M\2AS'FYFH%%!'Z=+9K.E(XX^=MLFJI7/8-XVNVYD(J^YL!N9R%LB*9N6$:Z? M)6PCOED1C-XOX5DUM5G'/0K1DMM2W+?)H\0M5B_ <08L R['5-^P([*($?$@ M2>\L\+>R1/(6?Z*^I5!BO<,&9Q?)ZUSQ/P3/P+XP\HX1R5[6VFBM2.8L?:TL M@R;(H"4ZM"R>%TEI5O0PU:19W(.6QJN7PY6ED?.XLD#RVJ^*NBM;BM;$DR#J M2X2E,I-7$?>:LCTI](5GN$-%"^35"V;.WR_(W]W%-5!QVBMXW_C!K,>3N'&'GNEY3;5^5$T[FQ.[>LN'_$AU;;,<"ZF; MMFA8NQ+Z3\/V"QH)+6E0OCU1K<#PM6S3QFV#.L_WQ&=Z3(\+Q<+,?46Y)&_I MZNVS;.>L>"%C\I>4QY4UIW[S8(C*\>$,DP5T?3>M<,B&UM+KEL_57;3" M]6R%K2RAF"$FJ@:%(B\,:8[M 2>MX6:0L& M"B&MIBV1U/.MIDOV5Y97FQ][<+2C!;:%*VK[-QG^]W3+Z*%G>K?34&W>W59- MIS B"K]4UD(.[]!JR9O%JNJ9#2W:5VCKV??=O5:SPA=Y(2MJN=JB#5)J.G4R MI9;OBF[WD%AET\J4>0%NT;:.SLZ_*67Z+P-P3MAR#%+A>%9Q;,V>=QAGOVU0N& MK%#]]U>8\.,PF6^MZ&=B57EK2\7H8M!DU?2P3^-J ,3ZHF1ME%61Q]]F->/W*1?%.+@@OX=P?"4&8 %BP3FQ: MV=0+1MA]@@DO$S<1INYK6N1S,;PMT\'A\^\6RG6N32)53\F$]ZI8CAC^B=_' MHJEYU?^&=PV[_E:O@!HL*EH-N^YIG;L_$_,9; MV7T,>0>[]T&YJ$DU$I0LTMAV2GW"5G\["55%*$^!MR;ONAJ.Y%W1-#DU%0BZ M=0A5-S!<.FS3UE#FI]RY.T/!U/.8170ZI]>G<]1RX>5B,\W<*\]B*95#Q>;- M@V8XHB/KK3]8_-40&+Q!WCA4WKZXUT8%VJV+G/#+1WUZ&: >24W M/ SNHOS5//DV>RD,&=XJ\!R]-9I$89IOG!)' KH$RU<,T^'ANT]^A. KX]G, MS']=GJKZ%KE!G'XO?@0TXQ^N_ZL7#_TPGD>L*&5(N/<_L%X3BM0F_8R;!UW: M]!"+]$N6GTLI)C8T[8:A8-X\J <.D&PP_P)3>9R&H%K^XI<7)R)&_P1]Y8=/ MV^9E'9Z76W@G_W?>1GV0OE9LY"A(#:YEO>F^)FSVKUF&PVUSQ,((TN9YY%7> M92\#7B_(7'I>R? M?S% D[3FIK\Z$-ZM,'UAW.?'\9SQPF0RYW-_%=4?GCPPTWK,^(_9Z'O#;WL MB(4[XA.!GY%^T?(4W\KQCR2$2V.?#1-^&RS*+#TJ.&)C#Q#)[GSOF;-AK3T" M/R2=JD \:0**<7'"<)#A$<]DY(#$4QDK@K' R]93*OM/I:Q5? 6S,!WG?<1\?EAD>>KBY]431]F9#7GYB#N(D?J[ M']D]Y#0G]/S 5)4UBA?^BP-'Q>$QW;24D>$,;$W1368/!HYAJZ8MRT,VM,?* MOW%-R!Z:+/*<9^X3NQM$S/U^Q[%][_HO[FN,QEV1)$"/-194I]Y!N1Z/3T&^ M= @C+"G X7D/9C"+\"X8B=N&80A@;,$R\[<2+ 0EQ8\Q@:2_PQ6*]Z=W'[;! M8S=/,JO_#MW'>\7.N>0%>$#]_@Y_.27&-U*<.<:5I5JI=%#Q#Q8GT7R8S'&I M?0Q&?S"NJ1]AS7SFQ^B7IN#F:47+25=Z4%WP2)+]AA]9.\-X5F*L,LB0#.3' MRCP7_%YSMA8'/8OZ>#E9G-B6Z:JM/Z3Y*Y\U7Z7&L.:"$?+?.2QXL!3C(4$/ M3:C,?GF!=2P(8$$>,G1_T5MX A!E#@(NM_ C1K"Q\@5H1U@U=^_A)-)2\]> C^]PN, M^Q9$G?%5%88":^_?_V:KJOP6_/__X,+_&Z[0XU?^J_+V%TE8NP!O!!LT/:S) MJPK@B^"CC[ \@[& \ !2?&0)V*G"5_8T95D3S]R>NR]KD*U@4-L.A//JC>W0 MX*0R%Y&/LWY]39/JJ:2^][TIM[K0.V91XH()[8(& '0^H0+P*+6'A8525Y+&]K$U[I\Y9$&%%YN MZJ<\Y)9UH2I'%$Z+2@ GH5AOX8([Q*HN>,1:^-/UO[-(%#YZ(+-/;B"B*MCS M$#H4\-C', !M@X_%,2@NC\/G3W<>NW-1^!-T( S "P@')\?!5]"\/E G7Y'B M5,TNV#:(D#,S4-ACD-Z0\PD\,5BB>7D OGP@R^$U$3C- GA_/SQ>].=5S%<4 MGST#J)[85ER 9;(H$I2N0RR8N+#B"4/@6SC%O+-4K5R5^[V,WOE B.)2B@3G MY0_0UUVNY.$L 4W[%T-AQ"(&F>-=6.#!ZP91&:8"Y('3O+I.?DVIM+I2O@NC M&=KHC/^+EZ+%,@S+T2PK':POSJ-R9HJ1K\BI>^W"7+"P0_4(JKX_@KK#-,ZC MH,/L;Z5<1NDR0&5CCTQ3LG9L0A3"5%%Q!'FH&(RT":@^P'AJ!&%?!#!5?1[* MF$58=.%':FG%[C//I,0@W@R8_ ,&A-%?89LVV)F!< ;H5N2;L<(W\VQ\4]#- MVL^UB^C9FX>K4E2? ^$1['"096U10:GH=H"1!FX^K@$3+(,,Z%U7%.M>P,WZ M#5_XD^J- $[$3?Z/7_#N482U4<:H75B4BDGNGPSY>E#P$(+=O@%JH/W*,);R M40#,8&%AO#Q9_N%,]^9!T*4Y.@[#!(:0*5/.*?QYJ8EA#AON%1NF%5\6;^&+ MI"3\R7B<$H.C8:HPUQ1!1<$SFQ*\3=D")UK=4Y8)QE]QK-;IQHK-U/;745NH MX6QWSP6;$ZP77/1>/%C7,F2D"V.Z?"UNC7*FI?#./,]L5G(SM2+< M[-/!#4N6[=G.JBX:SNG&:J!ILUF,-,%;O'Q*7<_&.8C1-5=]HIHT4^&%@>+ M8S>JL!MSYS?'BC6/=VOLJP)R80\OF7C1: ?HN"^]B(U5Y(19(2"V*W7. 4_. MD#:/OVQUCWC.Y YA%/'.--15;1JRW<0T>*;P'ISSUBR6K#1" M>U[=>(^)4APTTAH&_O7WO[O3V=M'22CN$GL13 >3U@2>M!8WB3*KB9F"HZ%J M!Y)U*\*L:OZF7W ^3&>N%V%,;R+*1A\C3$-*79_/;'G9<1!?CPE9+90+L2Z,_C@#8!FB?-"X(D,[Z)<+4S' \ MYO-(S[?N(5W36LVC>CQ&.V!^^)*GJ,:XE I2^SK<,)&KJ5;GY)09RI# M78<6N4EW[LK\1]= OQ[P;;$C^XH]WK6VL?KP%37[^:NKT5WGN*L'E?,/-!3( MW; S%)XY@IJ-%?F[MI&=I6#CQ6=YNI&=22WLZP2OM4$+[.@$7]CD'[" C;WD M[,W@.UKDIC/UYS:"L(:\OY#QMOA[I8K%,"9,5!9M>U>&>3N*-9(8]%H,#K0" MW[,-542Z"DBWVU)KL665@$EFNB8S![HOE)09[>;!U&AM()RW%N<'>CTT82+I M-P^J:,F;"3YM$H/S1F6NS?UZMS/9^F31F'T]6,I6';UBN=0;67^,FP?#.7K] M.6FU6D)'#708I]?:F"PGFN9FWMGU@^=<3J1EM*4%/"+!]N(<)^L,U>_N?X;=B.7I M@.5Y=)N$]@0^"!PI.)PFP*'(::'8SH'C7(9E]X%FUMBZVP(TY>9!/]J#:2'0 M>@Z.1C:T%-S0VE)!HTWHH*CDWJ007LVG.>/PB 9(Y=+L.K0E4FW>'=$[-38% M*_JL"A:\$HWC]PRKIG]>(A1"0D5"I=39::\J5#I/TC*/[JA[#4)UEK06$M#> M"*AJUD@1V"*#QLV#:345BFVU!)+4D-2]-4;R1K4+%N'K3C3S2U)^6&<-Y^G-]6 _J&?1W#X.&OFHC'"L);PD,; M%6:N .SGC/^0X%Q^6M7DID:^YA9Q<4!<:($@G+<7YS6R2S=QKLHW#[K25(#E MBL(HER]W0W>UHH@090U32E8YA=M(UK"*^7I&NP^*$CIJH*.1M&%5!71TZ##] M291_OX%F'5GQ9_]Y-%5K[#Q:"U'8<^0TDE.LZC/[Z M+EO/LTB.HTI'=%8C18I4X^;!/OZ43(/L:6D4D.2Q?_)8:5M*V0RO'[4MI9HW M#Y:RZ?%4WI:Z8J$\YW86"7C_!+S:@MM(*K1J-;E]=L6R3?)(\GB,/#:RF:W: M-P^.TDWSES8'Z2YB.]U%;*>[B.UT%[&]IW=QMK_A/7D7_?A6NA*G_\[:!_-3 M)RO]!3,375_5]A"V)O6>V[-W[\VICPLP0EI>/N ,P>^?)[D=V MMR1NO+5AR1[3JKK6RK#PWTF4#V3F/K&[0<3<[W?N&,9Y[_HO[FN,Y"_.#J:V M1LWJA#C8;7L\/@4ETB& RX6-'I&7X/^P".^"D;AM&(8PB= U_)O'=--21H8S ML#5%-YD]&#B&K9JV+ _9T!XK_[9N'K[QOM;A6,#JY@"M^!]OW(=MG%Z3C+P3 MN^7[KF:MM_O1/CV ]PI3^-CD1!W4J6,Y=2P_WZ!.L.= '2";,MMEU(J-%M6I4\*E8.%!UL,2TZ72H.PN)0=?$X/3U,S7YYL$4 MS4XV*6HN;DDBU1F1:B1;4E.HHSGAO-4X/WUC24V]>7!$QV[WTD'G?*FC>9OD MLD:%F*IRJ6&?#\UI=\-7 D\-\-0H(%,5//K-@R8:3E--8MH$GB9CGOT&HGW2 M C.:00W/.XN<&@5FJJHP\^9!%YWC(WO75[&R,]L&5+KP[(+92!45S;IY4*UV M5WXB=-1 AW9ZM6UC)R=3;7"@H>EW%#_M:W:47]5M4N\:>9%6UA"7%1:T?O9])J$BHE&-#E&6$ M2KUY4 S1MJZU^6S;2Q"2A'980E7[]"D*NH:[69K:"P$EH2*A.OWNBJ[?/*B: M:!C7:DI>=./E\D)%'=>O>VBG/:[5FFE2Q_46'=BBCNM-VB/=LSI4NY&^=[IQ M\^"8[6XT2CCO&,ZK=5RW-S(PCVIMH9LW#X:SF2Y!'==)<-HN.)7DQJD1C=TB M+A86J:>.ZX3SUN+\# $8&X]WJ/;1_8$IO;4KQZXH\^>@7#:2W:H[('IRNU-[ M"!TUT'%D=NO^XRR&W.5^R93:VA@*CTQM/8!"IZ5,W#7Z="-S>)X MY7-NKE\HSY*K0P+>6P&OMA[7R)G8(M9.([E!UR_;)(\DC\?(X^E/99HRGLI4 ME:8*[+1+6*D['-U%;*>[B.UT%[&=[B*V]_0NSO8WB0N6Z**7,MB[:&U[P9SG M?.>&^:?Y% S[X7KD:]WV_CJ9W -C?)O\)9_ M^N'P>\'JAME:G1>5[2A,& MGH7OAR^XF\3I*,3S*8P47A(+X7P]U2EBOINPD> .A]'<]86!Z[O!$&[U@J$_ M'\&5%R^9>$%Z _QSYKY&\ '>^3I_>-&D$G\,>4+508=RA2!]-OR?$$\:26!(>?=P2F[I>@*/;&)4;,8']F+$A/IN$\&48D+<8 MY-A#SPF+,9C2:D?NBFS+*)B!#8<]]!B"MF71R2GBE"J-\Q@-)U["<)$! M=?R1 =U*=3#N-!F^@L'A#4LE=UR@KLVUT/1=&,W""&P';FSP[.W^ 8NG#JU, MF_REJ[F+6'4U=Q&KKN8N8M75W$6LNIJ[B%57#^LV#H2A]D$&2&Y*;6E)3U2 T\&RD MKC=5S^1T0M69GA_;@;'"39Z)$L2,ZD^VH,5C>G"^NF29>*Y"UX]VM:C 6[O@ M4[&985WX6-B W;&/]CA:")\FPY:]AF+%KGUUH6@WU+>OA5#L-7PJ'?6M"QZL MTJR*5FO6P8;*3[;5COSBODY9T'R7J%(2V8VAA4P*UE\#EH.S8''X4?Z][2#?NJX7,NT['[4#QH.^Z&XA:TJ=@Z MBU15A_!QP#AL3E%IZ.C:6TJ=GQT\'0\Q%M)9%AV&5>>(E!:J>T-U;TZV9UBE MBT+=W0\+VZ>#[MGL^=B%VC23EQ(:)_XJU<[+L)<'EQ7ZP7L](Q'\DDS#.G\-Z._BVB(W]M.C.V4H!K=;O MV:P"58.;#_\81 B5XHL+K\G8H:N2A65[9F'LX:?N^=R\9[:LUO/S:B&H#.SR M\A%W /.:)[L?V3WDM-# ^?&G:FL4+_P7!XX*PV.Z:2DCPQG8FJ*;S!X,',-6 M35N6AVQHCY5_V^I-_M DRD<_.SF2:;/[] 4N=>-K5Q*?_)@C$%R?XO75XFD&)*L(@D^N@$(#,;M>84'3O[?W(U -<+2_ >;A5$B !MA>E-!D>_^3\R6 M,M7V^,K :4E/A?^'_GOB08)QHW J/ MPP3O5QS'D 0PFV)6'%EFJG 3*3<]GCWV$O//HM6$Y0/1 !K/P79B GOFSR$A MQ@L" 1FX(0T&B23LAIGP!/9.Y/K MB%@9@!V$RHS;^RA0?/*YS2/N2I=)PLP M&U8\0-?3JQ#/AQ,TO3(*3MU7,:=5]M. ^1X,=/WGM!;B^J\NC&#HS6"0ZU<\ M5.>CC;< \*=;[H8ALZ$;;[Q_%H7_V?+9>!+._8V7OWB^O_Y;9LFQ_.<03 4/ MA,J-A!?P$&+\ :8&O$(<9V4A\]&DK,K&P)4:QY*'IN]PCFSAP#R(QL6@\'7X MQ,"-@6N L^FF5.5(2@F>*5,8)>?+.,[Q^RZ<@NYX_?]B(6 N^#G 8T0<2I>X M?'_^,B](G34NA\\NS!^7W5DJ;1PC8?&M ,0HG K *\:OP/^+P@O(D/LJ@.4? M(DV> 7\P+C>URE] AH#A&]@K !AHEYKI"(#(0P\"7@DF+X/1Y@.8@0?G#<4% M3CEG\IM@9IF_DI$%'HJ7\NMR!91P:GG!,V MC. 1^%?F'H33*3C!P^SA3&@6 M4WX,7O%>$+'<[]D_&0Z$*%6A2 +T5^ 5Z0R*]W+"?4<%!J!%R5Q"+8@KAO^*\?*BQ=/D$%#=\YAM^!(IM&! M5'OH.W4!70/.D!"UW<3UQVO0YY(4SP?_R93L/,A6CPP,N5*_.%XT\%3MK#AP_^2ODK%M1,?>?\#G/_@B3-H MZG&%NFI.'#(^K@KO?[)4%1[ ^2H&I_B"/":1606H2UE68MB;(E%F M%8![//=7+3>NE]-HZ]I3"^-JS<@!G"X4$GD>OCR2[J\ :S P/;=I6YYF;SB MA)>LV3*)C!KQ-N8 I0OJ,V75@O#?5HF]8%OJR*#F1\FCU"7N *X/]R&R@ 8 M(6#=E9K/<&4T'V8N:YP5@.:+.@BG'\;X]&#N^?B:.,75!+YT5U1>P]!-LJ^D M[YK'&21G,W^A4O"=W V+GK-U"NY/,O,3W\N"";YNQ#$-[Y.$S]R9XCM)J$?Y M>LB>4DL?)G@O;"OC+0K;JUJO__Z[#S9(.J,OA?7M%86_CTR6KGC4D$6O([>Q7 1^84O2\[X968L+:=!*N!<\4^K>1N M)XK2BIBY+/%=@W_"0C1-EP=1QDAA-027!+V%*)P_39;1#X_ORV9ZIZC" M8'QP!^HL;CBA-AR'PWDF"@O'!]0 ^P'>:*J/\.,%/0;_2%[1.T%'*S/!\1/8 M^R6/?W%78\82#[=?X>^83XCO>8/O'H>IJ9:%P 9\'WP:1OD,8<*K$^3+?_I! M?B5\"7 T8R])=Z9?2VNE:Q'2=FQL94+ZB$QG8%^F%AEG 2X\H#:]< E/7 "Y MIX@4C[/L N!X<%&IY6&MB3?FRV11^(2I]P,&SS,SLJ%G H!HY)-8B@O71I@" MPUV A33&0J+2 7#<-@,&XZL;D7@2(8H%#X/<* =/<#HKQ\.TR^""0#O&Z;R M_A2%+ZDB"6?Y>U*3(U<<(KKJ*5> 93S@#M>Y,MIU_\*&SB+4\!QWDJNH#?[< M< B+(V_E@$/$L2:3W)N*>/@YPP"?=I[]@:$#'E/^BZWL\2R1!,HSMY7$A=&5 M#AQHNDQ"01:DNS5IS'D AP')G7A%UX #0SU$X9E1FSFAZ\+MG(*_'?N1:RHQU.%YOD^>A^8:,.X MZLM4F1^"3/%-A8Q:BT88ZY K;V!=BRK3VJ3*OB: N2< 36I<#''1*6*K-9J* M!]EPB* IP.G%U#D1DPJ!D6"EPYM7H!..& =F&+#,HN!F+\Q]!.(0#!>+.NY1 MH2G,X[%[[CM9A#_!IC7"$=?3B=;AL-4SM;L M=E!XBY##_S(W]9C>I1HGA'E]6)HI8A85Y5(-@NT&B@^H*D M&'X$'?(4N=/4C^/:R4OR;1U0"["X@_,&VC-(@]9@8 0\P)G:>^FI8'@T-9-C M^ :X27G*P,)$O.0>!'_9MC9YVX-_?_!U2/@U]86O+F_K"<,X#;3R:#4"/LX7E2YJR@O%^;G/>WJS_\F6"5J]Z@[M*-_D_?EFZ1N-Y ME&TG +[8>.P-/1; _W@*AH==7L$XSO8QM_;@XQEA6^-W\,=3ML&6?3ASZ6-< M)?,/A[/$FWI_Y3[0V;H#P!3_- ML^$3<;,L'Z1@-C*^?P*&/X9 H_ '3UZ"F?^DVN"-^7X6^/])=1;_Y#X!MFC] MD2?9+^<)"W&QIRP, 485(2/GF8FT>)1'(-QG[L)@L'?M\\;JY\W\G[NFY,9Q M.$S=)6ZP%.8WX%D4&!!*TNU2K@18LLPK8\$HMY4PB@N/_S?=QD_WP9:=<(&U M3/@4@J>@Z-RSR?&PLO$_#4P#"SRA-+)*$#P&ZFD$6.<]2*[RX^ KW*6*9+8@O_V>8G<#LN:-L^V#5=+AGB*( M[U\L\\1QI@ 5/HZ[U'#F8;D@3LF1'R2!-_^D2DIZ;B@7A%%Z/ 7?#Y\%.FT' MJ8B;$&D667[[V/6B+)*7P3R;8>HC\RTZ[A $9YT4=Q;_OK[W]WI[.UC/K'%<95WQ>,J6Y-FKTJ&5IN%QRP[ MX;/<@U/C2 M4OK)5"0CYNU1=SUWOHPFS@$Y"IT#(H^M+6[&%DU]O8HZ2:-M>0[0,UC]&*+" M)3D,TIRT8O(AYK-QU7G0%\8GNU$RZ%P MG2?$H0WL'[N'GX;4%YJ3GPL>XIAF,;O/_WB;E\'P DX6_M#;[/69ND4%L78L MF'\PO;S4'9**:P1IS1URS'N9YZP"JO95US-ULP:9%U)N%^J M (MUT![:46"4N[-@,\#:#XX1^S%DLZ2PR,<;)3WK [A6=]E6B7>M(IP'9]T? MLFDR)YO>5:782:81UIO#^L4;<\,;SE_GZE/N);:F#?ER6!5 M+;9U=CIHNBT:ID9 (B ="R1%U/0RELCEVUZ]4E63;')**<31D.>6 M)^T3F'H0X?C*?"P;*N:UJ],36Z.I%WC\;#*>ALE//I W7YZNABTJ2KU=JIY2 MS)1%0Y4I_''MOJYB2E;_?%T*?^R#A-5'2/0B_/%Y<5S;"[#J'KGMC1CANFA; MYW#;^T!+6S15"H%TVVNUR&FE"$A3,5-))RSU)@#R 5/'L=9C%N40\4@K^>T5 M\BA%5;6(8!6\(5&NF79*<8X6L5'NXY8^A3GV(D+K'R(.V ;M4D)T5U-W-13< M:J5)^)E7-TSC6?7-P88",==FW=RJHF[890Z-$\ERDIGR.>AU>:51,:9P7:O_ MK2Q9&VRL$^N_EI7_S!&FZT(#+WVHOJT72+IF5#04*VKWKM=[-PIXV=\!-J%G MF:T@).Z/RV;)=&C71A<5Y1S9('V@I26:.ATLJLWC]J\V9MU85.FR(E>U!ITY M2M45%-F5-U$[C:(NAS@^+ R6?-^+'/8*V0:B8=8[V]Q3@IFB:9@4XKAVIU:M M?+"Y PXMA3GV[657-CP[@(A>A#BP9!_+PAQ-&]T5',46C MY@ED0A A"*T.673LQA%TU=;C(0Y?7^Q!KWM"J+-)MVT)8ET?EJJ?8.\ZEKH< MRGJ_:!V*T2QLK-B2*UVPG2-NT4&'QLA;^#\:YG1\07V#6](M[L#7M:B M#IO@44^\;;]33[P&!]4*Z:>>>"OD**F5]MYV?3WQ/L$OU!*/6N)12[PM!DAW M^EU1FS!JB4V/YBB@;FJ@U7Q",0-0K M$"F&J,GUSM1<76&9!8XSHY%9U&OOM:55;WB:@>*79TY)^_*(%'],$@'(-&+*N_4Y*[Y MK"A9M,KME9R=F%=)3]L0M;/0\WH,BXXYI:I:][!A-WU2BFW4U!2-]PJX:AAU M.;1!W>U.%!^T55%6ZU5TZ"O)+$W4#.IO=_5NKF+UL1#ZN MHK_=-3KLABV:3CM;W%TC.15%J;VQ0O&/JUAE#,DDOY7"'T[^D+?U-WNM.&EZT(#=;<[+EK4[CVOJ^MN=XT;-H8N MZJ9%Y&SLQ*(CVA1YZG)[,J-R]YE*!+BVI>C,T:JNH C+,!*,&L_B::4A0UWN MCNS+^*C4S;2YYH6 A[[)+MR>YH.(*(7P0[J MJS'CL4>M,IV9:=##Q3!JJ)%(^'_YFZ4L$CXS8M! M*K !A2DDX<1>%H/DS@$S]$ 4"5 M>*[OO\)#XQA&#"/PPQ< SC,\/F42@>;4H$E+3:;D%$8LAPJ 1-4D&^ RY+*? M_61R!,TB#QZ H0FC."3PG M!\_7W__N3F=O'W.2"RZ(>]ZY#>&PU$(KT%),R5J#EF+!3Q(L'VQQJ_#BQIM8 M2UE?4#AW$?.YRN-XX5 J X_MP,IQ.@WAVE\K#PCY=V 0J/-6E5Q! >((N-*= M8O\Z'W@4#K_?#?CDMXVD^.)W[S\+"< _>Q6?$@'YY$!>+SN#&,0G.4]^ K?# M6:R)?,W[25U9/Y'CX>(5&\I4T60!V.\!FD,O (S"2RW0I,38DS/V<83D 1Z\ M_^>';[\^%HPA9*P.Z]F"L45M])-N2/;B2EK%UFB;IZUH- MGMKQLC5]MS#*2BZJ)UE%^4L'+&!C#X#+P8]O!*W^S'/6"[KK2Q3^AX$9\!OJ MSO&K\&6"TU4)Y2='^7KAB368 RR7NFIC0747.'H&#?:$2!T /%R?PP=>._>Y M6BME[ .*ETT;95"<.YF?34I7)0L;IL_"](WW'%" QF6?])]7&_5F7=;EY2/N M(,8!['YD=_OWQEO]EL10H9AGVM^W\-])E ]D!NRX&P GO]^Y8QCGO>N_N*\Q MQ@J*LX.IK5&S.B$R^=I-B?'X)'CF0P#=&$9<[=S/0;0CO M&XK9A&,(D8N/_ MN?F;QW334D:&,[ U13>9/1@XAJV:MBP/V= >*_^V;AZ^<1\7A )\\02@%?_C MC?NPC=.D!4]@Q!6.6O.U]"=5,K8O[_)RW4]7Y^'$#9[2IQ9J$1Y?6@=/+JBV MPF+G\DE\=*/O#-;%;^X/X1V\W$O@GF'X%,!4T G@^G(XCR+TA\! ],(1+8=G M6 [7\]!7'%-CG>,E7V!S'K.-G']U.>9>P$ MQJ8\ODA0GX*AYX_JQWO"^BN!!BS5OQG6WS"9MAI&RQ>M@@@,\^B)E8DSB85W M;(W?NW$<#CW^EA!=W=XDB#^/L@7OEMS,X.DXL);!(8M66M;!(JB M+HW#@WL$AKZY1V!()NT1G'^/8&69_$E9V?U9L?X50RDX!J5W"118>%>5)'RA MJ5V"G:OT%-1*Y&4]F4ZR2["R+[!F]M'>0%OV!G@1PK4- D591KI.O$- '+] M'-3/&R^ MQAO]S\WAO39'OSGX[5,RV-K*X*_L"=U%X3%P_5>PY8\FTAG!^2<3)K"^@QS. MHX*C$J=3 G1,O.%$ # (KA^'L.K/P)3CVYWY+9+PWH5;0._@*_A[%D_S5X-X MPSO!"F3#, BGWI![]^#XPHCARC#F+KP_1YSFB<*I#PQS>@:[EO=$?_9&;"3F MUQ&E\"=^Y]WG7S^F2A[_$N9(6/@D MZ.@I:.YY&A+A#JJ+1(\7GUFG\]3]SCT:, 5YCN0@G">I?>C[X=#-S<,EV+@7 MX+ M7X1QXV(X=/, RP3 %T9XMJN/X4 -$7-L34/7!#+-#"%:V@:!BOL5HR] *CF\4@9_) JA&LC MX3@$8+X@S)+LL *@'LFX$"!QPRO?X_8#<'.FX%T\%Z!(LR0$H%.&U(X,*6M; MW@QE2%&&U%:>9*9(+@#\T!T0Q7=G,;O/_WB;GS/T CX__M#;U60*!,?Z673\ M8'IYB1M)3K&3'87/OIQ=EN#2F\W?P>$R=7OK)1E@',DV M=1K3P3%9$J"[D3&IDJ(YG:53DV/2[&IOVL,[6]W[I@-E+4H> ]Y[FV)LW+?E MP'VZWI[\N+E]R*&54Z,H8HM4H/>@\4Z!L1]#-DL*$0@X'9]T?LFDR)UNIE@,G(]LU4>YGX1W?S"$A)"$D(6R3 M$-8MH5:7(A>HK[:=&E_7X]&7K'9?BIHM*!M$@Z/!M7!P#54K;V4=R,=H./$2 MACG(KB]\9. 1G;U8>7\*2E]7V6A%U45=TP@.! <.!\T69RI)ZC+GEGL*7!6J?47.OZ M2C)9$9WV:+!6BR,6G3Q%9\$K, Y^]]VX\5!=79)=@UQ9LF@;*E&L$L54[1Q] MXZ[?3Y$EYW0MR#H(+54Q14UN#;:N@F2Z)DHQ31,5AYR44N!R))."!E4"4KHFFBJ)8Q5370=3 MO9YSTS=Q=#3).$G0( 6)UE(3X5O(B_ME>8GU4:;R4611 M<>KE2_:48H[H./5VC?J6XE [L;FGR%(54:VY1=)7BFFBH[2F*DVKA?%6423Y M-/E&5V :4)65JG:!(AI::Y(CKH)BFJC4/'O>.S=%43?*01*Z]F_GFJ)1TT[O M*<4,B\(&I7.132JSTA(C\AI$"XR#%A4:O0:*6:*MMB;*TFI=9*B21EJ59 M1:5F3EQ/*:;8F([:%HJU6AJM#6EL](Q2>T\UOPNC&3:.9X(;C(3/R81%;3$E MKT'$;G51M=1Z)P'[2C)5-.WVD*S5:LEPZAH)?047F.RR+K<&7==",T.I>9RY M;Q*Y)8&KT?HG;3W-_'C:$P<5DL+[=[ZI$@W:G^>DFZ)2L_X<(8@0A @R1%LF MQ[9O9FG%AES24YQ#[?[0+OU\BTG3XJ$=?[#YBK(B&CO87&9Q*K'.'[1H MMJ[F%R&=HDG&W_^FF/+;=8+5"78=-EDN,LG3[J;Q"$QC: M\WS'P&A2>)' L*C&0\L4A1?;=TJ_?XZ;JE)$B<"P5,LF@8'"BZW@DZK0O@>! M(0>#7ME@)#!0@/'4-1M.D5RO53CP?)FVO&\^$K&NC%B7?IZ81<2ZC@!'5D2@ MO?6&'K<>]"$[LFSZO4IV)($A!T/5)%<"0WN>[Q@8JZ??$Q@["P:=P-"&<(>J M-+Y!UOBY>+NLM2Y\"$8PD 1>!\,9SGTW\<) ",)$F#(W@#F,Y[Y4@BDE:7]5 MMQWP'D9>///=U_L@#-CNM])=UW87L;V7=W&VOTG<@<_@_T?>\\,_X#_YW:E' MSC[X0MH+8$/7(CG4Q@IO"06$KCL36?N M,($_W408>>,QB[ LB)>P:2Q,W)$ JCZ<1T+ $B%V?7AH'$;\P63B12/AOW,W M2E@DC+T85@=!E553$AY]_^ #X;CPC"&\P'>%,'J"!66X7$SJD#B;9;;\IJ4? M@-2^.XO9??['VYRU7L"IQA]ZF[T^76OO,9*S;O#@!]/+;U^\43+!95*2^5*9 MZX/LR]EE"2Z]V?Q=!4M-U;9>DB6EXN^&MOTCNY[8-2@%7N4871Z49NLT*!H4 M#,J4S;VO.K#"-V)6;MY7U1DHJ,:-REH-KC9.J9)2WR818\)'N&\2"^^#$1L) MG\)G-AV ME<=D>OY5ILK6I?TD*Y\[?]>]E\!WAB4\I]L/ :QXX3QV@U$L M"NS'D(%?/6,1NN%EA[ZP8M@527-J<@[IF*V]6A7Y5C M]!>AW;4"<_7 &>'R(/FVY5\+!,NCZ?H!OQIG!1[?^][4"WC,CL!9@8CO@%XX M:C=AHT:Z#NPDR9&X.QUAMALVOQ6\]H637QY99RE6O$[2ZZM7W-S4VUN>6+-% M6:MYNJ^*-%4KT]Q,MAM!M]/0E75L4$K0[5*)^(;FW5K06K*H:E4/:E6:.P&6 M -MDXUE-5!P"+ 'V6@![:XBR;F\$=@FKA-768573%5'3:U;K/1UBSU1O8EO@ M+GO%'=Y_KZ@@ ><.K7Q.\Q^$P3R&:_$R&-K4, S)-DJ,Y.TLC#V,&-Y'#-/] MGME;9/6=)BE;DB(&;LSP#=A$YY]7-\A331EL_R:<53";O65H9=, M4?6S%C =901:?N5A4!]O+\ZQU@;W71-JOOX!%6+\^ZWF%5TVW1,%OG<67ADGP$ MBY)5?).PR2#7&9XO4 EKKX_".9:?JG16FH9&0^O3T'H0+?T6)FZQ!A[,YR69 M"+XG,!ZT(#>U%@RI5K=_2 43T.B&\W\=K>YD45LUO;"(;[$I4?B_1 M4-UO)$1T'1$UZP\2(CJ*B.H=XPD1W49$-;>1T-!Y-&B]0@,='>_E7;TNQ-7; MH^.]C 36.]/7@6@@H8)00:@@5! JCMUL-BI'#0@2W88$*0I"Q19%(56MN-P! M1!S?-IMZ.K>B_VXK!]7U3L4TJ+*#HI[.C7=!_ 2_4$OG//1/+9VII7,[NI-2 M2^>S$)9:.EAJU'6T- WN'6$L75:WF*1P"[.7YUSO WJJR MJ#O5#Q$26"_/N]Z!51%EQ1 UN7460:^SR?M][KR7>3ZWBBT:EDQMG=O$%$46 M%8/,;>:+%J:3M+2)J;HHD*-G5O(%TNT*]MWQ)=S.(H6+"\JM7:FN\YQ M5Z\K>?7V?&XO2RY0STWB#'&&.-,-SIB&J%HU4V2(,20R/>3,)46F!\U*J+4S M-1H[-GO.T43'J5E0^_);Y838_B%6446E"V%NP"LPJV9X$UM;PKG=@5439T$3-JMGZCOH[]ZCG+@V- MAG:NH?4@9$K]G1NVNW3)H-:,A(8L-M?'*IF$B/U^F73F_'""0WOAX&C2)U%7)0L=F MT^U9-%S^>=5-S-HUR\M'W$$<^O-D]R.[^T@WWK/M,*54?F#37O/6"O^=+$Y' MS-PG=C>(F/O]SAW#..]=_\5]C5%<'0GX_@UQ%<2(D+\Q_9L(TY%W/QU$XY1>Q;2C_ MH_C:XEL%+UY^VPU&A2'REW@(G\#U_5=AQ)Z9'\[VCU&JWEG])-L!UR$2FX67 MNRH2@? I?&;3 8!6%[%J%_SWA<%TIS.?H10@2-W"+@>8*O_Z4_B*YC.V#):$ MWP!G2 C\I^L#,'G/9OR7*,2,P?L!ZHHF)&'V+GRW&[P"Y> SRR:Z(#"!&X#L M^3!]^ &[$\/K=^%VIYMPA,5ZO.V^T2N8V^[_&$1O2G2IWSF)DXR8O^S>@V%X MPQ+^QSOD6N3%*02^3;QH)/S?W(U0W15KO@&;=UTT2D[W[FF#H1C7?-KWQ5\X!6=W\U"4#*?!IL4J\L(@)/RFJ+ND"?-?G M\LA%#U<4X-)/"AC-\O+:+/* #1XN*'.&-_@AO$-X!DF?,K@,W/3X>A..QS%\ M9O JC-UG<'_0T8"'AXRO4_D:-/5^2,3O4_/[<83D 8:^_^>';[\^"B]N#(PU M)7O)5U#/BB89/Z/8+HR(=2A8DK'ZA"I9JT]((-9,F,!X&.K[U<^F_.1?+\ H M\IY9L(X3C@[OV4M>,_,K70=B_,PS_!T+/)Z3#NQ+%/X'-":N,8@!XP.AV8!>A7Q;%[5/2OW$+]!-:EA]3 M^Y/_N**K#]Q#*OOL*EMS]*):7I%3'>32W*:R(S;V05!0E@ZK;1";B($@C5*1 M(#5]&36MFY*SJG05R=FKIDVMR'U\PI#T;6HZJQP!G*ZJJE?1DZM[^)<7S*=< M3\=63?'-SA3JT]5;?8C#< M@T\"1."]F:6=P%WC<<'.WH&H?6&+:F9SRKTT1+WCXF4U[WPZ3_-[A*&;#"=W M\UE&:;Y!(*!&GD )2PJR"+V4((F KN!H .>&$Q>*H?"J KMK-I )H MDJTUE5[2Y*#T@ZD.Y][8/5 3M!7HJ3I\I_[V=>.)E>OGTC:"$&E)T4G$%H;G M>U!.HQ*IM^?>\#]+O6^K^KJ3Y@# >I%,PGD,JW"\.QW@RI%=R+LN6\#[ IA? MSV78COE%(H/JB*LNUIYL\X.S[@_9-#E- +F4ICA%1;&S)[3_'H4K@?&"J5KZ MM&U;-4FEP@Z'GNE=GXAJ\V[MB0U%%BU3JU?ZYO*-30BPO0.L(UI:U3.7%\+K MU13@N-"R6@R&=7MA[>69QUM3M.P*-9.:./%(/#E4U$QT-+LE/"&W8Q>;<*^K MVQJ1++?>66Z@>JRJ'6K)TV@-^WJ'5T.TY:H]P+OD:;1U,>GC7<2JJ[F+6'4U M=QUY\I1R12A7A')%*%>D7;DBQ1QE2A6A5)$^Y3Q0J@BEBE"J",5O*1YV@@FK MAF@H\G4$Q BP!-@'5185I<\17,H5N<*5M9]Y"2"KEE:A82LEBYR!*9:HRF9+ M>$*.!R6+D.W6&]M-%RVK9D=6\C4NS[[>X55114>^$L#2OG;'[R)67-U=RJ+D2-5.&$Q]1$7V M+EQD3U'6FPB8DO;SWJJEVEJ94\5>K\MW=)F](H80=EFA/2P#%V&O&5X6;SO\ MLEOSBH]K@%W6J8XG892DI>?VETPUHZT89R\3;SC) M&V:.P'2SEWW%D.%>$&;=-=/7\QJ\WH W"5RVO=S32)"K@/P=3U'XDDSP%AW4 M#JT?%^HCIJP5P5;5 WW$K+7&8[!JF W;\[Q[JH>@>2[6STY7B!WOXOC; -M: M:>U%7[+#O>X6O6Z6ZU;;5A\R[3LOLQL=8/25]E"K@JGO4^:F4? )3JC,#5 ? MI,POH\PU15)6=;-RJ*>,O?Z$OM,':$2;L_&8E=7F^. JXI9H+-.L%(C6-I6] MUV%X%T8SW U)7:7/,/VH9<,G?Z&#JF0+[#;$,O._LZ:&Q48KJ^$ER=JZ1;#0 M!5FX=<)%+(P8Z=LX--!SB>)[,(R8)^0R\6)AB?]8I M X,]>!K/?=XY"6_=WLT4_GC"LP,Y@/'.8@>FP,4/X!3@BA?EG:OBE4\&80(S MY/>/V-A#&O$\#^%?TE=)^/WQ\0L7O,6=,+HX>VM.2WSQ&# V\'QPW"7A3R8\ M>\#80?85%_M#X;1'WM!-8$KP;#KYG"3YUM]P#DSSL3=RL9V4SUP@*.!%&,QC M&&$KX(+73CP$_F#!Q@5&N$,\'<>(&**X%(.14$%X\$%:^:R@L MOH#@<4&FP_#['4S[#J;D\QLSGL7N% <]PVZY" + ;#CB! (EPRFT\.?@B6Q, M;5LU]\K3(U_B\AH#:69T7I]!%.(,<3EK,[+LP&=^-^IE=P:$_\$;?P&#?[+ M%[:VJ^GU._5"PT !F(,?9.C9&\@8(V)NA/8$K+$+NYD'>^#_\TNXD,%2B&O8[<9-[[]\_45< MM[G3S)L=L2%\3SR?S7R&ZA]H&.1D'2_(FMD1&) *GSU<,+- %'?2@E>^$N!* MSP>WV*;%)0#,I(AE2P9'W<"-O:R??;HB S/NLK49WLI^X)*,ZW5J!62+/+P0 ME$QJ0(4LM6\ #[&'U@^:(ZF-@[8.O,OE"WYJ%8+U\7'Y\#SF9@,8G\MY+F;G M\O?B[!CX%Z4[7)*_6-=?!.,3&+)$YIH$%$%; #BB+0-BT?Y> ;$7$. MPGG";=0E-HHPW8VZ%_1-5K&6^@K[$8*!XZK(X@ZOR MT+[M6&K E9W[N-!P[SOU0 L>F,5Y%7J6<+CR[7Z5RW M9-Y6OCH#6%.'#3\R!)TUXDC@/O4BAPO^'5 +:AEC #DXUD\S)M,+^.[?"#AZM>/X_)Y M2P2# R/)J1-3I4:P8TN.O+_";/WRGZVJE_HX"Y\8$][CD&; <]2A'X+ADL=X MBKLC5'.%?Y4 M#*7?^F$<_R*4@5*?:CVN=Q'I>JG'NH]$AP[3U<+=%4"*V$UNM MJRVJNDUH);1>!5HMT=(=0BNA]2K0>JLXHJ96Z.=!4&T+Z_H&5<44C?9IUG-W MVSIO1.1#EDBX. 1YZP7#<,I^$3'CKU9LI%M=D\I!5]>JMDBD5E:G7_ILIR5M MK(@?J2EBZ<20%C$$\^$5]2UIKK8Q1A-EDQ:4%K)%5:W+L.7<+0W/;86BS8EG M67([M.E=N5*8W$*SUF.RG@[?CHY+N/+$&&+,F7<;:C8')YZ0L/2.,9:HVU4M M46++&=ABF!=28]V.A_Y:.$>]<8R:PJ&E'2735,E_;1M;;+GJ[@HQY0RRHEG$ MEA:RQ5$T8DO;V&(9Q)36,45114,QKSHPFI)8:ZU=FE8IN&14](B\M$5-ZV*6>P]9J2BB0;SL#"^KN__$RU;R\M8694WK5O9P#]FH M.:)=V7.Z3&JM>;I0,J]Q=5Z[_7'9T>J.EY7D322PG&3354@-R39*#&E+D7GD M[)TF*5NJ< WSK&UQO M=5&UU,H]"0BI%^=KR31_JY8>ZW4\AC=\)4S=Z\NI5K>UC<%G1I$O45#[W-'\F0)0M-BE= MXG "X:&ME%),J68-'0)$)P&AJM(ESLET!Q#'65QMHM&G-Q]);$I'":5+'%Z^ MK-ATNV_&6NK ,:Y''U/$P?6X1.&1ZUA(^@@(1[I$HTG"0ULI5M"*<0P@CC.]VD2CNJY''\4&#*U+-"9K@>OQ)G$'/LL/F,%_\M&DICK?-C%7 M&8?',=U_OO8"/B#_T-GM]2HC[+>?@ M^ ?3RV]?O%$RN7</G%A;5?6W2<28 M\!'NF\3"^V#$1L*G\)E-!RP2-%D45%G5JP22+ATOLO)9\W?=>PE\9U@F%^M# M("232,EJ)"M@?_9+:Q'R& TG7L*P5 M1<_>D!'M:M#N=]^-B7"E"/>%1>,P@A<,F?!U'HU=@EQ)RKT+HUD8N0GCG;<_ M)Q,6$>'*$2[@H\;V,L=M.E7M^=/2[:A/+!&8&P4PTEBX]<.XE$51:7>V&1)V M)\^ZVK3;&CA1\(!Y%]N#$ER["%='M#K9-9/0VD6TXMGKR@U6"*YM85_?X*J+ MME[S0 "A]>+556*#]S@%!+W1VZ$THE)*DA-C"'& MG$*+*]2VNG5,(6EI*6-,T="H$6\+V6(:-9-1*!JZC["_LEG$AI[+._!BLJ$[ M#6%4%=FLNL(26TZ_%2GJ)DE+ MZ]AB.L24UC%%442E;B^*ED1&V]Z!ZXC&6PWY1T=DU+0*J^ Z=3)YKX^\E$5+ M(5YV@Y>:J-@U:Z82+]O%2TO4Y*KN/[&RE:R\M459J9"T0VQL)1LU1[35FB7* MNY-8RPM+DVB.M<=@P%=J2:O'6-)]S':R*^LY M2D$[?63(4JJ?*2>&M,UZ)L808_K*&,NFHP"M8XJC7&BQ;R@:W?9,DK6&;$WG M-!]ZIF^%6:I-NZU"J5BB;M[U#:VU4I\( MKFUA7]_@:HFV6C/ 36B]./?ZAM9;531MM7+5*4+JQ3G7-Z3JAFC+K?.QLJA( M/H)\Q"J L=DXUAF>+U!) U*,PCDVKZS4$8:&1D/KT]"Z7>TA#8$*:2=:JNY0 MNA6.=(E#N-WI,-XY0,@][)U-@-@#"%NZ1 H< :*ME%)5J6: DP#1@,G5)AI] M>O.1Q*9T80VI:H;*]8M-MVL=KZ5?'.-[]#$["'R/2^1L7<="TD= .%+-OH&$ MAT[BH8;K08#H,B!43;I$I=SN .(XTZM--*KK>O11;!1-JMD_^HK%AKL>;Q)W MX+/\_%&R21[.89SWKO_B MOL8H+<79P=36J%F=$.A'>>/7W908CT]!B70((S8,(UX4_!XD@$7ITN\%?'[\H;?9 MZS.IV7*6EG\PO;S$C22GV,DB!]F7L\L27'JS^;NJ2XZJ;;TD2TK%WPUM^T=V M/;%K4 J\RC&Z/"C-UFE0-"@8E"F;>U]U(!98TF[=?]OF?5M,LW35/7L,T=IN MQ\(OPD>X;1(+[T'MCX1/X3.;#E@DJ(XHJ+)J5(FH7CIP:N63YN^Z]Q+XSK!, M:N>'0$@FX3QV@U&\D>%9'RZED^E:"Y#':#CQ$H9E,EQ?^,B HG$9S^?@Q'M& MN:\L>O:&C&A7@W:_^VY,A"M%N"\L&H<1O&#(A*_S:.P2Y$I2[ET8S= !8KQ7 MT^=DPB(B7#G"!7S46)"TD=W76B1IT;[L)Y8(S(T"&&DLW/IA7,JBJ!0K;(:$ MW3FV46W:;8T@:J9H5^[6?0UEL@FN782K*MI&S1US0NO%N=<[M()R[617$()K M%^&JV*)2N50RP;4M[.L;7&]U2U0,LUO=70BJ782J9HE&^UJ]=?MT[ >,5[$X M$=B/&0MB)MQZP3"(H:Q2(FD9-:UO'EEM5K5"_FAAR!FO$D(DA M+6((M>-I*6,46=3KUKH'5J&%'F_AA$SM:Q [%N<3!06(*]4ZY1L8HF/;@$%]:R!?'N,2!U\Z' M0W]ELX@-/7[:BJ<;NM,0QO47_X&BH>5])%6MJC?(=SU#7I!E$UM:QQ9'=*Q+ M5$XCMAS48@9MZK2.+ZJH*I>HF$9L.;1[KUMHN7*JA8JV893^)E MNWAYJUBBJ74LA[B'?%1D392MWF?8\E)7Y[7<'X?_G7MI7;@[7DJ.X53C)!9R M-C0U'D.RC1)#VE+9#CE[ITG*EF)< S=F:?6S6V6I!=+"810,IPP[8@PQAAC3 M><8HHE4Y:D)L.;VKI=.F7NN8HHB.=8F&:;OL:?-T:<(7L*?_8'$2S;$*&0SX M2BUI]9 EW;6T)5W4S)I!]RN+%UP56Q1#M"OG'Q!?6FH&$V.(,7UEC"9J:LWH M)K'EA/Z))AK&)1J-]".V_.[]9R&)W""U0J_4&-8HK$Q!,F(,,8880XPAQK2# M,9HH5ZYT2&SI,EO.78'B N;TIX_?W@DQ2Q*?35F0"$^N%UR=.:T?8T[WT4>] M-45+KU":BL(&+34+B#'$&&(,,8880XQI[;+?4%2Z[><5'T?8*YB-A",.+NYQ M\ X]T[0 M#UD%-.X"\]Z 5>7;"E/38/RC<#[P6:7&X?2A7GZHV\T9T@B>,'6C)Z]>(=P^ MAI<55:K9A_DH/7KN:?Y,@"@+"*EF223"0S?Q8$J7J*]/@&@KI5295HRC '&< MQ=4F&GUZ\Y'$IFP)=>D2?7TN*S7=[L2QECMPC.?1QQQQ1:EL6#21(GX=ZT@? M 6%6UI"$AR[CH8;G08#H,B#4ZK$) D1SIE>;:%37\^BCV/32T.*NQYO$'?@L M/V$&_\E'DYKJ?-?$7&4^!6W\O#9M6T6F(7OSF)VG__Q=N3%,]]]O?<" M/B+^T-OL]2DA[K><@^,?3"^_??%&R>3> ?_0T'Z^6?A+V8?3JXH$,WRS^;MJ M2(IL;;TD2TK%WS7;J/3$KD$ILF0J&@V*!M6'0=E[7W4@ M+(7O#F?5L6I"$+ M$A:=/7)B;5^]X1?A(]PVB87WP8B-A$_A,YL.6"1HLBBHLJI7B2-=.EQDY9/F M[[KW$OC.L$PNUH= 2";A/':#4;R1D=5(3L#^W)?6 N0Q&DZ\A&'U5-<7/C*@ M:%S&WCLX\9Y1[BN+GKTA(]K5H-WOOAL3X4H1[@N+QF$$+Q@RX>L\&KL$N9*4 M>Q=&LS!R$\9;>7].)BPBPI4C7,!'C7UJCMMSJMH\J*6[49]8(C W"F"DL7#K MAW$IBZ+2WFPS).Q.FG6U:;G'V]0VN MV,=9K]IEA>#:%O;U#:Z*)NIVZ]IO$EP)KMLCJ+HMJFK'VOX25+L(55L5#;-J MT:#.-38^;TSD P:L6)P([,>,!3$3;KU@&$[9+Z(0L(022$HW"C0KM^1N(H.$ MBFP?:%I#/&D;3VXUQ:I<6X,8&EC)&$57C$MF\Q);]BXIH:E4;H37$ MEFZ7I_C +4\A<7\LK=$!"]C82QK?J"N%SFL\1'F)T@14GYH*AU\C8VY-3:5N M(2UB"$E*2QFC6J+M4-OW-O)%-2]1-:'S@=%?V2QB0\_E[7@Q\]"=AC"NO_@/ M%!P8?UK8IM- ZMCBB8ERBP@.Q97^&DBC7;69";#FE$I/K M=D$@MIR.+9HL6I?B2T,!TK;WY#JB%5=#7M(1&39MPJJ)6&U=R@GQLM9RH(N: MU<6T]Q[RTK!$P^ABDFT/>:D +]6:VU+$RW;Q\E8Q1<>RNY5-W$,^*KHFJI1K MRXM>G==T?QS^=^[%'D:1[R+FX^%LF&J_H/%233'@F0PX"NUI-5C+.E>ICV)EG&)#DN4 MC7;@K+GA4#YMBQA"^;3$&&),I0PLA0[0M(XIFJ@J%TH^;R@BW?:$DK5&;4WG M-Q]ZIF_U6JI-NZUB:6HU-NDK3?U"H0B":Q?AJFJBHQ!<":[7 ==:*5 $U[:P MKV]P56Q1-FJ66R*X7IQ]?8/KK:*(AE(A6DE0;0OK^@95Q0"HZC5/:YX\5R\? M03YD'=#8;#3K#,\7J*0!*4;A'!M;5FH70T.CH?5I:-VN_I"&086T2RU5>RB= M54[=QPD0!4K9TB6*(A,>VDHI59,N49&9 -%62@$@+I%(W!U '&=QM8E&G]Y\ M)+$I;VCU;V'M=O'CM0R,8UR//J8(*894M29W$QE"U[&0]!$0EE2S82OAH9-X MJ.%Z$" Z#0B= '&N?9F60Z&NZ]%'L0'7HW\+*W<]WB3NP&?Y&3WX3SZ:U%3G MVR;F*N/0I/?&K[@ABL\N2)3NL\ L?'<6L_O\C[9J]/ M"7&_Y20A_V!Z^>V+-THF. =)YO/(':;LR]EE"2Z]V?Q=DRQ5WWI%EI2MO^]Z MDZ-+LF7N?=4!=ZZBUP;$OUEA2N'^(<,FAQ=(,2E_K/.( [=;)KR$W7EG_(Z? MOLVKVB2AD$R8X"X+W@CA6/C7G\+7T)_C/V-I"WVZ#XL*IWT;G.VE,+'M?'8! M(5^B\#]LF B_87']\:LDI!CR@N$\BN 6+Q#&7@Q3%%19-807%@&BXCC$ROQP M^<5+)L*7B1LS0>%5^H=['C<%=^?3:C^QJ/4*B]\B-\@TT0801VSF1H!2ADH* M]=:[B-A/_.X4&X ,\5L-9//.F] MPM/O+NB7M>4N9DGBLRG0'P'A\H]\=*/O#.#VS?TAO .UY"5"@E!TA_N7P>Y; MG(XM.?+V2\?;B:D0G-RA4.0UL%@[%L)A& P]/VLI ^#X% 9WOS\^?A%^\P(7 M+H'F^,C<&'107&7CHUG;L7'-49(\B_V/3RP1WKM1 %.*^9*^N/*K!W8C[I#D M5[^ UOTZ@46]45U[)MB4VQ:Z_5?@SD%AL-$ONSW2JQ!US99D>[L7NJ*!Z4V$F8X$.'<>YO38JVR7=E^FT2,"1_AODDLO ]&;%0B M_MDQ&GR"7W:3X$1K;N/V*7_7O9? =X9EEI,/ 5BIX3R&A34NTU2Y[ Y V6,F M[85#^,RF S H5$?DL88R.P('9]T?LFDR)YM.F"),G113==/ =M+E &G.HL\W MG*0=&Y7@&[',^VEZQ[(Q^OW_[3UI4^-(EG\EHZ8Z!B*,L.2;GNT(BJJ:K9GN M@@8Z>O?31-I.8TW)DD<'X/WU^XY,2;[ -@;+1O.AI["M5.;+=Y^[JQ]=$8JK M%Y"N??2W#V>N>&:[66G4-PSM7A/S;S8-J6B]K8E].@]JRD+#7 M;6&_C1JN=SNL8\5;:53:K5W4*)?W\HP!6^FTRN$VQ;N7'=++7D^W61&\;S'> MYG45@W*XS?HD56UO.,>\ ";BX=Y+QUY7 )6W\@;^0>Q"OXO:[_)B#GUJ1Z$U M@XLOEYQ%G$]HWR_58(WJ@U+;UC15+2>O%O!>RD'%1;V9DF**>2\[I9CWX#GX M_MOM1;X:Z0Z+E?9+/UBCFJS4N75Q<<6NU\H9K$6ZDW+69U%OYJA9:=6K);44 MZ4YV2BWOP6_PS>\%(R5B^2CR4D55JBMK!OGH1&Z4E8E_>U M.JVUIQ^5%M%KWHA=:3:=\DX*=2?U2JU>WDFQ[L2I.$[SS>]D7]M/KYJ':+HL M^&6-4:$RB.>.7EC"=)Q*M;9AXL+!5FJ4F+L/F-NLV)LF=QPLYKY7M-T3G&W4 M*YUV66-4(NR^(&R[4ZFO'8I]JQHCLP.SX\838VRWT3.H_)F!_=(FA_HJZH[5 M0N??O&_LCRAHJOWP]OCEHBH_UOI_*713=]B-T^RQ: Y:;*%H#%:+)4M@#< M4@O [>A&!]2UJVQV5C;0*W&J$&![FP9Z^Q+B,OW#371+C %$T53_\#+.548+ MGCUSU6JUREA!B;?[A[>=;;M?2[PM\?;5SVQ;K0WKNTN\+\K5FM(O+; M]Y#D7G;5>Z_9H56KNFY21)FT^Q;7XJQK,Y77\B;4LFYK[?):#IE:WD-E?-E3 M[_V5E0)%E3W"BG@MU?):BGV4 E^WTWJ'"?03*P.X;*97:M_,^JKULDM8T:ZD75Y)P:[$64.;+J^D< ;.GOH+ MWCKYT+32ZQ>_X.B]9A'O20JQ;56WW9:L"!97B:Z'BJ[VAGD#);KN_O;>';HZ M5F/#?(H277=_>^\.7>M@T18-73=HG[>9Z54^__Z>/W [\4_Z ^Q#"1N2=RJU M%\E$C$20Q%$L?3S*MNW%PPUY.':ET2GG=!?R8CKVAGTSRHMY98II;JA8E!?S MRA13VQ'%/-V:]W ZDEKUFK.5/I2=NE5KME_2A]* P@]\M9PV9G^U8I?"%54A MN-'I?L"OV0FYO5J(8HT:^"V>]MEVQZ]TW.6="UR_YR5]I?\RW\6!")!PX.U" M/8Z5'RGZ:1*&_*T+MW87PF]%/%3BCS_%#;;"AN4C(;-W60M@?/BHM48=Y0&@ MUJ*ZUQP:787!OU4O%E^#$+=GB0N#=HQ+KB\&;@1'I$Z,XD&%2L@H"GHNK?#@ MQD-Q-921$K8 JR7#V@6/-X5<^K3S/G%QC=J= \#%V]E"JQPB]M58AH"EU"<= MF=;%T%4#\>51]1+,8A*7@X';4Z'H,R;C3^*A&_;%?Q)X$+Z YW*X]C[Q:8UL M[P/ I[]C.GX.AQ G)*FLD M_!T JLSG;(9JX('DBPAK0$BZ(T(C,$6P*3CL3,9)'(03>H94J4$0TH__#1PH MZKN,/"CB'H9N;TA?]89@Q0 +"U$$X@N#'DO"#7#L!:;!BVPXWF D<]B(CWYM@XG%/1D,Q#H-[%]&V"Y^-%8\KB0ACX7 "43MTX;#T MXU !'$+BD5%%6Q@H4A^"\ HS"< _#O09V"(VT]V7Q%//RNXJ4("#N4Z0[%@XS$ MQV;3:@K8@8=(8]CIP T!"WP<&?4O -;/U*1< MCSA&4WK/9+"9W,D9>_\OXR^_VE)\@3& =U4!=/52= MQ" ,1KFWK8")R]XFO2C(O=+.RT!<-J?>L#(V E#!)0>]'WN.RN=@>B)HX+(S M_?T"0 6WJ=7RENYW6MPD=2;4F]4'>2]>3 M7=?#7\+5H;Z+TI=M$F&*^!"U\W@#-I^/6CC;38W8Z M?Y+^#X3V^0@VU),5\=TZMRJD^O1'KN]&I&%A0><=/)0')KD'0DVH<^_4;(8M M+P!1XD<*9!GZ$Y2/1-WC)\!PXAL'=H$ZW1VL<(>8D[.11D'"2E\R)L;6PFCG ME'RN9,Z'O,E%3OJ1[*O4,I+B8[TQ__0 3LAB/53W@7=/2#*S0<)1O7R..' M@/;?#QZ0>ABJ%*]@ O6(!+L:L(A$\&@ ,HG@1W-867/Q@@C/U(?;Y%TLN?DA MZ=FT19)G][Q4Q @JT68'O1Y^V">.,IBB@,Y>D>]"4@&1Y7B))/'7O!DGT M!%(06/Y4GA>)KW#$@&AX?<*M\$(C^>B.DI'HYC"3R:S6GD4H7H4"#H D*4I. M;Y!TF#QKP1!AZL"C*.CC1$E3=IYL\G[<-%4=H6)=9Q'(K1K<"5ACX2^(U M#6+I(?P"!-K_D2(/A$0^(3@V0 \DW]!8P20C-0FF;B0=!R==OFHUIN%L5*\' MH"AU L8O\54?>"P8Q/BZG):F5#0;5'@>/2V1*2K>A ZCQ2TM_[$V>_/P?L9( M?B%B&&R[/?/2&J/)!X0>;PRO)X"%??X&04!96P,-3+?T,3$BAD2 M [\JG:Q_C<@LC@!>?07+\(4NMC-86_141(O[HF8UJJR.S*[^S8#^(MCH->H1 MW0WP C 0Q'DLS"10EB5FBBK)),(GPL'1V',)&JQN>GE@Y-Z;J>N(/]$R&;__ MV$(>EA1ET";+6=O84LFI_CRD*YO07_;/%EP<:T#WN, #F@8_U.RC% I(X\/& M2X-V'L#>C01L0++M ]^;#5$JG22"@'J#T:I.:=/1S-P(:._;@--ZX X;+ : M=Q.J9HBF (_(Y-],!Q4B\KK!$J0SI7QL^D>9>2KQ(P]NF[UN.?\7QL?!FOX. M)!J$BL& !)O_D89[1/"@)Z:R@'*,;9Z/$E^,@0XE$!@N/',.,0(T!-44-"RT MLQ9O<[^\)0NM[3F$[Z+=.@#K..9 J^9! "OEDI#!ISXAOEV3 1J*6P3TC?9G M7 *J^?A2D3F;Z8='-Y=?KX\K^ #B%-CK.2.KDIE/V0+7:ASPL^<:?X\N+J^O MSX_%V$LH0BV4[+%-C, 670JW!1JE7T@!%N8^Y@Z:WRQ3&KTSE/Z=TB[=JN4T M?D+*J8)R^!,OP,"!HW-R >Y_E:5LLY2-2VGC5/I,[+@_0-5%2V>-QA#UL:'+ M3_0M;*W3J+=^0B-MC%K&O?(F>X6]JW%GS9%E#U4CH%#-D]D!%V$$1_RA<=^- MLD]3KHJB'M&=Y'Z\W$M#;B@3X.U.@*",[TEFCFEVU0$7._E!MBU2Z6"$;P>1'#J\]Y;=.AY'7CN-51 M:,.PGXB%,.]>$$JGS^^4#Y2.6DLX#HAU@VP% Q9S4QZ,5X+\",:K)R2V[XWX MNI]Q6=)K%[@Z+7&9RT[I+F*T"Q8CK>NC8S=R<2))NM1B56V%MSSA)Z.7U:NK MOFN?,.IIY78H\;K)W<81W5RR"?P=^'Q@@II0Y1+ MSPG,G.]DDD"B)"1UFHJ<8D)-XBU@3KFL,T3E\KB1D<0,@@3KK:7\=V^+IMZ ' M))3 GJ:?(;QI]5W,RLDLK#2L$(1D0%8T43=KEI,1]1.T M@*M^K.5BZ; EPH"YAM=1>F^_60U&&-@*%(+]S"7+(/+HY3* MDCASL3ZJN5F42&/\07X03VU49S\/&%73(#6'4%B/$=$P2+P^ZC[H>KJG**LA MGQY<-9PT%%V$!#"/O<*7/\VM(2C(7"<^[G9SB4#5'+)@H1U:FVQ#G'1!Z1@ M%T8/61J%GRER2EUWF">)Y$,M8^&DK&!7I'TWV0L'S/IP?L%3!7(C[ 117> MD_BYR(^F$FH 0RJ-/)T0-#$-Z%75(P#_&N29NMG_@6-SNR^B'*T MAP!>^A:^H\3CU3S2]CG?P?9F+I+%#=&Y-QHPL_'H2?+F,\!R'!O6\ED^\(D+$;6%]O!?<&2;+"PWE MO6)EC%-GT5^@3T>WQT*3_*(J'\W,6'1(?#Q,-3_"45H6>6Q7*3^]@92[($Q2 MJ*5J7;HI>J>VU U0U:/+.93FJHJ7L?XD,GY.E#F*26N"/]E@!R94K&._XM$JL%V'HL5?2)*,L58^)_725YZI[Q9>,#YJD*HR]IME9Q .Z MV+H=F36+VY%2^HEA$,8G9-+AYCS8.O_E3=62+)# .LL*?<3&4S"UJ0>-.Z2H M9W *NJ2S=D&W7/YRBG_GMYE%KW7-1E9TD7-3Y(YO5N ' E:R M',P ^;AB*X)X+7-H=,OD3I3"4O-LOEL.J!ATAFV@KA&S/\?U$Y-8LR L,44/ MM.B. 46O>*VKY4QDP4 8AYAG FGCN,5S^( #6EF?;6K%CWU N M\C<,'O##";#R,3XX W%,BE%WC*MY%A]T_\T^PHCLR20$5SBG0KN0CD&UHQD('UVM\7$!76I''%%']VSJ:E++IXDI$4Y?1S^ MKX*E/.2,]ONG:$,I0"O<'%M')'DX^+E-'KFLYJU,K\#TBOKR](IU"@-K'\JD MC#(IXZUY[^+4\FOM]KNBY*K;7$7X/DD0C)RFGH$AAY9(LS"EQ\8:P"B"%Z"N MOU#O-$Y03C7+U\>C380: +FJZ+?G/LHK"MR%-/WF*T@485=/_IFKVD@%LJ"* M:E;_?Y.@3@M[6[[GE]8I-Y^O4RX$JEZ$+E78B_->#WTTJ ]=@7+0<_>K;ADL MLE KOF0P^0N0UQB7YL@R._)8'YDMAW@81"E:,YYOBIRB8'C960$O=5>&$VS! M<%9O+-P.?X0N2#\^.ZDW=E%V_RU6(U%[_2*=16^?!A(&X!P$P>\)F!!@L7&F M.*B@OV/:A_[[<\HG(W'>#9)8]P\1UV[T8Y^([5H-T$0*=)K$"-Y.N4MVZ^=H M"U12T3E#2(!)%.4SP&?>-6+XA0 _/HO7-2HR3NG1/;RMS%.;^-,1Z8I,]+OIWY4SBPTX:3NQ'@9 MB/]0K5[N39^!(QSK9)TP="ER@NX 4V))OH4L3!XEL#QG^-!NTGS$+-M&[Y_] M#Z8LQ3C)GNHW9FI_^/NO:>ZP_KZ2GG4P8%\*N5STAWV%%9KLV#1^3N/#>!Z4 ML_EKUPF&GNV:/+$;1^H8G=%VHV_^X#=2?AZ7(WUY9'Y*?1K@:[M3J^LX'[-S MAGKN5\?'%F7"]44RIO0Z3&#(0?PY."V!$9Y/ER[CDA6=D++@SBNK0H;B BG( M*0O:IP=HSZY/+BY:-N^3[^;514+!5%AER5B(D#HR@!YE%V%.@?SNR,U[\:?A MZV*KFV,V[L@C?%[[=+03?;EG-%@G+3)>B MY%Z?,@>8FLZT%H9Y/Z!_:30V&;(SVMOLT^QYSXHH&).9C6*@Q;@=5EA[)*K_ 37N'& M5KS"=J/T"I=>X;=&Z<5FS]7Y]:WX]LT2E[?__>5:?/O^]?+ZM_/;;Y??-[ X MIP[Q4N.R?6C&I5THX_)7T%4\MBH5?KUO?M5,D<4:?>W%#\0]Z)Q8N>[1\<;9 M\5#SPW:),;4H$*C:^J@T>PN[XE$B UM3H%R"TH<2EX/!6=.N?'XT!J(]CN]B M IC;(U6D#P *)Y5IQ1LD.5AW<"8/M7#,Z&"EUVP=6YPFL59Z>YYT1_#/T(U8 M:8UU]\GLU6/N:8Z9O<%(Q01B7A>?R+?,&06^BC%!JB]'\H[U?'BZG_32_A2< MV6LR?4R7*,G!:4J[TK%H#X/O%$_7J56TBN>:Y ZR2\&8A?=.]"GRVK?)5N9[ MTJ?,):9S#Q85DG82*>E);C=#;T%+ %CVA+K.ZGH(W1B'4@GX9_N51S2+TIAJ MD@,PMMRXTUT0IW%!HEZ8)G6KT=@+)KHY#^)SCRI$@O '8BXFG(#AJ-?)E95D M]P8*94P-?\Z]>$@IL"Y9>Z O MZX: 1A-PSJSP2HP(F$8TQ'ZG&I"6R+6P$/ M*!V,-I:CPPHF+0'Q96B4)>P#P9#EQNHP>TJI=H$2;70?#D2:@%)#Z%(=(YT:%)@N;D++#HB"#RY=)^WXWG';T[CY6U48(8.!#? 4L#<)]DXK/AAHPA*%3Y-+0(P4=!GQ>$]XXJ/BB4S\T M>G&*0"ZI+OF''V)+7.Y/=R,]3KK\\I\$!4K.0XL2YP].S-:*Y[[1%Z \NO[( MT4,B*^V E_?!SN:;9,TJJ9O:C"<6H(':*)9L4@?+54=^G+T(=F\[NJS3L5K5 MUMJ3R]I6M=Y9:W39\L\;M=I6AJ#9MM6NKK?4FVRJV6@6;5-UJ]$NW/4UK'KK MZ9=O=QC*UBU3D'/?8OVB=K8G5(L/ M7/.&APU?:3[<%T=9T/G]@$:W&V'@7%%'GBOIZLC$V 0E"%;O#SB$-^()E 'C M^DH7#%PE7<_M@>D*NG&0^-C5\XI*(T$?!L7F+I2C2!QUWR&*_:;[-#$<&:%2 M8/*?:+6;Y-B)^%\5BT\J!^8LWOP\2#>=G:[5'=2/<&XL]=,1!BP;37]Z.TV4 M*3FYPS9.-6U@H8YYH\8Q]QYQ6OSI+N>IKPSAXD\HIABJ\_-F(XK7P;1=#)9^ MW7M\$W5HQ6O\^&I7M_*5E:B[JYGH)3LJ[[3 =^I4[':STNK4"GBK:^M8 _K? M7JA1.9VIG6E2E[TXH,\:+]"C9J"P-I(O@&+Q\7@SWK0885Z-_90W4]Y,>3/E MS;R:5-[2W6SJW-@'P9N*V&8F=M/>J28K>I?^B_W"U!?9!'NF]I3.' M?#,OM(8+8O RF!W+:114!E/ :Y>VK79;Z#22&H"L'R28E&*.?4 >GA=I^=L# MU(YLA!UCPGZ&(;8/FY(Z"DD=)<\LL:+$BC?RRNP6+TBW/*4LVC43TNWV"@GI M=GNK">FS*3^+LZ*/MM^_99473X.G8]DU//N?V/&B3QVJTT[65(7$V5S4NQ4K MR4REF$GDDFDB5ZAR0^LH[VAY97\%2PBY-T?N)1%5-O65;L*11)CPC:WSL_8L MNJDX%F)% Y[U/ P\[LTB'Z?&(^1JXFC]$YX&-E7)E=N@WMEFS28*C&3;;S:Q M/I*UK2:=_5MN $(56\RDR -W<3X.74_85?1A5FM<^ODID"%U!OKLAHK+;&02 M#P-NCZ+;L*2-UP?"KC2JU0H';[1?E]=K M\W(5\Q9AU_ 3NYE]0IY>._\3'IP%T#,N8DYFL[GORS\27PG'H8^%G8B$W93GMA'@[3UV%0G,?$W]_$,UOV>C. D/>JS _"YQGXBO9/& M!^'+$8!$]?IGN)A=[39LN >Z+=7_ZLF[#X*Q%8CY,3X;N(^J#^#R(O6!*'QP M8E=;V!-CY?=\#_P7O*KSX1?)3_SM=.J5O\S^C8#;>%>WXHD1X*- MYF*X4SC*#2RK[:,>8>BUNL.V:$CZ-R?_7"Y]WGE'I^96.CK5JF_1T>DD4KT3 M@!GV=3CC_GJ3ES#E7;9YFCJ+>ARZ73?^>9=[>_7>3ZO<7H'4C^?5KV:A:M!! M'!,2;=8>M[,"J#L$Z;>MFP8F8%69$:Q3.-VP6L_4N*ZZ4LF]:1 SC>!R=G9X^/#Q8 ML$7K+K@_/0][0YSA=*KZ=S(\!8-?GC;;]<8I[-.V.S7;:53KH%37&LYI7SW6 M;&L8C[!E?123=^\5>MYCRY83-I:^JFY([@_.A:_6K>,%4FVCLLL]*@FH62ML=DU6K6V1ZUZ)TEHI2@^?7!F%#-'J?SHV_LNIGLIQ< >GJ]5DV)UX M\B'"%GZ@AX>N)F'=_Q_=^2G5?J)?$E7#XTJ)+^B!@&=HR",0[NJ2MV:&SF0D MG#;>_IWC<=YD@1C^/4?+B3?1[=+L3>7N&RG:>R3,[>J&FG8IS?>*/:32O.FT MG785=>U.LUH]U4>QJUJ6WZBQU"&Y\[M0Z9$0?2+O-!I8U4T+GR'_!;3^K-!. M2UQT9>GV-.P]$ME E)NIV*7,/BRB=)@H+PZ =AW]E]*Y6!_^9#1^FW[7XC$MNUTF&(N$/#8\=[D/2R;\I3/!N0 M+(X:JQ_)XUP7LF<&C+U+H]NVG,U(IQ3AQ2(=9S72F9]P5RC2V2>IXY12YR!( MQ]F*U+';X@_KQKJPD%;H0;O6J/+02DZ^FOJY^5&GVDSG7\JP*WT5G5P^>FIB MR,NI5IUW*9F<4C(=!GEM13+M!7GMD?2RJ_LCO%X!!K8S-P3"S%>)Q" ,1DM# M":N& W14?FIPZ-(L9LYCY_HJ\ =PQ2)U9^Y&*FTJ:>.SW"&KYY%X5.E&X=&<-I6#Y!_J%0G%BW=!,96I82\5&LX[ MO^AU-GOI,IV]E)Z8D[=Q,1_WOT(6-_UX^BOMNJW3%A;MX09#/Y3V;BIJ0C5$ M0(%X_B)#G^;$O=J6[I_?$0ZB^DJ#J,PN\-TG+W[W\Z^F#MU8@Z;"Z*]F=,LK M@8(F.-_#!7T/L!0'.._4QC*>GFW1>F>*C%VMOY8>8W(;BW#,"QI#? 6\"-@D M<#S)KM_/,I: !L"]CC(F!VR(F1R/^?9Q?"#S/A.)!?'TPO[PJ]1COTS.%0GZ M)F,6I%CX0X]F%U(<_>68ID;2M$?V&.-@,?S6F@?OTFKFMRPL6#,S?F?5!JWM M5!O4ROG1Y?SHMT;IQ94 -]_^_OW\]H_K+S?[-,GM*F?UEL9_H8'*_VS%(K M3A_;?H:4+6OQLZB'2WJ;+#1C_ MWR\6Z$QQ.*,DV5S%M94;?Z6?;78*5E9)2V]^59\F M9^(T.A6? U]Z?7%NB>^!)_UUK+OWQ"AS-NDJ[:N>LVNW.!XMA1=I+&]-\$NP MQVA/.["X333P8BC=L"*N0H5M.T!]1*_&DI#A[O=]=!6Z/C:N\N9W=[S,-;=J MG[.U&]Z4.N\3.F^]MIW"WZWJO(W:BTJ(]T%BEJ5SLK7+QQ@@TBS@HIBA^X8Z6Y270;W)B-/L!"O[S7B](? K.SDG50LG3 M%99YYPV%VLM=_*?=H#^!_QO&(^^7_P=02P,$% @ !&DG7%#2[3,Q$0 M8\4 !$ !A<&]G+3(P,C4Q,3(Y+GAS9.U=6W/;MA)^SZ_ TLN_X$8);!_(I9?-F\XLBZ]#%"\.S M!PX.#PY/PF+A6W9V@M#1P?%!JVD=H4GSPZ%]T)RKU3II-:$U.6A^.#Z=-"?VX6'SJ'4R0=;'EO5Q,E5,G]TSUWI W;/&P^<+\[V]Y^>GO:>CO8HF^T?'ART]O^X[H]4T490UL'D>Z+T\X0Y M8?FC??EZ ET4%H<+.DL4EP_V+#H7Q0^/6ZW#T["DY(,+.&/B;LR9_ M62 WFT:\WI>O93T?FL)V1ZUX339?DL6K.=[W7S8 Y)SAB+RS_*^%R"";+L,G6&Q>4? M&75"0BA7]/))\&RQP&1*_0?BD722L]!3AF@:QJU4[ TB=>OT]'1?O14A3A%# M9C'JH.+"^PM&%XAQC-QXW%8,'AB:GC=DF&J&(>K/!4-[0I*P2*J"I+O+UZ(& MY(H0J?3M1PJ%+*3CG3=<@8.#?!-567\;3!A:LWD FM'A#'0LZ-H$ERTN)T:(X3>)_@_9^:XC;LCN[Z MX]'@:G#;';;'/?'JCD#/QES.ALHA5\A+B]U1$78!:S"X A%S\'[)OJ[PC<;B M_]?=&VGUSN#Z=MC]UKT9]7[O=MO#F][-U_7!+,%9"^V'(FBCBB2ZB:I 6-<. MZ1)X;!1]UZU&ZP/'V_2!7?!.@]4>?;OJ#^ZWU.+3W+0(GY1 6+ 'BO^N92?L M/OK6%IX_Z%]VAZ/N;W>]\7^W F<16RVN'\UQC=?S;^#7M$/8%(JM!6[C.K38 M?]H>]C6.V2-O/H?LA4Y'>$;P5*A/>-NRJ$$B3AE MAJC%BVOQ:*WB$:.ND8FO,('$PM#I$9K9I7DM7(FATZGV.N?"B(UZ)3%+]*1G\3-EHL/JQB$>.Z#/,^ MWYI&]Y&W6#@8,3\&H%M&9PS.!Q,'SY1DAH,M'1,M4L?I<9;/,XA." 1<08QM MG7!Z$'."!^K8B+G=OSW,7XR 25-ID3A)(1%C(N8KBDW=+'\!!;4('@M$7"6/ ML?73E%H$/F8BT%2<0)Q5C5#H$6%6-(;/IJ/0J+C6WI_2HU!)#11YC6S8CDI-+B'A.MW"SQ M$R?0VCDUGTW0U\C09CG/[6=1#;.IQ\>M5),PSZ:"]^%?=4J(E\Z!CE6A5TFO M!JRU(&>TQ_62K."]7V6= (\E0,VA3!-I04IEJ6(\ZFCWK%2J.0 %U%HD4CFJ MS'1L'3&1B5-S#&*EM39/99LD<1U-;)!E-4? G)D6H%02RBQQ6T<(MP#+*YM00O,T58 K$B>BU,J<177J*QCM"L9K;,0RGR;3&+TZLU=/Z M)7,F\G8)VW,0G0:DEXA#[+Q.@B:W,BW2J6S VBD;,88(I) YO8 ->!](LO.5 M OB"I&<"QI#V-=W&I%ZM!Z6R&&M[4"A.RI5"-CMO*A<,VHY#G^2D:TI9AR$; M\SX5!.[;A")=[5K/2N5JMA2;EH(!(1GP10.^;#L/*X=Q4:FW\3(3";2>EDHZ M;UW$_VQ5PO&$&#O7 M^\>X7F^^$&7$$-[^RW/]M3=*!@O$H%QZ\S?)ODW8*R.)U@%3:?8M.: OI)I: M1&("2L!2T'!C<1W],+:_I(3/9%#I\#U*Y>T36UMJ:/JLW2FQ"?JCL(?T>3$- M'D$'74/V7=A(/!@ARV-E)W';JTP+=&IQ('OGS,JT/Y2@*41H2AE ) 2(I-AY M2AJ\.64<_T^N-,A5X1JT=B"V#=Y"0.H!YUK*)<- M^,OV7&F;TFA]S>S0[*JOA2("*:/J/I92 BDF\.54O4R%5\C*&VJ7F\M M>!1RUZ)MN&6S&8\%47,'\3IKB;S<;;EI&];RT**8O0ETUT17@(K-P@A'0AW> M?98;P\I,_8SX: %+Y><#P!*3L( W")C7$C:#C;B;-K]-J]""G4J,&^X WK7? MU73P*5 ""/5(M"*CF5=8JHAEADG 3:-,J5 M9:G%+I62RCYRM(MOQ;C&]H4B)@Q"8N\V@]>$LQ;E5!XK#^7$)E*_OI6S9SN\ MDZCX.R^0W;WHC2_;V\(ZFZL6YU0*RP3GL"[@5U9+B..'_#:-T<:\M'"F$DZ) MLXB[F)P#8-2,,E?H_:U5BH"IF64\@^RZWAS9:Z*]O8JUKI'*4*VX1KR!Y^X M"#:9A1*E#T;Y0NT<*DI5R#R@6D>%3O3A#D;E-ZOAYN%B_8IT#G.<2I@5.$R\ M8\@:J_]M$F<2QYT_["G)D6Y%1F*WE^>M=CY&$8/XD:>RPW494[9U&2 MIQ91S8GXU1.K\7>JHAVT"1@0>RRW@=R$D1;$C,/NA2!*YO]TX#[O)S_4[O]. M?,Q=?LH=^?V0@E5B\Z?<\XZ9?!;LMQB0KY3:3]AQVL3N"=7)#$\TQ) M'KZ;0$>N%(H7:()Y [B>D 1S3Y;YRJBW.&_X!47?.F\ KICX3^:4".S92T^\ MDR57CBG*L-C #);B]FIV MD%E&MR<&K,B^04*3CJS5\1TZWPUT9-75-X@8@]6]3>J*E#%ZYA<.M;[G*VY* M7\8"1JK:G#7E7^X9#VLQT%=YX10Q8=3!(V)C/$<]LO#X->(/U+Y&\PEB<65] M87U=S6A?45&;SB$FZVDY\/CZ:F815T'/\,:-Z/A3AQ*_2Q0UA3O1W6)]2S*I MIM[+.R&NXI=5W#-1$9U.VU/1-D5A*O!\R6W+&W*M:M=FJI8ZAAD[ +>QG=(, M*]L-7'L$6W@A*[,[E"VHD )=4&)KVHZ>K@K-Y4[T1Y88,=LC1'"(T!6T9'[J MI5A!(](JZ#A&;-ZGD)BIE5>Z"IH,T2-U'N4,-V'L3ONR6"<]716TNQ>C0O<* MLAF]@.3[S5Y[KUBK_/)5T$;*-)A>RSX20:=8D^RR5=!"[L:_0LAM/V/U+T^# M=+DM2&_S,UL,L8@K'O=2,5R((<^)E]/A4BENHD58L@HH]!&Q$9.2%?M1NEP5 MI!\_8"8_O5T1)603\Y^A@-KH9M,6@<#(=M_5@EJW05-.D1BP4+7*MB M1@/_8O5*L:B"SC>>E&4PO63PR:9/!5FQC))Z!3"1A^++S70PX6B&6 GA^W([ MRV#:"695&@562O]H)63XAL]X[LUS%5R#T^LH MOQ!SK+4U]\4;YNT\%TR;*1IT?,C MDPGICV[EH7"_>6*DB)@[0@OHW\941M.27'ZTTBL-+KP@B^%'(?,C*EB(TQ)6 M-3\I#X! @I%[ :WO#IT%-UZ.J;SB)U]A'5E56VW&TJ"_6:>UHG5?^4JN=P5X#,6X-EP.N&)U'T]SV7";,J-NSN,Y>I"OO>/YK]$JT,A,,)))1RH9-KF!(3.462%?$M&73H(X='@\KF-#H22L[RD&.(T+J5S& %TU& MB-^VYYA@J:>'TKU4-KI306*$*M 0SKJFFZ\25]:=EQL" MA<0JI ]NU>X6+3?[VBV$F:4K(*+AF?[.W0^P415=H/X/67? MY5XZN,!B^A:M1.=B5Y9-9=TV2Q$932V/J7-W#S*'XTHL9[Y\Q1%Y7795=7@S M?>(];["^)D +EBHVM)6&]\]MN/"3'R\CCA9WBR ;NQ=V4Q_(E/))8 9D9\D MZ-FB+)YBN#Q6%[I .^LJA.4W;/H(NF@HK],;3.]WZ8UZ$2HZL+UZT6$V/N.B-LE M1UFO*$2MH1#]J%4%-.)R5!V06/HAO&1F=;U+MSZV%JM*+91=,3B7]SR47FK) M)GS3.:*Z/L&U'M 4D M3K>KTG'*2<_L_:3B!4RT6Y8RDIS$Y]\XMXU,\Y8DK4^$!]! M 3!O__GU^/1D\\XG0TGXU^>\I_8TRD?[U^!>_J?__C;W_[^ M?P#^Z_G1ZR+ M7W]Y^G$^__3SLV=?OGSYZ6N??KKZ^-Q^2GK[/\]!]_>_)D.1S3R0B/L#RI__YQ='#AD>'3Y,-/ M:7+\K+[Y[,7AFW>'KP]>[KW??_E\[_7>FQ?[[W[;WW__CJ OOFI^^@E_>3H; M'G\:X=EK'Z=8?GE:OX@@",VY\!7 ?]S\9<^^84MAE$Y&BZ%X3;^OOK*"V1XF M?IWC..-R*,X>.)JD"Q\:545,IF=_.0H11XM7!R M.+^;3]*?'R>C3+-F_]\GP_GIP-K C6(&F"D9E$4-410.0A4G4%KFXZ7!JI+- M2+2%.DN8Q85.5P]\5D?Q&8[FL[-7%N.Z&---,2V'N(G,+TZF4YKR QL#MQH# M).4=J% 2>"P&!#J?0D:E(^].RA6*BW*MD6=OFIY,IC0 9,:>/OF"U>2L+-H2 M4IBF*ZRZ.)M6GW@V.SD^7GPG#.=X?/;W93HY[I 7\TE3!2SU3!)M383)^,-[ MG!Z_Q#A_,QFG%1;I@W0F M$,[%/UV!IX1AR0H0NTK+.2$BG60"-F6&1Z'5TC?EQ M*ZA-J"(? U7:JJ<9:][AJ!R,9R?3Z@L=X0RGGW$-4Y8I%U83(Z/A_.:E:A"OIB,Z\J'XT1"#T2R MW$<3 8TQ0,Y1A)"2 YZ*U<+(F$+KR.P[<#:AAGT,U&BEDBZ-A:%/>2T9%$LQ ME(I90K2J@#%.,H\BY*QV;"SN+M=>SL.J[#!Z&X;Y8/PB?!K.PVA@'&9CN0'C MC2#EA4)+=A3 R!DO)#PGV%T@@,1 M?=*L*,",-'^=4U"S!. ,B:-=;_5<#=3^A'.PW",>3], MQV1A9WLIG1S7,<;\$LLP#>>#6!19U20A._+;5=#DO,L8 %/B5K'@12B-:7 [ MJCY%XHV)T5@ES:BRAF/AR1.!/TWQ(XYGP\]X,$Z38WP]FX/RPO ]?!THG M0^N_!R>SIZ#/D4\?C 6;B>M5Y8.E=6,46])ZT@!8%ZS M@C9:X50ID'1.)+17Y/M; 9ZYPEDNR'+KM/ U,/H4DS=FQK:#WLZ>S&8XGPV4 MB%HG0:&_T!3QB:2 C)J")&-&PI0TCZW-Q.+)V^+_=3+)7X:CT<"Y5(PU'DH2 M-'K2)Y) "(IS*-+AC'D56DMP]NP^^<;WT.=E;MYK2#O:DSBJ0W98_ICA0K!! M25ZDHB287*-9DP5$% :<#LBBT-';UHF [P+JDVO<0/7M!K\9'P[&\S#^,(RC M)8BZ6.Y_3:.36MMRSE09BJ>',_"6O##%(X+S.H,E2\QTR4SZUM[Q)KCZY!\W M8$=S533T82;$W/GIVU$8S_?&N:[0GVK>BB .C&66.Y-!1EI_AZ9._VX 4S8:^L4MS7FUA4@I.1A N$H0:KWGD""K34D9@4,O6 M.]@7 /3)B6V@[OL/;MLMQ94%^K9YQ1)G5H8$Y'K7Q$T($+C2P(L)04GN+$]= M["9>!M*G?:,6'L'6@]VNA.EJ*54(Q:22'+C,(^$@2Q-=IA7')8Z*>YYEZYW" MVVK9[I72F9R,Y[.WX330VGHF6Y+)U!T:""X&"@? J+&;&FNEJZK/,\P96Y=!,P:4.I%$F#-9*"?('3+"@T(1 MA4D4V.O6OO5W NDJV>KD[YU*1 M,N@()&6L"S:'('0!1K%PM&2T([9>)C<"UB<'O"%9FNND8;%.0@)$X>)LC;F* MO'VM3 "GI:_Y+PFQ" Z>A>BX*RFZUNFG:X'TR<-N1X?MQ[R+[.,Y#ELR/3&# M\[CPY35X;2T8\NICTL+JYH?HKJ+HD]?<3O%;CG;#7_UY_?)'6ZGZ7N/\"4=__W9Y6%Y3;]O>XC^ M:/_='Z_?OSM\=?AV_VCO_0&]]<Y^IOZ[W]WRB/WF0C0Z<[7\E)Y%(/!R'Z>D!<6^Q[5!= MQ\F('O/A8#S'*<[F \'?"3+% V1\2!S=E87K:1CC9WD Q8,Y]9FH-!?D]>0"C@I') _'\F?B-+*UC5]WX%S MQP *_I*\:J7.9OSZ=4IC]'8Z*4/R0J.).9)UU*DZCRY9<$DF(/=+\1"94]@Z M<;GV^.W3"^0'G^"9OB]GS,X+[JKG3?_-]=R =4%;)A T#Y)426+3_Q "+ZBD M2MG8UC5.]X#9I]7_OGRYFICH5EL-=XUG\\-2JS07YX1Q^GF8K?FMQ5+&@U^ITX=B96CL I0 M1[XZSVT, Y8E<]X0,M&Z2O96IVZ[=4!$$97@ ;0S))'58M') DK*O$B=2V:M M);IQ'7A8:[>MOJ^<$+GG*+=L051]F5]Q3(*-:$[MY>/A>#B;5S$_GT=, ;54 M7I.,2C%0]4?0+H))R+S0607>VK/<#%FOK%QK=G2@G&;$>8/S-2E%\3D23\%' M*T!Q8G&0.H'3AA7'E?&JM:=X <#V455WX4'R"5TAI7AE:+TKGB(#YCUPP2U: M$;-RX4?-KSVL-;X_!Z^&8?W0?\,TP0KHRD@\)QM2%QF?L]$A2_ RU)-GBL 4 ME6>[63-INX'>R$?/N/?W\??]-W<9X_MMN6N<.36F[2W%? 1ELVU[0H.&]/@((%GY4'%D0-@:PG MXR D,%\H,,*2C&F])'P'3EM7 (MF6D5)07D4M7^YAV@#!>41@Z8XKP2V0U?@ M81>H5ARXLK5Q[Q%O6[UQ2QN.MY/I8N#G\^DPGLQKU:]*17;CMC>YS ]FDS?A1&^PW0R7;9%S/]S,INO3B0O MN<:ECH8,#& ,FK1<3WH)3IY2X=$[+GG"UKU"6F'OTSJQ2P;?9>[8LI.:%]+O5^-)E]^P_P!?PW#\6(FESE.CS"- MPFPV+,/E53M5.)(@BE"Q!RBQ]AZ@V0HADP1,O#?W64HKCZ[9VE)6X1I%$JHE;Z$P'>3B>?A_1MST__F&$^ M&-="X5G=KM@C4_=YL:P/7"*[Y:R"DJ6H![$#!"WCHI8E),USRJU]X+0S9U(CK01B#9=.&%:ST.FZ.[ MH^O:>>JT"W)=Z8[4C>Y:-LY*B'FQ?U!=Y<-R,T *A@67WA- 1\;5%HK0Z95: MGA]YL JM:'W$Z0[P^N0P[HI<'2FO';LNL__W,/T3%[[#MYALX)R2R>D,6= / ME4V5GE9NJSWWY%9@M*T/FF\$K%>5H ]EK[;66&>FBNC]>YA72*>'Y>:0?Y"X M1L-]!N-LJ(E%2\RWB]ZZV69A>&R^=WA/J'TZPO= )JP+I79GSIZ?S(;C6M>Y MC)(6AY:7[^2!*-*39>7 6#VMP;B&D+@'XY6RID;8H?4AB;O@N^,APL=IW%KI MKV5YTG4#\6HX#N-T<2!48:H(IX&+4!=T6LN=4AZDDJ)DKNFMUNF/S=&UM/6O MJXI(.:24X7R0%)?6E@#&DC.C7$K@.&H0(1,-@F&)M@L.:Y_2NIO?K?8="&-!"H/8A6YY;F^%;0?6M MAF@7Q&FKJ4ZG'E8%HY&O>@EUIY[175B0%:!\-DHI@:%1A#KJF27$(H48+ACA>TOO#2 M^DS-#5#N&%0\.F-S7ZTTCQHHB"%<)]/T,_T^HCLV07]4W&F@HRYX0_;O;-VLQQ%G [*%V4C! M(,7:L9^1U-[P C9$'W1P*I2NC,XU<.YXI^YC8\Q6VNG$&UXSA8LM^NN$1Y^D MKB<.5*@NET]LV4+ 1$/#(;*QL\:OYX\86U3[[%Z7!"(Y>FM8OR2US^2[\OS]KO?Z5E>_P!C\(<]TO!-!^H M)$VH32B\^*=2JV;Q:U6PD[2CR>'PU=XPO%Z=F)E$#I%"C. M4A:B31IB*@95R#R;Y@VE-D;7IY1:H '*?G$D3L0 M+OCJ-69P4EH(F (O*M1RX,8\[D",/E5<_$"$?VA"=6VXK_5[*!I/T4BH\1>H M2 N+U[F PVR<8#G$7?D5M[J]VYZ%3CQ*;[(#3%S6"L$"P04$JTEVQT.TV#JL M[^U9Z(X8\OVCT7=10+.Y\!(_33$-%X-"_W^$JW,5>\?UY,?_6[P^T-:1^Z\% M&,-][0M4[[PG(Z+0!2&?_.H=,::YNMHUY_H8IOB+;$DF71S"H$+!0N*E4"1%7OB>8YDINNO,;6.9CKD?3)R]T161JHI*&=*3B= M5BFO;SF#MA ]DPW;S'<_MTFWC'C.E:*VUH\P[G\Q%6@(?E M#7Y9'H^9D8%<5C&NG<$?V,*4J[=!4CQ-X$H*X'PB&ZFBX<[XI)+9B#*;/_-' MV$5ORI>.U-'1W;M'==@/"XW#@K_KKOI95U25D)4DL":L:RLB%<@;LP4BEPH] M!7X8FG?UN2/&'V!/O?4JUJD:V[;7J.T\:40N7AV3G0VE7L=E32'9T2N"HPIX M9PR+!55BG=SE>QV83>CC'XF-:JN9EFU6+^6)URY8'(@2):)A8%R2U1?C]1HV M#84Q8:W$Y)L?F?@NH(W2@>R1,::=BCIDS=F=?8N#>:88YF,"4V3M Q^(PSP@ M"*-80'+-7/.%Z[N -F+-0[>;Z)XU]U51AZRY\2+H >,JD"_F09F:53 R@\^I M$$"7'/G$Z&WK4Q-W@+<1HQ[ZW%;WC&JCO@[YM9?2Y*3NB8;3:BT'A6,4GN2- M11CRQ0J#P+T%9K0UFB7NL?OU[!*HC;CTR)+0;375(8'VCS^-)J>(1T@ZP?QZ M&.)PM"HOXL;Y3/*KZMPK&3V)GCQHGSSAUC)KLJ'4"G \,*(J423)ZI[3N17Y'B!OQ;%=W4/=J);R?%CND MVL74Q3=XWI?$=5; DW2@.*IEV;]U,4@NA?>\=3W+QN VHM).'*[KX6U$+OO8R=5&>UW: MK9HR.Q^'%^'3%)0J3%&T(4.64?M9"MJ],V1[<1 MN=RCCQ&;**^S!KVK2UO7$FIAG,\6\^7.(KVPYC:>Q2GOTD?,)R.7;@X*,N:X01"B!C#T"P15M[VY8ZDH'51H?:7E M#5#Z5*6[/13T56 RS*4 QK(.M, MCJ$U&0)B(#\1R:YRB=:WCALW0]:KAE<=<*6]>CI;^];V [98N:[YEFW7G=N M-5HUSAYSNE"ZY,E(YH$T@[672X(8HP,;3$K.8,ZVM3%=?_[V3O/JN_XUF?YY M,%X<_%]=V'"$,YQ^KIT$(G,A*@3O%7GS62)$1 #*M/:\>] M&7'5#6ZKCH;!U0K84?CR>YCC=!A&EW!Q*YRI>5$K3#W:[0PXQQA$8TL1*1/L MSFAR(ZH^G>IHSY(VRFA/DE?UKFYRY6O=Y25@7@#9O/G83:L73Y\9)I;L-*3 M'=*J6A\L]5XEQ046%,WO.;TKQNW/(5WX_DM/WQOGWW"4WT_.VM&_.#E>D.(S M_C&>8II\&%L3I(?3? M\!A= _B+T\:7X/,0((K@05@>-7ZIMCZY'?NE'N=*.^A'-3UH0GCO#^;#X]KU="K M,)S^,XQ.<#8IRT93B[^,IV=[(2=A=#:[NO-@6Z+KV,7M;" ?R@=&%D30.=?; M<2THSSD9QJ3),(J2*7K3B,W3Z3OV@;\_DU=:J4^N=ZX>CO']Q^GDY,/'5[2. M_#>&Z45$@XS6\X0 M2%?%(7B7B#L49$/@V4+TP0HA#(K8^JC9=HC[O+ TX5^3R7D_!>]\!;EI$?P& M7T;-;' <=&WM22%TAJB$(AF*8XI)G3QZ4JFW5WEFTNQB9\Z#L M8$R@*>):G3;?(D[=Z'NWC3#O#KY95'1 M<-E!C?$%"-MOYU[XND5![D &%:6(OM[;7"]/E41.3_Y/XMZ@B@&-:]T9ZSH< M?5H.M]'\U3W;+<>\X6;^$LFRO'\%Q+IB5.8@F:]&TI.Y9$6!YM:GX+E T?[ MSQ48O2H%[$+Y]QWRYKH_-YMQ/C"9FY@D Z89+4V125J5DH)2#!<0;-;2[B&+)PY[/N0E\1E2O1@D-4W4JEN])1(<3>: M+"D YZC];6[ 1D_J4[_,%GIN/[R=N7]G-YJ_PP\UR_XRS,-:BC[_S\ELCGG_ M^<'[EWM;.(/W>,JVKN&V@C5R%"_VZ7;6%T,!Z2*U28H.L;97YA1\\.*MSIGB M@<9F]3N-TN]H+_;#=#P$;OO7%^'[Z>#>B@))9:#W&:M>#&9?II,P[P6"BQ)8$KM1]90 M!F@0FR>R-8QE+V4CA-SZB5QY@(S6W&<]F+N"9L7PQ M.8[#\7)PT[]/AK-A_;^KMAC+>R:C%]&I&,&'0FN5T+5'8=*@/3)C.$H=6INP MS='=T6'L.U4Z5D_#2\WK_GZJF:_QAR4.EGABV1CP.I [RRT#IS*9*(-66-0= M]-2^BJ)O5YDWHL.6P]W)!2 #$L'+8',M Z,U27BR8(998(F\65XB86J=PUY_ M?M]:I3=2];V'N&V/V/.3^4NQ!C8Q[Y-(]2ZR>@^$+!!2X2"2\SH[;UGSO.!U M.'K6[+R1SK<>\:XR0V\FX\D9K($(S%(PS( <$HJ+6;T*A,5:!4JXDN8.=>O; M6;X#IV]]S!M1H94"6K9=N?9Z#_):C7)6@"C%U.P50DQDI(3.*AB1?&I^HF&+ MNU=VV4^E&1.V'_C.DDAKSNA:@>>U!9W+AB"+/YABOM089$;CBGF+/%,W0+9- M1>U@>!IEJZX)-([.B_\/,H[GPS(,Y]=IG.'A?%F*VC^>- 9*N(I:8V M$BX2!-K(&9?"QM9=,#L29:LL2DM,US=[H_=KU_B3Z;1>DA.S0;(/#DR@.%!Q MJ2%P5@"+3CPJ],YO=J'(CH'W*:_7AREQ(7749Q*U23:VE'#5MF[]%COZW&KU MG UR9,E)B2!+(.%<V_Y MOLWQM?>6=0B\7J+LN(!"DP9><4EA#[XW>]V-SIVE411I^F M1K_IT\N5Y<65:7_YX@;G(LM&<)!4T#>BO4B1X-1]M@NK8G2 MAQQ*KZ="ER;IOI3J\VJ^_.32?P\ZN&)B!F58;52G!417+%AFR?*S)$O>01%0 M0XGZD%3YR\Z6+0G6;-*<#PPW4L@B-7">:SNH!9"1*0=H'(6CUMKJ9T5@FCA.82H% M>ZT+$#L1I ^I@[_L%+D?G?J7,[B88SRJ5#DL?\Q6?SJPNO L?8)LZ[VI!0L$ M^AVX"*B\*%JKS0YM[ YS'VH]?XAIT6=0_VD62]GS]MI+4F>G[X=A?%\Y5U^ MJB=N!Z(D8<@" &)TM>:U@"L80!I?R._,,K$^%_W=*-@=*XS_=Q;UCVZ]G$D7 MTF!KURD.,E>)A6 "^:ZT>8@.@K2?$+T&#@ZU;H1RR[DVF0>^?^=1STFVT-/ MH[-1O;[\".>#PC!FX3V86/N\,24@R.(A2>:LB>A=\XNE.Q*E-Y'E;02W.9$K M(VI50%C<8<3 )5?O!=:DC6!#N7R?:M]VHW_(>O.F4Z&[DMJ&Y'EHXW-K?8SQ MW ;&'6B?"RCO'3B7!$G$R>M'AJ9Y>^B=''IYX X2+?K>7Z&K^WJ]%/-0UM7'.%;1C!)U2*KJG"=8 M#!XD2D@@&T!28G_]]<# G(!,(!$;0(+9+6,Q!V*O<%\[PN?XS__UY]G@AR\X MGO1'P[_]R/_"?OP!AVF4^\-/?_OQMX^OP?WXO_[K/_[C/_\?@/_S_/W;'UZ. MTL49#J<_O!ACF&+^X8_^]/,/T\_XP[]&X]_[7\(/OP["M(S&9P#_-?MG+T;G M7\?]3Y^G/P@FS/+7EC\=_]4@2J89AR0Q@A*90316@!8E)(Q,).?^OT]_35$E MS@V'D"(#I7V$F(4 R4W$9'FRLC>)?RP]C?J5[#\-:C? E[%]Y<_)_G'__J/'WZ82RZ,TW@TP/=8 M?EC\];?W;VXC[0^G/^7^V4^+W_DI# :$>/8)TZ_G^+P7G$N1-A/4CP_GHTU_2Z.RG M&;07[W[Y\.[MFY?//KYZ^>$C_?GSJU\^?GCW^L,_GKU_]8]W;U^^>O_AU?_^ M[(1/U51_X2# MZ63YG9GP9X)?CV(NWP;K^ACB 'N"ARC0T'(R,Z"*TA!B2G2H%K2 M\='5?U_TIU]?C,[.1T/Z M8"B MUW%F9X&OHM".;+B!Z>7LC-H(5.^&[=&(#2L!-63!6MOI#@[LKKA15U+?&R6\ M+C$Y;4 JB:!2";1K>@M&&)]CX8?I*/W^ M\\Q:[87H71%,@_$NT?[G'3@;& C+/(:<4<306/NW0+34_"H3_[;:&RAGU%*R MMU7-=E7ULYQG0@R#7T,_OQF^".?]:1@LP#F>96 R@O#"@4(Z^X*4!K0RRNJ@ MM%*NL=KO!'0*%&@G\0[>_/->; :R2D0H(&,;VM>[+P1I'1Q=C&HX=IWT\\XKBL>X^=Z0'[! M-T-RU'&Y8V7%"CH'T2E:N]8!G)$*)+KDA::#D#7?%#8%=PK\Z$83MRDC=Z4, M81ECF.!+G/_OF_G!]GDTH,^?S 7S?C08O!Z-_PCCW!/*,RZ8A6*1[*1,YUW0 MS!/-E==2.FU1-R;.EA#W3Y_&\8DN5=*!]7'%'/KP.8QQ\NYB6I,@-;/4"R(E MD[B XJ4GLSIP<#)+*,ZEJ#1R(UOO,W?AV3\W.E7F>L-T-TUT8)3<7G6O*!\# M5QJ2M1J4")E6622@YXC%,/3-_9';*$Z;$3M*O0,3Y1>:R>W-@<\ S[K^HU3R#P0S9A%Q"8V@7E9"%8$!R MB> P99 II>PE!L;8?8GY#9YSFIQH+>#;NC<'V&9((@5K*4--(6030HWSI0"J MR )!Y$+NO!'2Q9@92X??;[[A/4V2[5V3MUEH.V+A/\/@ N^#GE@L,MD$+CHZ MIZTUX$*F8]LK'KDLJ%3K*.\.<+]+#C;7XVT*NMU32O^^F$QK3&OR<;0FVS%; M0KRYA/=(,IS0&C[@^$L_X7S-[S&-/LUU.UM^3RN,DO$(":,"951]NVC+MSX$ MI6W12K=.17>]IM,F\U$QXC;C?9--]SV>7XS3Y[J"9T."..V/5YT?/2FX9E)S M+-BD:I@M1]O-4;\AOM-F8F>:6A'VW#DZOAG8^1L0DW9"%0X: MD; &0[M_\Q(YYA?C=^$0:#E=R/ MC,6H"*)COH"*FD%T@8$47LB B3RK3@+L]T/[+KC45#\K>+1S+/Y>G'.ZV\PU M!C20M="@G%<0O66 S.DB63)2MT[Y;H;L.V?1]MI90:*=X_HO^U_Z&8=Y5W[[/W^ZP?RW].5#FM?>XQ<<7M O)^Q_J5T5$Q+?B]%P.@YI M^FPRP6G]QMM^B/T!/0@GM2\V7PQP5!;_]&6MG!M,'M+2UN[A.S:Z=22%1NUO M+_N3\.G3&#_-O.]WRT>^_5:<%#Q*ZU&!T\J"XJ@A&BF Q1*U4,RQT/K5NP_3 M[J?0RL^?-_XX[ND]5(D,*V-HZU;:XI#VX?.HT$ M?BPM=1_[9W0,O"L?QV$X*3A^5_X^&I'=M0A:S9M$M#?D[3DZ0>E458)DY0R/ MH&4PFF6&2>?&1-H UJ':Z]I18-2M*CHH9[L'XK(9; .0';7@;03P,"UYS=6[ M'7UVT,W!B&0(B.'.@O=,@,(D:*=V]+>8Z/NZT)O5.C)X0 +=T\AW'/S91B5= M\&8!;HSYV?37$4GSS9" +[L*O*R="T5 *4Z1Z^<9!)4-%,^3E$J&P%K7/MV- M:/\N> =JO$F4=CIH6)<_*[.Y NW=%QQ75&^&YQ?3GW'Z>907 -%D1PYI A,A0^L$,@:\=ATI MK3)XB99@!N_JXEFZUS'?_''? PMV%'('1?<+R_PU"6<9I?A7?_KYQ<5D.CK# M\:L_T^"B!L%JZ(+^R[7@MVB6BHX,- N<3E!O"*T5('51,0CE"_>-3Y 'P-P_ MGSKUJKM6U-ICYG !PFLA+KBOIN O<0Y VU:X 1F:V+6"8-M$EC$4TK^+:$-O. ?V%S-^5 M:T^^[H_#,-$K^+EH^>!#QGJ*!%9R,Q#I-=1TT8050 3F97)>-G>\GX@ MU'W%(3MATZULZ1[4=2RARDU7^/SKE=729\\\8U1!6"P1LB))*Q,21!8R&!<] MUW1"Z=0ZF[\+WH/-#ML'GVX/#=B/7CL9.G(5T<*JW@131_'/57@.$^[L9>1G&7.' 3:^D$5AR9J&U@'$VKV19-[@IK'Q9)M--%- M<#/C4B*7 )<34PHR@39#M.1'JSJOS8GHP7HIC?'*9MXZG7LGH/W[H+OK['8D MLY' 6P$VV+^/ZW@#)8752+!8J760Z (X;V@/1*ZXSB5RWWH: M\AHH^Z?#7CRL%H+O8OCA8##ZH_80OQZ-7XXNXK1<#&Y#[66;'?+D(/DB0#E6 MYQ=X#M*ZJ!GSQ8C6;OEFR$Z5+>W5LI?-Y!><]KA%Y@0G/Q$5@4JU--7D4&\K MB2EP@N99YUL) 3E5:NPL]+4IDF.HT MH7!6AR]4:=(1 2YQJ[GDBHG6(P/;(-]7//U ?%V3J]RGNH\E +_STC],PWCZ MDO:X6?C&D/5L%)G,REM19SW0L:J#!&U-BCQ$R45K>Z/M"@X5I#\$!5N_!0^G M0B=AV1U7,^],Y#UO?6$R1M#.2%!11(A1%[+K"PJ&0@;5NL6D%?9#1'-.8T-_ MB/([B ALM(Y>?:%,Q *.:44>C&80$F.0@]0LN.QE;#UJE?QIN2>G,4G9_$X9/CD+#XYBT\V]9-1\V13/]G4QT"_T[&I MWYR=T^^,RI59E:/ANW,$LZP?+;U^32U3RSF,R-4E< MF>HU_:UXD,I8M,E'45K?;'S0R26,", %2JCW28&RRH(O+@#7R06F9)*Q];7E MCV)RR38\V&IRR38"/[2!.1E/:8.?+"\?6UQC6^HQP4%J.9MYBA"-B1"4MUD; MY0*:30A#GWV%+/35)5%6//8H)Y!LING[P6Q34;^YG@]1 M0K^S.E:K=0=9=JY@;J5-5CEPBI&=[Y.%(&E["UX:R0H1EV\T8N@X%+NFZ+U; MO6XCPN[T>6E#+>IFN64NL6+)K X$*_,ZEY$;R-:FP@N/*6U4MK[%UGP#PO[< MH :*6;,C[R+5#OSB&\;Q[*(U2>MTJA3@J$*]_CG0"HL U)(9[H60K'7G_ H8 M1]@9OXO5MJN@.]#]\NYG>-98QY C6>0/*1 ;>&P%)&<.9*5*G MUM[;2B 'N%"[B9[N4?[V0MZ#YE_V!Q?U_AXKE8M,DKN!,=%"@P$7HX/:'ZR] M439NYHCMH/L%E!/5_D,$W7W=^*)C,PS>S!JH9B&TR_C:LR^A/ZC.:1F-/X0! M_AS&O^.T?N,#IHOQ+!JW0WRRW<-W#$%V)(5&4<8KK?U+)*_G2"Z??WE<9:Z] MYIF8:NM=<)I.*L=R!BEU+LY[UKYQ:"N .\A%%VDBV2>@PZ9 MC.R4,D2G&4B6!0N."<5;SXS8 -:^HI'=\>56:+*Q+@X=H5RN:\5^,//YI8P) MZY5,B-44%+5OO4@Z'GQAR;+"DVYM**^!H?+<(*FZREJRG+#==QF.DD30BR9B[JP;1[[(P-V067%*W)VUK& M5!S0:JH=+!DRCSZRUL[!\3/UG@$I1T_4;93:>M3KSQ=#PGX>!K-4__A\- Y3 M?#X:YN70!N.#*7'4 ME0:Z&)-PP[2X87BULGTQI7F?0*5Q*+3Q <@59,V&K1&M02 M4;K6M5S;8MP_U_;G"G2JKP[X=;7\%,_U>+'<'G($!)82#4! \6$J/B])]H71;?#/PI,_(P&N[ ME&NRD%D"*@K&E1<"1"+X2F4$+[,&X0L)E+.DFL\<:@;^B:JM-=S!X/;U@KJ^ MQ)X4WJ,I6)/?=6H]"2I@CL#J78,8K3"^=OVB\AO O0SF'=Y2=.KCSF>76!$G[XC#A]6S^"1/[\ MZ^4O+"O1JR_V_.L_,'\B=^TE3OJ?AN&RTO9%"FW@[K+*_>DH/@L83( M&.V_K4_6[E:SM[+I9NR[%48^#DT?2S[C]EKFPSLXJE04AY*DJ:$H#]YI#<%D M)VV4 ILWHZY&\BV@!71_F,=9@.DYMHH;=[J;"# MT/=)"BZ-R,776WX\[=FZ3MWUV4)Q1D8CC-'-PW'[)<,]X?]]8GL?7_R^^RE8,Y&S7T P;,B^TY*\FB3!Z%T,NA"#J(].=;C M>;)&NE%=!_&FU7)8O%*;8.O(+KD+UV%LDW9:7$N/1BKHY(2Z V/VQ@DG0YTF M$$#YVI5A&>W!Y&4&J8T1LGF/]M[I<8^UXL%IH2W(0D>W*F2@>]0%;"G."2852ZV=EW58#DF"UE&Y)O)> MRX,]]41\D\G/&.K\OGDU3E=-$'<^K=.NA\W7V2@7\>V!\YDOSZ[-?%F R.^& M[VN2:ESO%![F7T8U_SG__= Q"3N2;,J&$:IVJ;09^7YF, MPW%W;>9CKWH_ED3'M]4___KMK__HXYB0??[Z%K_@8&;1VA21H?6@7;WRW-15 MU;\Q4=/;)=-QT]K$VPS9P4,/^V7-.NZVTUX';L/*@_$VWH75O G8CH(06P$] M4#='!QI?1ZK.U'5PCGG.'+?:@>:.+'%+)T>(,4%,F RSOEC1NMWQ"+AU7__% ML5%K&RUU2:DWP_.+Z60F ;[TPSE&+H2$K), E4T&;RPC/]PP\O?HPWAGU2NW MX>S?Y>U0D>LHLZ,6.HB&K((F%M#0UL9-2V=YJ1-7;&/<6M*Q-OU(X"*J6()N %CFY+6RC.7"GDL,[ MJ"'=3%/[3MEM@NTI9;>U%K=)RCQ$!?M.V25ON*T9*5M*':06:".,S@'M@SXP M[[S@K0L7'U?*KC-V;"/Y+HS8T1C[GX:O_DR?P_!3[6+X(XSSXGC,/@AE4P+! M6;U%'C7$[!/8K%A$X8SUO+61<@>>(TO?;:6YFT9)*[%W8+:N22T*JZ3EQD&4 MLE:\!$7FE]!@D@LB..DQMK9''D46=Q<:-!!U!WO"SZ,A?IW/Y'I],^+SR%"L8S@^7I'MV,29(VC,_36Q=;.[3V0#NB_'#P_T5); M>Q@[L+9!CD[7R#0GEHY M4#)HK(ADBW=^@+# M.P'MNJFL^O!YL#$$)ATB ^$]65U!%%HI_8T\!:9%1*7]/E:ZUYJ==KJ_N46T MD?.QU-34%_/&##L>/8O."LA>T_Z91:9E" O1>Y85:J-"^Y+YFR@.%>)OI-T5 M(V!VD')'8X-C; MT?#3%,=G=?$UBCQO8D\E:JD#V4:.$R9)YYPDA@>O1#9.II)#:VMQ!8[3,@!V MEG0'48B;F):S)S9 U9$!L!K188[_W35V#P5V$'<'Q_\:=!F],SXZ2%P0NAQS MG6?MP*/)%F5P1;6NI=\G">XY^O?%@6VDW(7NKVQYRZR?4!P#"N"U1E$E)RJ8 M D%*Q^B/8E3K@/5M%/NW EKHYXYPP0.$V\&I?_ULFW':I8B!*0L:E:PA4S)R MG/2D)&NL4S)DW;K&_#:*TSKQ=Y3RVC!R*[TOJ+T)IHY.^U5X#G/6[ZJK.U6_ M@Z [V.M78L."6DIO:PTJ85-)@4LZ@2Y1>EDTQB ?K?+O.>/WH?MMY-N!SM_C ME]'@2W_X::4/RHN+/ED.0K)2?= ,98 5BII#1DS7K<.]]X):/^G_NXZ&W4E M\(;'_RPH\9&,F[>C,+P!2:(D/'NY ,=2]D(K Z5230DR-Z/5"EC@*26MK;9R(Y7>]Z3' MKMRFDNPB3+/"/)T?4\(*I*D[D>S/4F+K$(N$436=MY^[GVLXSN-0X'&&,8W4N7-3SX- M&VYWH=W6H&ZFP04]-X&SVD[;0)>'L+<:2'V=_G8069?OXM+K1)59TA&<-=4W MK(TFC'9Z8Q*3@B<3;XX7/K &UYA"W2MP&TFU5MS\;*B EI$;+I-FY,TCFT5N M7(&(FM5;T*0SMFB6Q$9JN_G)^SL+F\AYU$I(S>.4G_OC_&L83[]> 11*"%X: M.M!%O47!U?L.8DJ@M31"62S,I8VTMNK3'['F=A96%QOEB]$7'(9%P:1+*ME M]E@*JH)1 F+ CR@U+23>(-VXVWRZB>?F-'R8*'=UJ!IIL%O"0_DJ-*.X,#I6(6-G/T-P>@'UB# M]QDMG2EP&TFU5MRS]-\7_O\8#?HY?'TQ&LX[Z!9;O"T^2BG(R_6YT$J9 MI:T&$UBGC-&,L-V/L1E77]*E7XK#TU64,]MH#3^/@?+@,;RO2[JS( MYQ..B"$Q(:OGRT/]@X.+&D&* M6,@)LKZPC>9B'EJ!:X[/]OK;1F"-]?8S2>KLXFP!Q!2>-&<1&/*Z&);)^:$O MGNK\SQCUK(K/$Q^'/X\PH045Q)UFGP)=%RE*D= M5]&"B"+Q*'T1N%'#X7W*N_K01ZB\!\NL@U3S/\.X7P_Q.CMLOIO0PSTK"1*S M E2) KR,!IQS0AF.+N76_0,W,9R&A=-$PKJ1K MG6\CV0YT_3Q,9FB6Q9!KP58R:QTI?#-,\TL+PN FNF?YWQ>3Z=6;P@-7G.?:;5!O M&9!:T+H=@\RXXR'8@&*SA/46#WW<"N]*NIW.%5PQ-1P%D5*E#"6&VG5J+- G M,'#HA8SD/TH!O!OI:W-!O!O(^HN9D2M."\7LT)K:>%;<-OB.I5.]L#&D3 MO73 H>O#U:H5W1,)M4A!@RA&UQ%Z 8*U''00P4M:NO:M!PO=1G%*?-A1QJU] MTE\NJB#>E9?C\$<>_3&<] I/WF7!JN]%OA$G(KHD!;=0S223%N(;LZNV5$P=J&_7:?>RM=H5K,,V,Z\C?3PQ/6LH M.H>,AM:0-^OWVO2))TZ,'47U>U\)9>K]M@3/ MEP+<:FNLJ.V);",&W/^LD]%]8[$V3$A=;]YBR.JUZ5+XG*+#S097;/78D^%"=\)>$2]J'":KVX7R, M(;\;7DWH\UYPVH5@&+"$=;Y*$C-1 ,LAQ9P+"Z']37F;83L%ZG2JCQ7$V3E) M]>MXE!#SY#4)Y]NU&S??THT>+!<5RCYP6'.JU;PO[#_Z?,4\[,O. Z?\&JE3B_Z M*)E$,F-B+> 7LR@L5R"<_IUATNYUW_8CK=Q;XBRT37<+P9A0O; A^DH_7Y)BBAL]%(*J-.M M0$7KP='B01@EC0@V,-W:#%L)9-?MX4/ZC/EB@(O/??YU]I1Y13F7SO.@"QDX ML=3)\06\XQ*DE\Y::P>4[[*@;79YBAHF7$C4_.>QO?U M" [5D]%,OZ/F9SE9"P[,IN+BR)G$R3?K)SFKJ?L=^9).T6,NI!B!U7OOX:OU5@@4^AE M_TL_DRD]>3$Z.QL-9X=<+>VU: TC7XC\%3*(1+T M("K@V"8,*F8UH&ENQ$= MX"*GYI9B0YEWP5E.9-9P(.Y&H"U/0N"H(5K& M;"S.(F>->;$)KE-@1W/Y=]!P]W&,87(Q_CI#.4,VF>7JQYA[FB6#&,@,SJ%. MB,X*8AWQG'RP @FN#:U#C'? .05&M))V!\W\UZ#],PPN<(FLU@K_C-//H]Q+ M)4IE0@#ZW]IV2D"=]19D4=P9ZXK1K:NR-\%U'8 ':[M&VD;!Z^3CNAE.:OEQ[7X>+B,\XP6<9Z;/W_V1QCGR=_'83C%'(;Y M1N!_]H.788JO0W\\>R-W#:[O#V&+B/V!Y-DH#;!Z"<_&XSH, W $V9!]CXL?!7RQ@+ M+PY\5K(.&U3D=/C:*8XQ28W,-0\4/A[>WC/+Z\AINXUJ.Z#K>YQ,Q_U$GL+, MKUC>SF%*EB(Z2'6NI7*)3I,H-21?I+:F=AUO=$7-%GQ;"63_3O_A=3QJK: N M\ETX+J/Q61@FG A]1!E4>!C9CG+$KEJWGJS&LH3&D6QNA$Y@**CK7_*R?P+GG(4F'M*[?*;'1! MP*$5N-&E62WTMXW .KTT*SG->:V&$+2KU(%S"4*IM1+2&N&%UZILU%7]."[- MVDKL:R_-VD9FW5Z:A4PDP208Q>MCT*VAW3X33[XY\XJ4.&YFOE M/1FE3[F072R2)#.Y3C$.T@(Y)2XK[;)+1Y.W7X'_Z2W8E_);C[#^&,:?<+HL MH;H5^^I%Y[RE_P>>ZSQF.M/ QU* WCN1@O4JVQOED^MN.KO[0=\-@YI+?6W1 M9,>E:L]RGGUJ&+P9SN#7+YJ7F]WYE$Y*QC9?U_&4?5E1IXAE30:HJ#W^N=3T M'!FEB07O@V!9FF,Y/MX>7]F7,"BEUHS>8^%KC#B#Y]J!C2QSQYW'W'I:WO=8 M]K4-2[LK^]I&V<=9]F4=9J.\A!3(W%7%T@I""!"S0A44BPY;5RF>6-G75ARX ML^QK&UT\EK*93=;T5/:U5=G75C391_W,0W3\6/A;BE%1! Z<6PU*UKN\2A#T M)8\Q:A.YVKLS?32\W:KLZ^AHNXUJ]U;V59PPC!QU$*5>9V_)B??"(Q1GK(S! M&V5;9P].N>QK*QUO5/:UC8+V%JGOI>S1UYL%Q"Q_X!1"2$&!5DYKE937HO55 MD*N1'"%O.G8F=E?(,25TZOOS\RCW2S_-_LF5^]BO?E)MRNTQ[FG3)K%AMF3O M(G/@"A/\1)E\'*U8R"^CZ?_%Z7M,HT_#VAE\^4GS?W0S$]73C >+J"'; M.@5%UP,CA0*9%XO.\*)8Z[&$!UOL=_?J/ Y:=3 OH[.%SQ-9KT?CQ;?J[_%> M2LX'VC_ I%H\9&L2(PL'/'C$8I+-O+5]L]\5/KTYQT.@+D:'=%;I\,^9?):5 M#C,)798U))VRC3)#KL,I%-<2G,T19%*Z3M%(QN['+>AZI=_=Z_,("-7]W)/G M%Y-ZYYDL^^)+3@QH6 #'RLFZQ$!U'J!);KY 0:'53K^5B;X&J8'%[_-'K?YC]< M9(7022:LH!>EU$'*SD-0T4,B'G@,7EC3/(N^/.E&XG*CJ6Y.V' M:9C.M_?K6\-D%F(7P7&T%H$S5>>C13I0I!>@O"T)#<>4FI/N+D!'D-SMA@VW MAHJUTDH7:;'% 3$/B&\"IJM\[%4@ATFD-E3430KL+.7.58\BY&A2O;&8*2'$.4V2C>T>E\P!SDOC2^C7!;#SD ;MC#M3#J2H0-\SFWP2WB M)3?@1<="8+%VIL=,"^<%7&((RHCBDY(Y&+F]AE<^ZS1TO+L8.WV+_UX'GU[' MYF3PN>Y5F,@*4M):\,J2)^Y]2<7KD,IFM[/?\Z#3T.^. FS=&G&U+/]B7$+Z M-@J$*V:E2P&,+KI> VXA%!9!,Y&X8-%%'S=2Z]I'/%J%MA%:PVAN;6I^,1I. M9E>XSQ*>U7&=61+*.L*G#'A1#*A()T4P)4"23/*H$O*R41WM/1WAJY]^ZGY6 M([DW'JAR&]&"\)M@:CA=91V._8]:::&C.U6^@X ;#_-8B\U:FS2S"I+.Y$@$ MLA$=$Q)D##$P=,RP;C:" ]TBM2^=;R/7#ESIV36HBR#>JT'_K#^<(5R<1TK1 M8:13!D)!FUHI$0+7',A7D%*02VE=ZTJH.P'M=U9(&YVMNI6XB< [**][1X=D MJ.?<,IJPG''B?,B,7 CN:U;[-=+[,<2S(.3!*YIC D&3=< "M&^\!1&M9^'U@+Y]3-PM8: MZ:#N8PVTQ=NQ";B.@O%W CM,<+Z9&C>CQPXZV-^NLIQ!6HK*CMX)II@'Q1*" M"Y9,*E^RSE(89*V;B@] D'M"^8?AQS:B[X 7M<*-]M$P^!;[<"5$EH,"+)F! M,K6SP%@#I007K3.2%MZ8"[= [#^DU%!)MZXIW$7"7?1NX(!^].GO."3[9_!L MF)]ELG[[DVFUAK[@JS]KN=_1O3]'7= M!LO7Q>$E&>>,^0C")07*!P,N%;*&E++UX@N)9;."@E6?OG^;H(G<1RV%UH'A M^!Z_X/ "7]/J7XR&9)2DZ;_ZT\\O+B93,HC&K_Y,@XM,ZW\V(2-E@OEC^+/' M@@[2:0MH#!DIU@3BL6# @ZB75&@MXD:70&SUAF\-\V I[.XJEKM65NLBI+F; M]/?1*$_(\/U6/C,:D!'\[XO:,M)#DQ/SVH,N01+]Z6].&PO6Y2!T3?/?G(J^ M9L^X_UDG1(@NI-OZB-C,\?D&-1GZ]UQ*B(YK4,&1 QTT_1&93)+8BC)M1(3M MGGMJI.A0ZJWKFV9-9+^,AJ-ESF;NA-^$:-':S(T$Z7($E0Q"9-D#!IE8J1&B RDWS'G,(+[$\S&F_F+0Z?D 9_(FZIY5@?S/8BKJ JAB M+MID/60"14!SG$J":!S]1G38YJFG1HK.)-XP\# #^BJ,A[3ZR7.D MY>,LOT]6.=DU5U>P%KC'8E!6@X<3IU4FS"(9("ZS4)PNR#:K?MT%Q:E19V\: MN4TEO5NM=/KOB_YD)OMKGAUA?7-V'OKC*K1J4TUZ7K-8,@^@E13DK2M>)\Y) M8H;WTH7LTH;$V?R9IT:3CJ1]FQ1F1R-U.IVW6[XKO^ ?/X?Q[SB=$)M?C#'W MIQ_'83@A+ZM?IW,Q;5!+ H>&8!KM@%PKVA6+Y)X+R[/>K.AZ\V>>&BDZDO9M M4MA]#@U8[FZOGK_Y^/)95P,#5C^ERV$!&ZQKGX,"#,LD+6G!VQ) N8SU3E4' M9*^6HJQ2&)I/CCO200%2!SI'ZQR-5"=J!!*%1YX ?8ZI2)-#^Z[,1SXH8!OV MM!@4L(V*'L>@ "L,^FC)6(NH06E'LJQW:K(0BBHL.O8T** )&[8:%+"-5CKO M%M\$S/N>AW)3G=>@_&> 6VH!:(EC#IQ7G1)PKK65\@? M^Z" =AK?1KBMP_CSW:WN8M<[8U/$5.^RAZ1#Q13)'?#*@2P997*HSI 09U59GPCO:]]Q*DINXTL.SB3E^?0B]%97#2_70O$#0ASGD?= M-!U.1=-QI(W,H))($)DNP#E3W* J/K:^-&)S="=$F(Y5T\&8YFOQVCDB%"A* M9!Y<-!Z4"C5#'#C0*:A,\HPIUKI'\3:*$R3%CJ+NH/GL:A:GET)TRA0.-M3( M?$X/1%&:$ 2DM X4L0"BTF9(73^;H)P(X2U_>".TPRNXDJ-Z#'[GHX"&%D M9E%),O5*R)+\=M00L<9O@A9:FR@3=A4]WS-1[DF!'X8GVXB_=4+\MW_-'/OOVQ2*URZPN/!*<+&*M8.8.@JHS!B,C8U=);O)F]>*W/WO__DYCZ8_:B:Z# M]N>[YD,I'8MFY'?;4J]:2\Z0.Q?(^99"1G0EL=+Z'3_JP7Q[,"!:J:.#K-C= M$X(V ?TA.MC[5#X?+2M>!E#%15!U&JF+B( N>TX_X=*W]D@> MUU2^[OBQC>CW,I4O8YW]HD,='V)!92G(K2\(5F5&W\&?RA=U*J4P1[9/TO2'X!"8(8>4\JC#PF#]*CKR,_B/R.K#'!&7J)14ELS:)M\!V%/],F MLMJ96CK8B1:W.4\^CA:^W!(\3GY!VC1?A,GGQ4]R+TFM D^AGK[T1] %HG!D MQFMRYK,M7(N-KJ/8@D+;X#LA"G6FEM9!CQ5<)X#_&HU_KX5KX;P_I5UT5N9< MU].S3,506(;H8L6K+9#EAA!3<%G(G&S> #.ZEG8'GO%5DM;19%=D MT5.>H?.$RK&Z[1G:\9R(D?!%;;5G*:?63;MWP#D!?K06>@8.>(ZTU&FY"WZUD7IFZ,[;?*T4$D'Y:QU%N(?_<&@IY7@ MR3,%*=08=$RTW(0,N!E%F"U(,!L4<*MJ/SYG$+1TY)P)2=\N1J<] M;!V[+>*$B'98!7=0,[O9@I8]H^_&M?)SHW5E9-E[6I>+O+Z)T4*(*9%IQSE+ M07CN\T&(N_U:OCO^=JSNM<7 #5W^^A*FB_&L6^US&'_"R15+8&X",.ZC2N2, MEF(\6)8->%<4D/A0"'H;;;C1(K"%ZW__\T^ 5?N2_FW"^ [VO0]X'FJK]. K M@1]]&O;_!_.506]7*K)?]B>U9O1BC%=E6=>U",?GV?(<9H3D5*I3K.LU"ED" M4?(CJ2GDC?@G!"0K8%T-?8BC9Q1Q$YJWG:#RN]K%N>;*-^/?0/E8$>MHI-7"=ZQRH','5,1*N M\(ST(^1\LRN-'D?[V%;2OZ=];!O1=5!6N<)EO QTO2T:$VD#IO2^@0LC@4'#0RM'_>U*EVD.FI]%JCH*&;0SB(U'Y MD9-Y5IXVS*_H5[Z$02UQ[0G&=);"@[>1MG2+&7SP'(HANS 7GTSSR4'=KNAP MI#XT]SI\)78DSGZZ+QZ^NHOQF/[!_#?I4Y 62?]RT@N":^^#AE3(Z%%&%?!, M.XC*TVXD6+2QJTE 7:[KZ14Y5A)U4 ?>YOW>S8UMF=20?*3-!@7R&"5V4+@L[(. M*;+*"KUL/8NUVQ4]O0W'1YS]5/,_>'6_CNMXW.G77P=A.%V8B.>S_B?G96;2 M!Y"UK5+E.ANUJ #:%6U2K3GWQVP\K5W8TTMRM#1J?3EQRQ5^FS'^%L,$W_<_ M?9Z^*[]-%O^T9Y Q=%R!3_5B(\D8Q#IOUKF0K$I>F8=7(76$^;M_$8Z9(QTT M?'QK/$E=V4L9^>BIV\!NF M8?BI/_.:,>9@BQ5@1''D.40)D:&"% 5GE>^F^9BWCI;R1-DCHDK#=HPNEC5S M#WX9#=-5GZ&'RMDBF =:90*E)9E 20LH9!N9K%*,S6_Q['Q13V_%4=*G8?=) M<^OH^J^\&:;!1:[3HI8G87 BEYP8R*)]O37\'5>U)I19YLY"",-OWAIV%*XXLZ!^:L-D3-1PP-\^(.LTFO\.*E M$@)0::1EH@//R4B4@?OD,9$$S/Y-ICLQ/[T5QTZ4AD4,'4=8K_Q\L27T."O9 MI%A &QM!><,@>A% LX12,7KUY?Z=B/M0/[T3QT^6(R]ON(P:7/G9/%M-IY]C MA@G2 +.@:@(B)!E!DJ%K:Z&?=*TO'][/RIY>FR-G4\/:A_UM#I=K[XGL1;TN M''BI4QM%5E4=",9+FQ,KG)1R/(?))?"G%^-14*:#68T=Z:$GF&1,>@%2H@:% MFH/36=88BH\:$Y?YF/MFKGSGZ=TX-K[L9[;E)LM:!IE7GXE(;[?7F05'AQ]C M).H4:%E<(%A$JW-$HV17'::-E_(4E&VJ[+4^<\>S9SY""B)-F9O1 YY M#Q>:?L.S]UDRR2:N(KT],M27*=S]+9BOU;SA+9ALU'&0T MR"8 GV;);*W*K6>$/$0/!R$,LAR4X0IX';:DBA 09"C D6DF, ;I]S&DZGAG MR73+DVW$OX=9,D9+>B!SP'6]^\>R.A"%]F=74A0L:T.^]@G-DME*^O?,DME& M=!V.W[AZ*"X]A,75!STE)?=%TQ$H?+V-,C)PDE;/>!#,25^BVX.5?A/641"C MC8G:6@E[YLDO.)W?F5IO&.@5##XK+L%K0X2NE>J.)7HY)+,:5?*Z[.%D6 WN M.^',PQ725:W/%91+D,N+*7[%\8?/88R7\5K+K&4J "9+!GA2B0[-0%]*D@?+ MQ1JSW5T.6SS\! BR%[EW.,AC \C/PZ2?:J6S%5PK.C3K=6_.5ZF+%)*U33VCEBF#+',>0;)D'>E;+V4J/7; MN@FN=GF%ZSJH3[J\!W,>OE0VT OE.=CLR$^0Y)NZ7! RYY8V6=IW1>OQ_%O MVUQ^&GW 6Q.(>R?Y$"\SR6@":Z+QV*"$EP3@& M;6DGW81,]*E7B$1?79+HV@,/GR1HK,W1KE)M: 5] [&(/&T"8YN8_R9*;A_3 MNS^BOX/P;ZIO!\EUJ$BE6;8F&C!9T#[F101/>QOD[()%@U)N=J_LH16X)M+> M7G_;"*RQWGXF29U=G"V T$D3F?,1#*\%]C%E",@,Z")J4$\2QHW*!N_1W+6' M[L]9V$GLHQ8R:Q@(G0$)?UX!DKFDO3YHB-$G4*+6/S'CP25D'A4&63;J&[A/ M>5#'22^CSUB 4_)6NQ: M&%C,$E3 2/!$_9OB,0?EH^E\ESA@G+"-H%OGJWX=C_Z-:?JZ7MQ:OBY3 M]+XDFZP%X5@@BT-EB,IE,!:M\RQD*\I&":E5G[[_C%,3N8]:"JV#?/4= : 9 M<9-DT8L2(:=:Y9=\':KF/&11269;(IXV98'%: MK! &I/ !LS-%-;\?> V4_9L6C90U:B_I#DR,%Z/A++?]$<=GB[ZZ98C*Z^ D M]V!24F056P>.FP3::BD<,IU4:PJL!7,J)&@C[0[V@=G8AVNK_49/&PA2 +2^ M3O97 9P)!8HP3D:9QY[2*JHW-,H%U*Y5HBSGA UR XO/+AI^I)M)%VPZ$K,T +'+\- M)^>8^J6/>4'T34 US*^N!;+_;&L#)8VZDG#C?-YZ<*HDYBH:%NJT8,;KB(=D M :/F.H;B2'F/3^UWY&CWI?5M!-N1ME^/QIC"9+HX?;SB+EOR:DI,=*1I[2%P M1! Y)X%2&*5:).!7/WV_*<%&:EFAZ!UDVH%Q/^^?^$;IM_4?+%O[O+;"EV0 M,250CG'P(64@-@=M>1!Y,W5O8=C= >=43_O6FNA@FM0::(L78A-P'<4-[P1V MF-AA,S5N1H\==-"!CW@WR.2LTC(AE)(%U ']X+504%RPEK9/*7WK0=\'(,@] M,<3#\&,;T7? B[I%OBL?P@ G2T=6V9P+=^#I\"1 OB940P3G@]0AZ4AK;1XZ MN@%B_]&"ADJZ%3;:1<(=&!8?<#"H]W7@$,>A#M=ZEL](OK5-9MK_@J_^K/.I MOX'-F,APP@S&QYI%+0XB"P&,,D W2B,L$TU_S8 3XDJW6FF@YWCFP"6 MS5$?YG7_D]F&*5V(024),M;DNW4!'/(ZJJ $*XK57K8>:7PGH%.W4=MIHX-A MCPLLBS=D$S =6:77@!S&"FVHJ%N[QZY2[F*7N 8*D\_D-A?RH4LDE]I)B)S< M=%UB\*R@3*:U;;$'E=]C5^Y+X]L(MW75&@GP^Y^U?YM@!TV,NA-C)RGG\?F(S!&D M$VR6"UO VB%BW5>H2*7N$X+J9U8+P62R2-EA!QK#.<"S!A8_(N%.5;NP>W49PZ);87=7.SX')> MQDVROCD[#_UQW3?G,"VSR!EYRYKV3]KB-(>8 XW!9*,A,N1BC M49&U'E9[["'1=AK?1KB=AD1?C\-9M0.OA?*XE:;(F('.S#J+TCF(.AF@-4JI M6%$AW&O6;O:H0\?$MM+#VH#HSD)L&-O8-%S++<9,^*!@D4 0,T3I."!ZKGDT M0>C-;CL^_JAW&R7O+L9.JF16QV6M84P'Y4!H6>KH? /.T>*C-H+XR)RRK5VG M(XUZ/T3Y+:7;]5R6%3VEW,:26*@CP&KS'V.6.)D9>'3,V7I2R3WZS=^#1=]2 M(QT09GW'V2; GAKXMU;AQHW:#Y'_7AOX74'OBS:@)9(5$W)]*T*M&M-*>V^, M5*WS(8^K@;\;7FPC]CTV\+-@&*\W\CAM'"A>& 2EZG0C;I2,0B;9.HWZ"!KX MMU+6A@W\VTAZKPW\5DNF?4#03G Z)K,%'WF]$I 9,H2"TT(TMRP?00/_+B1H M(^U]-O [X0+90PG\+-C."2'9UP+(P2V1)^,,;WTL/(8&_EU(T$36^_ V)CTZ M\ 0B@>&:"*D2;4Z.CC\(P7C'$\&,K?> 1U,DL4L::D=1KST']I /KT+H) E^ M]8,[RWRO1;_/='?01EJM/""2[ZEXSA"YH6U$I)RT3T::U@'W8TMWFQB\E:A MVMJCHF0&[PJ]2\41];EB_N9EF=]MNGL;MNR2[MY&)8\CW8U2E%W]X,\0,J= MJ]X+$2U*0PQ7!(I[LK?9K.>E)&Z%4WB,K940M>=7 MX/3)@M7 M4E'[(,:!V;"KLC8@PE:2[KH-],7G,/Z$DYZ5+)5,<'RHD=-,3G$((4&QWDCI M'#I9NM3^ L<):_\ADN[@?/@U?)WY++2^:_#(6"F,!W)83%2\CEW,$+PKH'E" M18@MIM9#'=9A.2T6-)%X!Q>5K-R;K&*%">^AE$CL1$=>K$WUCYQ42,:3C;2W M4V!-)F;Q[?I'#!/\K__X_P%02P,$% @ !&DG7'>0L470^P ,E1G1%0_$ MJW=FUBA*JM::2N1)K)Z=*SM+0^!!Q70R@QV128GSZ0^(1[XS$HY$!#5CTR4R M&8"[_R+=X0XXW/_Y?WU_G*-G4=5%N?B7/_E_]OZ$Q(*5O%@\_,N??K]_C],_ M_:]__:=_^N?_"^/_\^;S1_2V9*M'L5BBFTK0I>#H6['\BI9?!?JWLOI[\4S1 MW9PN95D]8OROS;";\NFE*AZ^+E'@!7'_6/_7ZB^Q$*$7>3YFH<@Q";B'\S@) M>$O_=-_ZA[_ M?O#\M[!YVL^R[)?FK^M'Z^+8@VI:_Y?_\]O'+^RK>*2X6-1+NF":0%W\I6X^ M_%@RNFQ0/\L7.OF$_@WWCV']$?8U)G_^7O,__>L_(=3"495S\5E(I/_]_?.' MDR2S7_03ORS$@WZW=Z(J2OYE2:OE1YJ+N>*^F6WY\B3^Y4]U\?@T%_UG7RLA MCT\[KZJ=6367F>;2CS67_^T4L5\N8-\1O\M#7ATPUXC[R16/0YA^D+F9]?(Y=?2W*)9U/\+78D-EB>:X_^*A^ZLCH MB0:,:4.G,]U;K(KO2['@HK66.U.C@O_+G]1/LU6-'RA]FMV4CX_EXLNR9']_ M6SP77(VKU:O_\I56XH;67^]HP6IH0LG^B< LL3FER)NEQ5K%T#%2-Z_6]Y^]>6!<1[\NBG M0OU6SN>TJM&3J%"MF?GYGW_9R. (S/FK0#2W0:+A"F@ND MV3B)4.=5R*I\M =A6=I_:]J7HIC[$RHK M+BKE*1\1=/T=KZOE[+-0+M]2:%_Y^GM1ST0J<^9E$4X\CV+B,8)3KNP"C40H M91Y(D>8F=N'(W".K_V?Q7.CP )42W:F%KD+M>H?^T,3_/S.U/P;)L'9?*"A, MB6UE-%;; 6F&M%,-V]),]=M&*X_-.(GR#8C2Z]C0(Q:JI-Z4^$T\YJ*:\3P) M2,8\+%C*,%$Q(Z9>&&#N4>9S+E4D55(A37+HEX6C,[1;X+6JZK! M!?WQMGRDQ0*B0UM8&.B/G80PW;$6#J8\AZ)JJ 2_ M5@&,^KB8%\M"U.IOJT<5VU2E_I7J$G31G1!4>BIPUSD*=YB68>]@_W M:F 6JFX[NS[Q'LQ$^*JZ,H8!J>)PTC M)GT-^W'(M,1A"XI@?';]C5;\_O'A3A%=5H\+_GY.'TSL^LG!(]O@AB:Z+QZ+ MQ0/2A(6:1/TB3D??AD(/&TLG\L(,VVE1T1^:L@/?ZZQ41\Q*+=B?'\KG7]38 MSJ(POC$DIV><1.G/"M0KZ/D'[;PS%6N*Q4I\%MH[5B].19KZO$R?#]WF\^*A M,0'OOC\)IK<^FW=[*[]H'UM2IO_6')*\5;%5$T7G$4LB%FAF=6+><JYEC]GHO"[R_\@KO">R/C0.G(\?+,7.3>ECC +OO2HU$!6;FN2AF M[Y33MGQY7\S%IU6S54-#DM(HX=@+I#+2PI/*2$Q6'8JETJ'?==J<0A(O()]CCN7)O$A+@+ P3 MI4,)YRR,PB1-(8[.(+6Q8Y0U[>98$']8H(X\S.D81LS,AW"& S!VV8.@6$. M_FAI.US8C61TM$X/TYITV342>W\5-1MDI^$?%DI91+W\K-;8+]_H4_=%]0*1 M)DSHO+Z4JN61!CB-4X:C,/*D"G 8#4"J?9S,R#K=$T65=DUK11:IU[2LE&M1 MP[3Z!$IFZGRY[# ]7HNM"2)-<03]'1;*D>*>(#*IQ@X+NJ^J9YZVT]&;[DO[ M;\7RZ\VJ7I:/HCKJ2;>>NX0/EPE:K@!SEKYU M,4,3)W>Y O P]H(6U^H'):ZO.'*DX$AEF4;5G1'PU5I,FBAJZC8Y6S=;+C ME;.";1^QG'\8IF/TJ7R8-5F<]8>Z7C6W(&[EC5;L^;Q=8F?4$W[F$8HC&DA, MDB#!611YF'(6I3Q-/)88)6D;T!H[Z%!D6P]"HKI-05Z(I?Z-;7-AIJ@FT VK MJV- 8$K;TD4MX2ND2*-;B6[&P8%W%^&:7Z?"8X?H)+@8&S2 I*U9TP,:R^7[ M0=98+Y,I)K%A %EZ2P898F'/;LK')[HH1/V&LK_/RX?/;7!Q7WZA,J ULCU;$T=Y2WT[CJHU P 5/H.: M@2ESAP4THNEAZ BCSQL8OKB% 6#)W,%A9\G.?SO^[,B2F4DZ:,G.3#&=)3.3 M9<>2&0ZQVV#Z)+Y=,U:N%DM]1EN5"_4C:W+&Z[MR7K"7]K^;$"$+I.<'A. \ M##-,O"Q6[EJ88!HD<4C]/(D]!ME.@C(P^F%0^=1O"BW$-T37O"%];9S3BM=- M!NKUL3\LRB5Z44LZU;.8YKA9OPJSS:(Q 8894L7)-FR[O%RAE@_T1_>OTQ#O M4C <;?N R4^ZR6,+SOZ6CO4\%L[86Y$O/RSJ9=6L8#?ELUC0Q?+=FP_W;Z_O MRWY/7N>9+&KQ6:]POQ6+XG'U.!,)9SSU4QQ*D>I]\11G7I;BG"JZN.CS1?8G69V\=:ZCA[0IUW$T"+\!]G 1F.\]R5+AAKN?%* UZI?:S3^>P M7HS CB][^6RVN0ZL$K06;T7[[X=%MT+5=_1%[W3.8AGY+(L\',N>FH)0C,?SF%FYH ZQ0%F MN'O2Z*>>^,_ZG'&-R]T97"QR(PQE=98F<8[>Q!D3AN(?)D^8#G271]'KJM+7+V.?I4&0ASH1.-0;=PE.0T(QSQ(9993EL0^L%G.6YN@;>-U9/&VN MJUV>S; /F9D!< P$=/?N>#Y"P\ 5HE+ABJ[G\_);$BXXCS-/@B[9GZ0T=O* >D#'@CN4@?4OSJ-E M9AN<8 "S");B@Q7]K&B.U/LTG4F5^JRX^ZI\?H"= O^ZHI4**H2HW].B^AN= MK\3;HF;S4E=#F0D_YU'((LQ"JF__9)[>N@XP\SF+LTR*F(<0)1ZD-K(BOZ=J MQ7K6)/=S&/-RP8'K_3!L9MKL# R81F_(7B%-@T8:T.Z4VDM"18@_3FE2Y MC<3>5W"S0199>Q75-9&OJ^K-RX<%;S*5C!/VCHP=>[EM22)%4U<5ZDX[\A>D MZ.MB=RO3BT8G91]63A=B U?8\Q)WB7RNLO<&Q+-+W#LVX70Y>P/B[*3K#3UG MMWB^HY6^K;NNOOB&U@6;248YEQ'!<1ZK13/S!$YE3'"6"1J+7"8D\2&+YE$J M(ZMA0P.)CO*F5FI30755<^OJJ<8@O;.!B9.147RPTS7CVY[9JQ#4EW3L2@1(ZQJ(.W,-%WMHV,"[-0\.OH 7!L^T4?!WWT7 M;+4LGE74+0NFOK'O%^ ++VLX&L.Z>K&, M,-UT+QXPM<=63/N,G2UQ'2;?')/C;$[-SJ!I4V6.\7N0 7/TH8L*&+Y7G!P[ M&MLL9:E(TDS*!"=IZ&,2AQ)G22@P"_/8"TD0^ZE1U2LHX9'MR%8Q.R:*9[T# MTN9GK\]]VU*MS6=;15JMZ@F>1]DLHAT#.YA]ZFLDZ&\P.GY$[MAYL)7=;<&^ M\V1?HQ2?,1@GBNR9C[=P._K _(V0927Z%+UKO=WXO8WS!)]QFOHIYR$6RLY@ M0N,4IW$68"Z3F$=)1%-*C5T1$XHCFY4OXJ&)7GMR7>(I8 $W@LW 9W$-AN5F M6$M^DW6K&$"*@ZLU0JZA ?@[KB&R\X$<0 5SCR!B#[I,1A--YT9!Y-IQK4 # M[=PMW4.4K^8JM&N:5;UYN9G3NFY/X3*9AK'D,9:95!Z63SG.:2(PB8) )BS. M/2HA'M8 K;&M7T>YJ?>K:>NSNX;ZV6,[,&IF'I,C+&#&KVLCUPJ^AL+9P25 M-D=.T!"E2?T> Y'W71V3(78Z?;O\*BJ]QUJ)KV)1%\_*=##E/NG\SZ9R@#(? M,\88I8Q$2IM5T$2D9)BR@&(_R[.(I\K_\0*(Y M8N/G=?F2)?T.4W@C2,TTWS50,!/08K1#'GWH,/K88O2IQ>A^ ".P28 ([<@V M&)&BG! M)/%]G!,_PT'*/#_,5;SD9;.GO4;;Y\_"!XE"]&"?M'E"@'@H%DW7@)S.=;(A M,!-@O9GGHQ3EFN8:-DAAGA'DX)H$D7'J,,MG!UO=XGARTXWVL!ZN;\['P M,C.B[A AH\=7=011CUEU)%VF%-A)**KY(IA8M-F61@)?I!N83;JXBBIW4?Y M+)[*2E<#^+!H4I1U8/WFI?OC9O>4"8]Z(>.8"ZH\K5Q$.*4)P<(/@Y2SB.=Y M!,N9LN0$HA%6654[$5:WU[1F#6WQ9AUH@8 '!V%C@0D,T$Q1;))/^R?&*"'I M""+W<1Z(B]>* 6V@&H@/K::SO5?^K&8KJY=-8OMU7C<;\;.()>K-L!QGOL\Q MX3'#64HIYOJR6!I%0@BC+N,&M$:.%->4MZY4H#]ZXL#-H"'(S.R0(R!@ML86 M XLKY&>E. MB##+XX20@,-<%2.ZHSLF_<'PLD3Y=@G]$?KON6RK-_I)N4FWO.M'7;%@X@YX MXYR3GZ'YX_6K.W-";CCXTG#G^ID6<^U=OB\K79WQBV"KJLDWT6V$%ZR8%PW! MO;+KE 913+P ,^FKN(=G@3(FN8_]4'U*0C\D)+.->^Q8FC0 6K.(U:O!FDGT M&ZW^+I:-G[YAV#86LGPKT*!H?*3MHZ,C$&_80[O\310@70:7\TC)DIU7"IDN M ^]T['3AO)=R1S[0C>M)9GNXD5UDSX9DT#X M:2YCH(MPE-#X"[\FBW--MSE[[@D#%_?C*,49227G^HHR"3"1 <.9X!E.N4Q8 MYHDL3T#]UR_'R";[Y@1"L$*M9Y R=&XNEA_HLC2B-P1U;;XV!7-31. *?5*Z M2NNO?=%/AW[)H*2NO(WC1*;U(08%/? ,AI^V/#E_?)J7+T(TB3RW3;GUKJLF MI(3 J4E&ULZ>;I<-UE(&'NF>E-],*YV([E@Q6S9&Z#9Z5EA71[HGZ4Q[FGM. MW(.#W+,#+)SR;[3B]X\/ORV>"KV_"KXE?'*"L=UU31?=%X]ZF^ZW3W$'N$&\%D)[?SZD[-.Y^2?$VS'XS_[\,5[B5T!W$_E4M0? M2[JHKQ?\?;&@*@I?/&RNN[5IU &A@G,A,(]DBHD7ZMJ4>:1\X#1,8^9%7,(\ M7SL^QG:-M[>T.KZT4[C4E=\:WII[?FONMFX%7IJY#GL=X+W#L4 &FI*^,/8I M%,]? +AD1] &!/<;@2 N7FO_SP:J@6T_J^GL+-Q;70%.+'BM(HK'@'RH3%#/.8AB)EDJ29-UN(AZ;YE;DE.T7/2(NR5HL. MJ!IKE*;TRUO!YLI_YHCWO,"LT$G(S,S,10C8E3_H*>K>'9HFZN_2*++N3,:#/<(A0R@3SI @QS^(8$T*4=Y80Y:<%O@Q)3F@8^O#+ )?A]%H7 ([ M0V*/D%AD6"@O%9,D"S#U?8J%B+(P"KU 9 R:].\"G$D3_8_@8NA%7B0IS+"W M\U^AZ^6R*O)5>T*_+-$===LDX;1,KOR]0P+3NG(G!3SPTDX_:>F B7RY.=?= M/_'MPLDL(("A\$W@#XM:^8]5 M5V.Z:=FIJ-Q5)?M8+,2'I7@T*3AJ,,MXW^F...KKD??DF^T-S8,*?RN]IZ%Y M00TSCC9) 6);;9>:S#_9QBE V.TM5,@PVZY?Z\BG.<"JKU?+KV6E\YEGOI4UD4>"+RE9^:,Z74/ I4G)WZV$^D2*(HCP,.5(>T^2F51USPF[K[=GG[+92$+[;"VU3JOF0IT*\&O%WRK9J?ZV^I1 M\-LGH=N9+QX^ZDZAGXN'K\M;^7O=#9TE<<3R,) X(4&LKUU*G/F"XXQQEK* M>,(WJM0S,=\CFY0U<31O&N)6FCPN)5ZI7R#M0:=^G<.&Z@=^23"[U\N MH1H MBMIV8J!M.?J:MKTD^\5M42>,3LOJ7WLC#_K4??\S7;U=$ M\@?\&L"*4D[_,@9+6T[(SG0%,J?'>*?,YBN0MPL3VDFZKL";L@R>2(,XY#@( M/5\%_I&''/[*!V(K;"Z2-'1L^KM?1P9LYC@8FEA"V-+ M;MV'>Y22"X,B.8H%CM.8-! 8%',_"AA^V$XAM_5_P8\<>"8AXR*@.9:>\/1% MZ%SI)F$X282?)#F+HRR'9!*<(SA)7L%\:T76*[2K/(.S:)KILTN,8*K]<0^8 M=\,@@-7:5#)'&GZ6W*3*;BK\OMX;C[/8!6A<@;K0'L-?RWG!Z#%U@68 MR*GP-A%?79?%%A@9BSF8#QU?I;IPB!CB7:B%_-1 M%_1*V6EBJLSHVV*^6@K^[N[+VMGV_"SW(C_$C(D8)VDV;"9*10^ XLW#B@PTW>RF7#C\'2<(,4*N)P>%#"+?BIN M@;NPJ\HY !TW53&7W:BUBL%TTS=8,9?Q:)L5P/!QPL7U=YM1Y@LO3W 8\AB3 M7!*0H MVT5082>*+U]G4PD*!C3>O-"6<%',;DJE>NLO=$JE##R=T"RB#.LZG@F',H_K- 720736&.!C!7T)/,#.99J3*M\ MZH>-SAW.-(E2G12@UYK3#\#4HJZ6L]_H]^)Q]=A%S$G .?%B#_.0"TQB$N", M4YT9Z3.6!9%R;(S4XF#FD=6BHV6F#8=B#VO#1<+ M*$CX[""RDGFA]8C-6AK M+5*_;73B<+Y)=.*D&+U.G'[ \MBPO0R]E9,,/2$[.<&8>VP]S4V6^RA'96=E M=IK0M(=F9P4^.#D[/^*"J[>?Q9/Z"GREM;BKRH>*/JY+&W]:Z2__K=Q/ MMKTOWXC-*#YCF?3\),]PZGO*TBO#CVDN!4Z("J+2/!1!#.I+X(:MD9>)3?7N M-B-^.T^^KW6^YL4^<][1*S*S,],##[-)#6&T(84Z#K=KJ6_8ND(MPTTSEX9E MQ]=)G2'E\@KJY4Q-?VW5&9!'K[JZF_W"_@]-2I/>K-1[6T**JA*\^R/0(8!, M.9XZ]JT=MMAH-U$[1E#_P!A^@PT$KEL:F)!^G4>M!/*$3JC[[1NJ+97Z1#5 M)=[:S<1J_V\K!34PY^XX>K%@^FI2K+ROS-?-A2G.XCS')(L]GP@_9%$&<<8N MQL[*MUJCTQ!U@8NI8;U06J@%W15TA'*G@Q(Y,XC':$QL^0;$/#1Q0P];'-/W MCL1'G<=\*V^4I2R6LYCPR&,BQ2H\DLJ011QGB?0Q"[*(R3P-4QH:G\@?)3&R M'F[\Y[FFJG]@#5W B?)Q:(:UT8W ,%7L9+V5J"&H?[AQ(RO@H/QBF>W.Q.&R MP\[ !\4:/.X^/G*ZD^U!SG<.L8>?M/6/GMK2V+5N0LE6:DY=HF.6QG[HZWQ& M[B5J98]HCG-"YLL%OGMWBSZI_UVK4(<^"-3>-("T[S%'8U@; M70$!7/Z=8 JZ7-.2*LZ/B^3 4.29QBDH8"TY GF'.2QE$N&6%&=_^=RR7= MZMU Z+Y__85\O59'>S=P#O2X=T3 98^Z+>JGB+'+10NYT5^WX3+PP[]" MX)IAL$X,+A-7?>KSEFBHD0TME7!=IZ[Z"K7RH6*!6@FOD!8/-?*-W5AOJO ME^5R42XA[=0&D3F_N^ ,%)@A!N(Q1JLROP3K@5L.?-P]B8 MPNS%:'""K,@EF%B9%2N"D]F92^#8-CP7S6-[67LA^G/T]Y3I*YTO'\5"3=!5 MG!8L# *NJ^WI,A?$HRG.HCS!+!2AI D+B&^47F-*<&1SU"RH99]Y@7H.KE#+ M@V6][K,HFFV*N,0&9E8NAL7B-K:9K,YN89\A-_'M:S/A#V]=&XZS,P9'2H1N M?)]-[$>H+U*>$$SR., D\"C.PSS$G-,X]F(N8S^%F 0SLF/'T9L"0\!T&$/4 MS$R >RQ@AN!8)6/',;*=J([L@"'12:T!#(A]FP <;95O\WDU%[Z71_YU5=U7 MCXLE?S^G#X"$F^,33)!QHPDC31G[.UOQ]Z)ZU&B9'JH, W$^BG"" 4R5S<1' M?V@N'.TNG)72-MOFQ*Q3IML,"[:7;W/F8;OE^<."E8_B8UG7[Q5S-Z6^K+PJ M%@]=-6ZU<+T1LJQ$^YP*$T3][ONRHHJ&>M?52[-SH9A3\BZ5X(K2PX>%TBM1 M+V?2)S3S]$I.?:K6=.YAFB<2D]1!M.$<;UOL7U#W?<'^%=KE% M/;ONW)8),'7DZXS)Z:0.T@20[WM54Y"$E\1ZI]A8OGSY*N9-#B==O,P"QI), M$(ZSW(LQ2:(,IYX@.(T\F7I^+K.$F=;%.IQ^9 ^M)8@:BJ@C:5X@ZP@:PV;Q M&>P[4UPRU/*"6B74BUDCU M3TP%=UO@Y"S5UZA@8@K%B1(EQL/M;$JC1UN5,?7ZWW9BF?&4,Q)1B76G!$RR ME&)]M0&'3$8\EW[B<=">Z6E2(R_9K:U8E O8%;SS_+U3G[:M/E-^_ M?+E37X7E]:+)5GS2:^1,")H*%ON8D(1CDFIY;.5#>G:0D""-& M,$U9@$D8"YQ)ZF.N_ D12YG''H$5@S2@.K+!6?/0W+O;XN+_!E2%OP!3TV#$ M,5+04,0!2!:!"$!H9V&("9QBP)F+ELP7S-6K?:N62UXGQ@Z8WF> M97&-[1!Y0A MF_!E#ANH'_@5P0S>L=RS*[01 VW+@5I!4"])\QJWNPEUPERA_J7?[+_T-S_T M2P<4M/LQ7[Y=E;P?[DL *\(W_:L8K.PW(3O3E0N<'N.=&H2O0/[BK80;6G]] M/R^_;7JBQ(+ZF0PR[&=QB$D0,)SY7HKUOJ7'LM2CL;#<03@@-N7&@2:.&NHN MM@L.<0/O$ER$Q@6; S @+MD2."FA^YV 0U*OM0%P4NB!N/_T&'A6]DWY1P4KH0&::(MM*"DJV'1++* MLSXZX60IUD/B;&=7#SYG40"DJ:[U^/#;XJFX6=2\ EUM.#YZ["BV*2MW7SSJ MO:'?/MU]T/FQ=:'DA=QF."'X>56Z7&:8,@V)Z_3VPK!@=A4[CD\Y7:F.09%V M:G0,/^GN=G%;+#+SI$P3/\,BUD7A!(EPYN4>S@*?>;D?L#B/+KU6/$4)SX_' M+\[:U>(\#9>9U^D$!)ARVLKOY+[P&$4L3]-Y]1O"@T4FSP^P4V'MRE3BJXI. MB^2K9;/] MMBS1'76;^&8@O2--'Z(TJ:X;B+RO[29#X+YPYU!_HH]&6S][0T9>:34)<^]V M6Y3S+JVE%# 5ZV/ 04% #NL1MJV\U.UY)G--CS"_[8\>^_,%_>]6;-ED>ZM? M1/4L9DGH4\F$P&FF2\[+3/T4AA$6/ MDR(-(I*#MSV-$1E:(-^*A6#3=6',Z MUW7*+!JX[<,BTUA*R6/LIT&.2>)QG 9!BOTLY'XU."'FTG]VI9RU[UC_3 M8JX]J?=EI=-*FP8YS?F0[I'S&UUVO_U;L?Q:+&X7XM^54[HIM2T]+V*2^9C) ME&-"E!'+>"QP&/E>DJ8^#7D,T];+&!I=K]^N!/K6D$:Z"-Z+(@Y3[@L!-S,# MTX$(,QB:.MHPHWSYGE$LRPIK5K>+B5^ACM47]>2\,1C="?L7I0#*^^__C-ZJ MOUPA+052TK@S06Z =&2L+F1F4K/F!KA] ^AHU@M36S\JQU#T)^DO-]V%L32G M21#G$@LIE"G,/(:I2$+L<^*)0.1)[OM6&:Y'R8WLV6TR/^>:^@4W[(9!,S-G M[J" F:L-"@WAJW5BC[)'-\[OVQD)Z3H=]CBQU\F*'13\9'+L\"@W.;*?F@0; M-;6B=_.55@^B_K!X5G3*ZN7+4CS]_O3NNTZ?$3//SW+"5- B99SA).UDJHSG0PY9C4OA@1N5X>F%3 M*JWG#'6L7:$-S)H[_/L3>CP7YRC"88*FG5I3N!5\RC! M.)S+C(1/:'E,-:=UW=VL^KAN_L!\[HLT9=BC@8\)I1G.22"QGP2,49^DD0J0 M 5[A42IC9TYIFNO;?F8M(0 0F?F %PL.L](V,L-/FH9D MG"L-/FSASBG!OA9+H7?-Z/PWL:3SNKM/U5V^BUB8D8AZ.,R2#).4J<"-Q0QG M<<8X#X+,YT8;\4;4QD[,VB:/6OH 5^$L5@9>ETL$8#I[3/C^YN+YBXL6: "< M(Y>HV#E 0^@X?/%M]^+?%S6C\[9LU'OU M63T3"4N3)*/8#\(0$^&IB#-/ QPJ+X/G>21\EIO68#Q)963;U=-%+>&NIAEJ M2)N79#R-T;#M[S-O7%N?Q5$<,Z66G$M,' ,'9F88$S1* '61> 8X3C(1T%"\,TYHT;C 2>S]^,!MTP2T-L?Q: MU'/:):EH4@"3&*98.*IQ3(/P@A[2>SYA)-4P/;+ M=F:?1MO48^@/30ZX'.X"8;;\68MGI5\&DL$S+(Y)X"IA8F?N:?,?CHEUD,YP M]"&8&M75LLD+ZZ[X;II/=WL4H4]D(%*"PX@HA4IUV5_N"2SC+$@X(3P)$A.% M.D-G9-7Z+)Z+NFLJ>J=\]VI=\7K#B)FVG<-K6.\YV2?15$,1>YTU??RROH=;/0#OJO*];O_\8=%T@=8?;7RPW/?" M(,UB'!/NZ\N+'.\+NN*%3@)4W*&&/;3%GUW71%/,S5;D$9&$68SC!]Y'<>ON2J)1FRP" 7'< M;=&4^JNT701"N5@68#N^+ ]XX@ M!^[V[E\MSI(_K?1:?RO_GQ6M]+KV13S1-@MQ2_?^6LX+3E_J&8MX+/TTP[$7 MIFJ1#C.GUM>].K\CXX;5*_9073##_K:,00X M=85A/*R0XR('4]H-:#TC:,,)VF(%_75LT #GUJ.!9W>([1!$V-&V%0Z#Y]RP M&:<[]+:2=.<$W&X&"W-\7]%%+455"7[[+*K[XE%\6#RMENT&Y;KR>!QP0A(L M]3TUPC(?TRP*<1:K"?.$^PH@8RML0G'TK9!U(=)2L8"6A:Z34&@NT&/#AF&K M-',(#8RL:V!@MG6+>@N*IH\P:EA8'PC ,X",T %84]^=?7A[S\<%6 [8^?X Q>T6OU0UZMC+1>;_[ZA]6X1Y%G@\9R'+,.,!D3W2U2!FT=S M'.0QR7S!8I*#^B5:\#"RFFEF='4*[4[7FKLKM&CK+#']\7S>=3F_K DK$':S M'9:1P83I=TL5M>ST/5B[?W'#![JC+\T)S76E[/]#LYU]A:A4+TWOQDI1+%>5 MPVOK%\#CLH4KD(/IV[G:072TM:OE5/ E_EW3A_J:\TK?PH8XS&.P0-;,81@7+9C:-WT1>DY0_H)^TLR@ M8O$S.D#P15]&9O-5$T"\+6JE'NK/NH],]Z@^O1VAN8(]7HX<" L&)O4?[ ': M=Q\NF,GR!)L'?%POE]#=UQ9@HGG4^P)N7S<_KO$3? MS^(T\Y5SD?@4$X]GRLW0;=U\)EDCSL [>!4W<6<=H;LG92"+6_EN^_LJPZK/].E MN%UH8ZK_I_O:/M.Y;IS9%$XL=,<._0?%W^X'6T_.I$]IG.4>EJFN:"@#?1M< M!)B%F8B%3W2?*HA]&X''L<.PAF.]#20ZGI%:B$2-E*O!%"

LXLTOQISS<-5VTQKPXIN2-@SV3VAZR+N?;@SX*9U';4CN?8=W=GC M$=%V9*;'X'!2ZSTBQ/M&?4Q2=K9^7;-'!T'S4E?FWJ3F9B(1?DQ4=,U2H??J M?9P',<=I1 GU_-!+T@0670^1&SV.[HF#P^=!D,RLIBO!8>9O4W!K0];Q#3Z( M@(XLSB"I24V'B=#[-L!H#/PB[:=R<2?*3Z*\?G[06^(JO%W1^?SECA8V[NR>[K&@JY?6_7=(CMPJQ[OZQ[C'[4KTB]Y[?E(RT6LR1CB:^7 MXD FB5J9I<0TBGWLY7&0,9+F/ 1=5!JD-O9Y>=N3:-/CMJ>._FCI _>&AI$S M7:X=X0$\\M[N\]OATM.^ZKM>G(?%8O$V$-?9ZCU$:^+EVT#LP_7;9)!%VNWO MBUH7U!3\BU@49;7;\:U+BI0YST@J4YPEU--%]0*'IFEGID2 M'%GUUQR@EH7];H. G%(3](9U?PQ,8.I_#@Z;7%L37 "IMH[QL/BR[T#]K;Y=?A55URP,7!?(<+J1S=N @_Y< M_QDU+/4=Q"&-TLV@.A_-C( 2S.!! !JA\A!0?LO>ZV8T)FS'#A)ZMT,[;.AE M11NV+MCW?<';&]>;7']_ED99EJ7*%\IS$>AV?Q33- NP\!.2!T$>AL2J8H,) M\=&MQQ9=M-P0MJO'8 2G670T%D@PXW&\$L,N:O<&J%F77H"([[CN@A'I5RFZ M 'E5,4%T!QV1F:GY]]-62_KF?!E%OM^@I,@EIAP(G$F4HD%H2RF1+*-#=TNXM&X@VE(Q4(FM5XH">^5Y"5Z&[VNDFR30#%_3-;*%B:1PD@? QXU&B MK&[J82KB%$LOS5(N4B]/,NLFJ^8877 5JJE8L0=-V\7B8G#,;.AE(L,LY6Y# MT9O!K\!E[41W!!FCF6A+X/5:B>X(.-A(=/=)VPL)[QY%]:!F^[4JORV_:@>, M+EYFD1\Q&1!]Y5I?2N!>I*O/Q3@(0N&+V(\2G\,N)1RE,W9&3)NGWY-&+6W4 M$8=>33B.U+ R.I0?II&6HEM<4A@4[(*+"L?GG?BRPJ!PAQ<6AA^W[$]4/CZ6 MB^:NTMM"9QHO>'TGJN9^TEO!YNH?/LNBD#$2>SC+=)1"&,%I$.4XB^+$]P/* M,@FZ]&A"=/R]#<4"XCWYYCHC+^>*=HV>5-C>7&T$WFPT M-L?74-$7AC0Z/S MI;W^N6;@2I>7;&\PJD\[+APV/@+([*H/D@G):=LB 4 XZ)($&6N[I&\1:>\R MWJZ6]9(VG>UG@FK>X@*[T@P":+OBN8+%:]ZT1L7 3 2]P \8G'YB=\!$U$.OP&B4Q7GN%S&? M:V=#+$1%Y]<+?LT?BT6A[QKI/@I=>\2VXJU:UD(O(6$0$"QRHGSZ*(EPSBG' MGA=XDH192+(,L/U@P<(T^Q(]-?3EU_]!'Y_^YS7@,!,(Z; M& LAN\R/EH\K MU''2I)WO\M(W2^UK4YMN!-L@!S@1'@]!N\-AMTC"3HSML!@\/ 9..=TYLIVL M.T?*EE-8%JOIJE_?RNMG6LSU?:GW9?6%SL47?:[=W 3]N&Z3%(DL4XY7AK,P M5GX8RSFF81[B.(D(C84DN00US !1']DM>ROR)=J055K0LX1E6>%:,75!^RD8 MSF;!W&CHP8ST&>"^& ,'KSQC X"KFC,@VM-6F[&!Y:#.C-4D%BDN7Q^LZ_I6_JU>+A[>+F_E757]>_7N'\N7ZV\5K]7'_,/BYKGB_UYUZ5FF.2^6 M\X^]4=1>NRL6VPW=:-,$^F^B;HHRO&VNY/4=./Y=T*JY8:=KN.A6+G7S8%/* M045.ST(G?NF' "DSMM /FZ>I4 ?N/8T&N,-.*"Z@L\O'L24Z78+.A;#L9.Q< M.I>=K[5N$=@4X:P_BFTVKT755F1H.4 _-3R@ +CY/02:F9OD" J8N=D8F:L.@"O4 >#0 M7@!$=.3V#%&:U,DQ$'G?I3$9XB!O1OVBOOKB>]+# M&24"$U^7%4E(A#/?]_Q$)%X4@/96SU(& MB_Z'QR48G$&"-"6>%^"(R0P3$7DX#[(4 M)SSC).&1(%Y@F0 'J90X3Y-8 MWUCP<<8IP0JYQ$^9S/V0=_"]6_#7 *\G"\@EXN/C9K;@3P MPM(@BF;:?C$H=MUY.PIH4^_VJB_\\+%4_F:7+H)^^BR>%^.9??[)_$C*5>H)NRL5P9 )%R3*6( ML[T:*\WNZ5@+ 5$E7C72;MW' M-7^ZF:6R?9/#QC?WA\]_*.UF\J$X/5[ M1;IO!7@KO[2UDW0&X8PF(4_RS%,1J!]@DJG>?DBE+NM2W\KF?IRL&&>!2$/<.(1#Y-$*!/"XA![818%3/(\#R)0 M5YWC=$8V&O?*8^@/"G.Q$+* 1KJG\#%3?0=2PY2])XC6%$?(E#PCE:ON+R>H M3-O!95C4@RXL9QZW[Z12+YMMFILYK>M"%KKKH&X/I)L+KNC\-ZKSLI8O.OM^ M;XT*I9!>R@C6/84Q\7VB@H,@Q'$>)EQF41*$%-YIQ9:=T3>WMMV$Z\>R6A;_ MJ5LKE?6RV=E^5R^+1[U?OG6#H6Y+HJ^%TB[$EC"HEP;>V<7ZI9E9EZE>!,P$ M;2.Y8>L4J.V%D3$]$1TJ)9PKXOO+3^MM"6^ ME7>BDF7UJ(US>XPX8R2@D>+AKPV:T\;!KHC?,#-_G/ #5LIUW# K%"'Q*.@TSQX M MO4VNJIU#V#%8&N\'ZSR\$\PM,HRW&:DAB31/E'*:$)EH+S1'E-7":@&[4G MZ(SL%:VI-GK0T(7F,1Z'Q\PB.! :IO\;>?M*W6NY^T;"R@KT?W._/W1&8&?9 MC,>I3)S(."CJ80[C\./6#?TJ06M=1[+Y]\-B_99OZ%.QI//U&A;&$0UEXF,I M ^4(Z(S&/$UC+&/B!7Y,PC3GT-T@4^*C>P)M>8I:UY8HUU]S%6B*+JUQ7M!< M]Q1J"NPL1-,*+^_OE-#VJ@+_"[@EH"GVIILZ8^ ),R!M7:S&.BS+YA!-K3AS M@3XIS+K>@>KSIE]YDY7'V_V=GWZOF\H>/V]9F=XITS?X6X'03[UH/^LWM7FT M$V\4QP2.JKN>A*:$IVY0" 3D2+="Z SPO*VWSYS7MY6RE=6[:O%0W_';Q;JX MR*>E_OQ;_5G.F2XS9R+ .9/0EF8]$3QUQ75O(BN+L&W MEK4">E,&#+.9ZS@F=#!CN(U9QPOJF4%K;D8]]K,%PWEI2T/RKU3=$@;.Z0*7 MP'EL2T0MJ8K6>+^P=IZ#1PD1H9_BV,M\3)A,,!61,D*A%Z=>&J5Q#KK[?9S, MR,Y=3W3M-4"K/QV%QLQP7"XPS#P,XQX1''E- A9*E1 M-99A,B/K9==7HZ-\A5K:2!%'FCJTP\A1H(:UU)WX,"VUE=RBD\B08!=T$#DZ M[<2=0X9$.^P8,O@T?/M$%VVC2Z%W\MZ*Y2895B?8F.Z+#,TQ^IJX)HUV:#=9 M8^;;$X,PG-]W<(4 =)&T$AX4]9M(9A7.#TX\69QN(MYV &[TO/7%'38O=3/S M6[F]K_-9S'4Z:M/2LTD*R6DM^!U]:?+DUF<'PHLI]T,?YWZ48J(\6YQYOL0Q M(RR.4Q)P"KK8=QD[(ZM]0Q@WE%%'&EWKN.*AU0:# X(QWH&9+ST=LL"0O 'U MS26@VEP"G+&)0G"/,YQ%BLC2"1/=)$M'T=1FHA0ABK.H!8URB[A":*J MUD7,-,TKU&1SB0WI9O.Q6C/6_ITN4;XN>=:F_BJ:P$27BUX2(S*C/DMP0'2\ MYY,,TRA@F(7$"V20"A9FX$IHT[XB<*FTYA! OEA0+%9:';J3Z8%;P/ D)Q?@N4J%NHB7 M:1.F7,!VD%;E9%+KY*OR47SIXX:UM\C#6%M#CJ-$6402T!AGN4R4 \]H0OQ4 MAF$(\=A/T!G9%>^R?=9DK7WO4S"962H'PL-LD(W<-DE)0U*YRT Z2F7J=*,A M48_D%@T^;AF#JW7XN>G_>-TD!/2$S*XBC3WIY\V=CPA MW$$T>.JY2];!>_J]*Y;YIBVW,".1BM98EN$T4^$;B53XEJ5AB#./DE#2,,MD M!LXX/D9I]$20/O.5?N\+I-HL@8<(A2*B?BI2'.1YJ*Q0JL(F+B,<4UUYFXA$ M)(E%@=E+8+JXMNQ86$'V;]H"*.ZH0SU+0R1,_4YW.,!]47RY5:YW"O4 M8M-RH5-[>S[09R>'<[:2._-@#,E.[-G P#CT>(#C+/R>;LYKK)PE-7&S]G,"'5=;/CK#=Q%ZJ5UXH?Z[=$_\DEN^^ ML_E*]QC[M2SYMV*NOIPAXP%)*>:$2DP"GN$LB07VO""(69ZGD9?!3G;/$QW] MF+=GH:N7T=3'@&[9&F!GNG_K%A'H9NX:C.L.#%WXXJG>KKG(SC9Z M#4A.O.MK#L+A%C!@K$4#H46]N.;_47]Y9C?U$MA+Z,C8D17Z3GM&*N+95'*I MT1=1/1=,-,60 3V'C@D^K,8N9 :NS6?$==VF:$ XNXY%QR:8+RNM=.NZ]JM(_/NRY:$8<9Y&.*8<^5-D\C'F8PY#N,T\\(T M3SD'M2(PH#EZXD;/@5IN4L0R#,L(=88"\S@Y6 MSE.<^$S%&(+#XQ3SH7;60=?H;TKTOWE9__C70E1JHJ\O'\6S0N9[4:MPFRQKK!_1AR_J,I3]VN=+7F9Z$+A8IYL *WDY?^92'+_ 7^4.E8^R]X$+,+ZCAG,7LT+BMS48KZ4[G\+)KS>5VZ]EE4+YM* M:A9%+X9G'-D.;U>!X(J3IFIDU?*">F;L*F&<0>K\'L\X(,%LW$Z5#(V/X@)] MWL,'_>&TQ)R=[!?7T3A#YE6J:IB)?JK&AN'H2VM9ONEJ?#=).W73#;9^\[+U M6U.D;B8D]Q,I.4YS'F$BO1S3(!;*[V.$^(QF44HAWAZ4@9$M2<^$=@CROI1, M6X$1&$F"D35SJL;$"V94K*"ZH$(E3%[G%2H-R;]2A4H8.**+J5?-U/Y8WY8+W-5/#B,0A\S*>S0* M,LG,LK>,J(VLKVOR3="^:0S4< !H@'@6M&$==@X%3)$'43A_KF0!!Z AI$M8 M[#I"7@@/K"FDJ;B#72'/3C)=6TA3>7;Z0AH/LJV3K?=EF6ZFV_2,ZPI\=;UX M"E%O*H%MXGU&YW)*QS,'H^P!^U'T!/QW\O>Z3PQ3+/=/_TJH@ M#AA3,RLZ)E(P,[GI ]JPHBRD9@:7$BMV6AMYA>Z:2JH%4^93=QMR6M#3%@I7 MB090\M,F$UB">*@#";]C:C D=S,I8HC9" M H$-'E8I!"!"DR41V(B_G49@-?[2./5=597535E5HEE[:N5*W:D%J6J7I:W+ M1QO%2+,T93'U<"Q3G53 4DS#@. DH3EEB4AIXML%I7!F)HQ /R@]8DT^Z/:5 MK'*[W7>;*68;:EJ\"FA<.2[ ,+NU$]UKOM 68TW(V+#6.4@[H$\3.=J#Y3Q, MM&#EE6)">]!.!X 7S EO_G>C6Y95@C9=[$0:!AD-F+)M(L:$\@BG-))81%E. M/)9XG!L=(.Q//+8CU6RS*%K ?GX[L@_;EDLD OHW9L* 6O0=X]RJ*=_.1).U MX3O&_G;CO:-_=U3YK]_[$_HZ^JUL6A%TVS S/Z.>"&.)/5WQE_BICRG/"/9X M&BC/(,U#&KHH #C @]'W\.(Z@%LI5GKYRCM^UC=&VNXU'4L7E@0M#$<8:&H\_E] M176IGZV6EC6L2L_0'&,KZ7R..MK;/3D-$S3/ F"@F8YD!^KE";$=5^LQ$09RC[ FGA'32@=/S3F9^IT1:EOSSCT* M5[K[$I=(+,%/5)# M=OAY.S6]*1\?B]:_NM;W?71;Z@>Q8#M9]>N.N#3A(8N9Q(00W;8CULW$J+:5 M21Q*09(@!+7M %$?/VFIYZ6[:[;%S!P$QX I.4A3@G-,9<$N)E,@H$8S"#!.9APLREOFA:RR/N+[]MW@30"[%! MW-0NC8HCU#JUS*!OBAO4LW.U!K+/X%[_ON;PJKMDR$3QW&0JC9FP= %FSJP9 MG(.);9HU1(>6S7XJ._OV22SUV=]=53X77/ W+[_7@G]8?%@\*[=.;WFN[S.N MG8" $5_H[(M8)#$F?B1QYJ<">X(PGGNU1WMK5N\,#MF M@:R9&1L7+: 5TWD /2'1=\11"\/S<*M^R)U.:ZZ M9M0(KI@]7HXLF 4#DQHP>X#V[=<%,UET&'E^:JNEF785Z9X?V3>ZHR_H6>\N M5K*L'JEZ UN^$*"-2"_=^5U6&\%@:CXHD[M";\>$L6L/TD\R74N0/;9WVH#L M_\WI4KV^(+!1KAG-22#S+,-4Z(I,N9^HGV2 >2"DS)(LS*A2&[WE>M$"?80T M2+G6#!A_$77Z69/^^+2UYI3K*Q+4[5I]#-J+UN@+ 7.V-F\NE9BOS:,OR /@ MC+L0'R/\(RS X 8+KQ#,]A4@J/?B\?5XZ>53GVXE5MYRG\MYP6G+_4L5P:/ MA@G!>:;O-+#$PRF5*?95F, #%K"8&&W&&M(;>2WO&$"+A@.]VT&WI:;,N7F]7C:MZ4P-4M>?KB/KJ7QHS[).-4^I@3GF/BJY_2F.18I,II MH:GTO S8&-$19R/K^*^5HH&V.A1IFM 8R=UK,+<.DX-K850V/%ZA-9=8EA76 M?#9G-9I3O"QQS^L5VG"+MMEM7HQ;J^040H?&S U?D]M IW >,YUN"5A>R]UI M%W]'J]OJB^Y!PIO"B'>B:A+U9B$3D? DQUG,8]WU(\;4"RD.6<[2W(]5!.B! M[H<:D1W95O[OU4+7A7CJ>4&U9@8]T:HMX8]^*A9H57.D0FM4:X9.-S6_!%PS M(^D>,N#&\!JFAH$KI%A07S74,M$UG%1LM"FX#B^*@N1V=474C.BTET-!0!Q< M"X6-MK,F_573K7*>AT47Z;H/_6#9Q9N5XG:Q;)]L,D]F ??\)&41]GT5?)$H M%CAE(L9AZ,E()(FD I3^-RZ[(UNO-AF'M601;>C"S-/(;\O,K/TX[P!F#H&E M:Z^ZY*D^U:?EU)V5G 9&1]9U9&8GMB:ED43LS57Q]^%0M1T;FB M>[PTY>\!=IN&,9FIG@TY&"6=0W:KUN@[;*">EX<7H>^ M" 57A=I M*>MS&8#RT$I-JM);-.YZ^6MU-'TNGF5'X5>'G(<)40%L5ZO9K6?)OQ7RNU(ND/ B94J\XQR0@#&>Y3'&L"XAE M0F0B!]40ZR<>>\>\(P-3J+749GID(PM,?EM(*92+S815\0_(K"/K2E<;8\T-VK"#-OS8 M%0@!@3>L=>/B!M-+*&2CU!:Q@<*RY B(U(252&P@V"U08C6#1:Z[*)L*"4T5 M]\>E<V +(S#T%RVN90[&AXC+SX9!W9\D+ M6U-/G']P*-1A"L&19^QTZF.Y>-#9@#HKX5Y-(S+R,J5)8DT3::)72)-%?VC"P-H91P$RTZU+Q8;I M6"/Q/4QBL,H-B>1(]8Z2F%0%AX3<5\7!9RUN7VQ:5O1E=[JMT;UB"!&E(@Z\ M"$=)&&(2! (KS8PQ]S*2I]R/8L]HRP5"=.PCD[[>Q*U$ZZ)/[R!M 4$(#NOP M6+@ #T0&((%4A+!'"7 K8P2T[*YF6'V18!< M&"(#B7.:4YSZS*-^2H5((5$"D/PT <2&'WV(HCA"'4M(\81:IM!RPQ7$2I@C MG4I?9,2/L8@]BHF7,YS2-,!4'^.G,DVRS/Q.H&.(+VA2^]O]#S%FNP0_!MRPU0"< MO^/D;AI_'A^P%37_<8_2^;]GH<\#%37D]0 MM(A"CBT7]/N;UE><14$JLY0F6&0LPR15]CC5.ZHIIS*.,JH<9*,.Q^=)3>$! M;T4/J&Z63*732^6[P%WC8=@,O&%G8,!,WG&O[:KY^8UC% !NKC,T[#S;2U"! M.;-&@@[ZK\,S3.>R&DFRXZ6:C;!,V==7P?2+;],<]$EMN6BJ+NN#CH#X2>"' M&0[R6-^[HA13F5 L@B3GE#,9Y*#;GX/4IDEAVM"T.@\:QLO,Y7.& LR$@0& M9]";".8J8WZ0UK09\B9B'V3$&PV"9Q%]4M[1:BY\+X_\ZZJZYN734O#W<_I@ MFE!T>H:Q?8UR@35EI$EC?[O]'>JX,,\P&L!A6$O=00#T,,Y+C_[0+#A*#CPO MHU4^TL"TDZ4FG1=M.TO)X&F[M55W%!37C.G$L7I3R[V[AZ$6T#3RDPCGA 68 MY%Z(,^I%6+ \SP,ATBB-(6OK(+61-;>AC6A''+:B#J-DMJ(ZDQVFLJW8/=V= MAH;1VF->G::B3V_MIJ-LBR0F]7>>ZS>"JKI9[VBWAH^I3,1.)G M>2@H]H*<8A)RCC-)/$R\3-#0EY$(07E3ITF-O1"OBQI6:](J\'\ ]-\U@,M, MM=V %R*U_)OJ*(OY^2'U\@]*YJKFKBG"4U; _>LP /T#&5WZ?J%> M]?K!RY <8/<#'L%L>/PO>_IR /.8!R^'Q"S.7-[1:E$L M'NHW0I:5Z!/,[NGW[8QX75Q@ZPI%V\=;\!GGOD\\0K&?:N^,RP#3/*.8JS\$ M7"1"&6GC(YE+.!G[&+PC@]Z]^7#_]AIP*G$1O 9'-U.!!MP6[;A"+5N;E%%] MB+%S.^=:ER/9XNT*]=Q-!3+@9&@JL.T.CD8%'7:RY *HP8.GBPA,=R[E H>= M8RLG$[Z^=[]3)6NSF5#/2)B3*/$D9I)Q3&B0X2P*8IRE8>[8HO;+O?_*M31\*N'@7(T<&&ZY^\-#@')8_8*1PDN7_LH'#N9Q4=E,#\LQ:,R-(0Q MC\I'_F"A"(3'JCTM0G1T;W$+18:/>FZG3=%CW?;B;P$CL0&::O]M*"4K8&9++*U3HV MWV1)6@/";&=G#3UFV?F&OC0GR+>R:6.FX@K]QK2^UC/)?9:Q-,,A":1.>,YT MXQN"O2"+DC0A)$H#B[)2 R2-OI077Q+O&= Y#;SI!MCQ@)AF MC=9@! L]7U M4CQL&YRO,6A;!?88W QB &]<&>Q=;K)3Q-LS=[H_>]YO.&=+,Y6;=MMA>BJ1>X MWJG536,"UB9N+#&Y: =UMUP,*?M-E=5/#?AW(>%/BG67[;/1?WW MIG0,BW,_DMS#B9_'F.1YBC,1,1R1P(_\G'L9 ^5Y#!$;.>;:D$8;VE;5=@81 M,]UE9+IUFWRJE8F^JR;(ICHNPG4AQ MX@F+#43=9>;+[?O/UPM^<_OY\W6WW>.GGHB%E%@('F&2Y"&F1,8X3[PL#9*8 M>(P:;QL>IS&RLC3MV\,X\>G%BEK948L'UE9''8+&H8S2?H/ S$<>)F@1_0/]Y)XH>J*%X1UB M0ZPD"WR9^Q)G::1L,<\]G$=IC#V911EE42JXG#V+*B\M4MALL>I4=IOLCX"5 M61SA3GZ8K=[.6KNM>+&@U0M:LW"%6B90P\4H*6P#TKK/8CM&[+42V08$'\AE M&QIE9Q:;#-CVPEN_:1_)A/.<,BPH2S'),X+S+ ]P)+R$IH0089;(=IK$R)Y6 MFS#=GV?0AC),J8^@8J;(E\D*4]Y6S);8"&<9IT5QI)E'"$RJC:<%W-? @2QO[L4P")G 8LQ@3/PIQ)GWEE:0Q%S3(E"=BE!UQCM D&ECM7#1B M7VGU #U3/ D40!TO%-]&*7>O6+FOUWE.+I<:>HS,]'HZ(.Q1;1UZWK(VIUC> MT/IKDY7*!7_S\GNM*T_IVE/U4A&Y9DNU/.OSSAF)_#"@(<$^U]OMH<@PE33& M-(Y9P$CL!2*"9 28DQXY4T Q@ICB!*WT\5:Q4/_?L8#HF@=@#4]S6,UT?ARP M8%9 ,X!Z#E#^@G[ZO07L9[3F W6,O.C:>6R^XOJSMT6MM$+]>:4>OWT2E>.V MYG!P7%4)-2<\;=50," '543A,UALBWY4;K^HW@M1]Q6^8T)\$FF^,-X0W9]]9/>@)8DF%P4_-@T'3;F:?XW=G(//F0;4F'9Z$6AL_BD1:+ M-KF@OQ)\F\^+_Y^[=VUN'%?2A/\*(G9BMSM"F.4%O.U\EIV:KRWZK?$Y' M1W]0@+C8FB-+'I)VE^?7OP O$B5+)!("Z3H[<::KRA:1F0^5B40B+W?U.]03 MD9G.%5H]J(]Q.WN1?197:"&69?=)]RBYZQ#A2.V9NYBX1;,UYTN'*\/S[VXNKNKWMTK MTIMR\W>Z_K3Y]O3P4-1SE,IJ!4\?,=;4"BF-;0?#(?5&T-5ZK31U4^I.JC=J MV;*=:- <#;5D^CJAG^R&;G5%DGFN"/P]#%O3R5\!S&2^"?H.PU$7P6F5 0.G M-EN2C#40_3P:^T7@W0S>MZ[_QU7)Z/H/08N/ZB?E,DLE)](GF"9AB$E$_K'4" M02PDES'/,,LBI8W2RW"6>Q&6:_[RA1@ENK<-<83G$>A\ISR5,8Y(S+U0<,>SQ&: M)RK\A3X(JWJ.L_B8V0 74EN%C$T$MJA$'9;&63WJ&3(S5Z4."_NZ-G7D\Y99 M';NLZ"E^+JZNZ^NY=_*IO/X,F.9+V+NXSA,,DQ"YF,:Q0'V,A%1GM*8 MAZ"-?)#:U/D='6VTUL11H:GCK<1/ZA]6"5>#T)DIL#- 8%J\QZ*FNT!?.S 4 M[28]RV'BAXF,KK(_!FG-FP)B(O:K/!"CA^#!074$O]MNA)XR\"R*EP_?']7W MH?9@K^6GA\="!R%94_S>JG!',N0R&(2%*S.=%CA*:^JVW:Z!>G(YRTRM^H&Q+O"\'?* M1&SHIOHB*OV+VVTS2/.K-A>_T>^KAZ>'I3P@C(2YL43KO$M4E@A66Z6:,RF H'7W6^ M7#EKB0^2Z>Q7<3;FLQX>5ZZ:&7/UC7PSEX"1B/E)%"J#[4681&F$:1I39;") MH$G$\X!1B^YBYAP8*<[%O<2^B;OZFI'NFZ7RS) M.,-Y[@FH3K] MMS_2G_.7,O>B,$A\99QT=P06ACA-/ \'.4M([L5!:.:]OPW[$]N[WX4.PRH] MI<_JF'4GT.-PIN^/\$+-S.2/^YI@IG:T?^5.!E0+L6@F""JNT8ORH/=\=UG< M=;)BCW=W1OEM('=DV&=F?M;-X6U>S/$&\T9<6&Y2:N>K7JYR=;ZAS/3&\_"A M"<.1-1WT9T?)89[":1%_!=6^3C[0KEE M2+TDS_50=TH9)E)R9<T4$HO!6'?HZDFB[HPF=*_L: M&3,;>9FT,/.V$W-/S&';O;."N&JU]YK O.WUS@KXJJ7>^4]:#B=I0N--!=YJ MJ3T/FM)QG&E#^U_-9R VPO: &SF:TP,&LQ\=M/M)54?M'B[=_+.NDOVL3@N?*O%0+H4R8T3(# >< MZ4F,Q,>YQW,<"B^G&0\B">MU[)2[J8/)BM>FQ!=6[D>PZCC&&TW:,=S M_:D^UZ@I'?]3,XYJSH%5LV[?J9GI?+,W!3.J;_*2P$9W$C =F6.WO,UJJ">! M]=B$3T/$QQ@(^2-!#0U2C) M(5+SCI(T$/K5*$F39^S4^].&%;H.^KUH_OS4C(^YWZ[5&F63A] _!(5*9N:% M >8B]-79,HAQ'F<^]D*2RSAAL<] WAF0_L1&H.,&_=3Q\W/=-:_'TO]"7=J+ MV6G)">IF!F-"+&$V9 (8P<;%$@Q']@9*?5839 G-L56R7<99WX35P?> ME5QI@]CZ3#IG7'E)A[Z3^MW3@]#.4CL&JO>[^N9^&2:9\,(DQ#R/E7T+0XZS MB!*V*SV*37;+8;W$W/6N\9N+@.98K7:&8P?[R7 [.S MI^M?]B+LSJ0OJ.5R@9IWN?M%G;C-7 \)FQ?8Z6IJIF#ZK>MQ)GP1!K4\4U*' M]^S1B5I7K'JBZ_7+#5WQOS>9WG5.>+./?:TVX&8]L%4GMMT'G9X[KI!F"SV7 M_XIJSE"/-64^JJ?"L.NF!8;#EGE:^U1*Y"7KTV"%BU9P'2&JVKCQV$/3; M\5BN\'97(DVL* Y)D/B"X8CR7!VXN0ZQL1P+E@0\YBPB23[W=<@<\;A^E'T@ MA&X5G'/W=N:[V)@X[.<([C>YII@B8.B.KW^ZZXG!4*1[ I:9M3K4\%5P(91O M>%V\4U9=\/?U6,^F#J]FWWV@.=*7>QE A*N5 6]0;&<)I9NX)MV9$Y\V]!0'Q*OT6]K1M8OY:_?;N5[$1!5TK(W7%'U:; ME:ZWU#W>VD8A2QH%4>I[$DL61YAD&<.9)Y7YH$$DO8"',O&AN?DFA"=/HVO9 M6*"[AI%ZIZ<'K%@VFC%$UM"2.$<+:$DZF'[MP73(@_NF,C"AG27P&Q&=.8)1^3:K.D:@_KX6;37?U8.N'?CO)L$[#W(9\8 HUX/&F%!" M<9IZ,>8!2^,P]$D0")@5,2$[N0WI,]'8CQYU8+:$"8R&61..H0%F3_2H+]". M?F,W3."!)U$ Y'653&%" 9EP*!2$\>A]Y3 M1JPC#:BC@>$X;"RF10=F,CHVT)X/W3RIA]:.%9OR(QAL@,JDR>"S*UIR"B.L MLLD*B<&B)]B*\]5#64EZ4"IEM\(%C6^:.-7^]G#ILRP07D0P26F"B>#*+\M( MHGOB"Y\RD<4^*(/M))79$S*LINN\+&-?$"HS'_N,^YBP),24*:T, M=!-?25(_#BEL-,41A8F5L9W*T!)%-56DR$*'41SC,JR(3J2%*2%84(NY$V>$ MN6#@Q/&*,T^:."/0ZQ$3YSX(SVJY$5L]/- T7:7]^,1:6$L"^^:/,@](YCMBURM/HUI@M >.(Z7YFQ?&OK*:AC!_"F[98@B^SD(9^ MG*0X\M,<$]\7.,]DAKDD81:G<1A[1I/(P90G5I&.#.*71];@J!J !>><;0*7\VBLB<4"%H;WW;9X MW!:T$FKMVMUO[T7*99(E0<)3@I. "]V7+,4I"WWEFX=YJ%QR&;((D#HQ3&V> M5(D=^?J+WIPI/X!N.4[>;3>\?%^HOSP7_(^BC62;#M9U0FWJLU.QVA;H#T'5%U9]=?>Y MFKH\NZVC;!K5HU_K[DA;5Y0[\GJGE;ZT36JMN@W(2IT]?BXUA-(UP+] M791U:T(M7=VXONR2I?1$+=W)0J\!&.#KYB6.'_WF?W_ D^,/\NHOU#VC[5: MP_.SG#"/8RGC#"=Q'.(TD"$621C&//1I%!N%M%PQ-/5AOT=;VP+:4D=Y0Q[@ MF+E W\!SG1E3F)T]70K[I1X!UQ4OM!PNT#'V'9?HES?!'N ^S_P.[!SM>=X% MS#-W"-R@#^^"SGS>OD-4#LX%+M>%GR"NGZJR4F<\77YR=U=]*.J!#%FA MX.P"4U_K[^FBJ[;ACT"*_'8CMD^U/O4J4A]T(H6Y2WX>E7$OVPD@,(/N$@N0 M:SLJJY6W>G[5V1S04<'Z/N7XA^URJKZB-E=1N*]KP7TCB6 M4@8XX;G$A.893K/4QU2JWP0TRP21D-R<06H3*_..-F(U<21;ZK DG6' AE77 M.0PP%=XCT-!%'6&'AU&0B([2>(9IS9K.8R3V<5J/V4/P??>VX%=%\?ZI:!Q9 MP\WV\*FI3UW[D:6H(VF^A1X).+YOVLL&T[3;@C8;)40\T*YX6A*KK?!HJ=GV MO],B]#>],Y]PUK#LIMA^W!8/]--&ZC_TCS[08J/>7'E=Z EA.R]8?%LI>7J# MK]_K('O=O6*99#P3NBC1YUZ.24P23..48^[%G/(D2H0T2G^8FM&)5?F+T&WM MFQE_:SWC[^)&9&Y>C]F6_". [B+"TG'TOTK4,=N.7$2E9A+UN-0SH'3/[)K1 M29N-.85RNO9B;MA\ZX9B3L$V:"'FEIYE_3B[%_QI+:[E\;2H'E>_O+2_;'K% M9%D>\H!$."-QB(GO<4Q#C^$H#&3,,C\B TE&])"Z6$89)MP/,$V5[TE3$@DB$ZZ@ M ]DP0\)3!U[WXV,1Y7I(4K5%U;U CPU#0-MDBJ:A09H (Z 5:CE +0NHY6'1 M&TBK4T6;_ .'9@]';98]K^W=MJS:Q#)>IPFD@@O,4L)P$DD/IS%-,24B"9,X#X#CH2;F M=V+#U1]BSQ39R[MQ.WU9UF?AMWH%+H[$>][[K;A[W"_ZAV+\5:QU.C/2+"^Z MA%0'^?8SHSO=*=DIMV]]6)X">H,S\R1D[3:(KL;_]U5U_^ZIK+8/HMBUHW_7 M%J'G NZ_LA$CNR948D9S5($!".K0KH6=NFKLI$Z3-M M9\':(VYY]7U5+L- F0$%,O:2D& B Q]3ZNMH MHYT/T5%'?VKZT'#8('*&YTQ7> /EX9R6_1C-9#'61O6(5HS=U\U$/MUTU63 MAVQ'S#VKE;;%R^_;XA\Z%7W+%($OHM*#[$I1/(MR24@HA10!C@(]2#+R YS) M/,%1EJ4)XS%C:0)KD6A %?*=MNJ0J$GCU08_-L2A,^+&83-3;,=0P-1[1WR! M-'E=W=(RL$#Z"K<>,-DPX7+XF['$S@:^C5.<>HXIR)FGA]T)-JP=EXF%4P):SK(4"Q07M!I M":SR@HZ6FBTOZ+0(_;R@,Y^P;8#U<;46Q3NUX=XI'5O*.$M(PD/LBU@==5FD MTUV]2&$C>.2E?IID1F[MF?6G5I6F)U1-$G4TH9VO#@$95AL'8L)T!R:A1%[_KF?KL17Y[JA.@H2O(\EKE.&5>. MI,@ESM,HP4QF'HE8S+W *(/\U.(3JU)-#M7T4$/07(]>X3"N1)=(!],@@& @ M]3DG@97NO%IL-L4Y)T9?:\Y^QL+_VH5ZB1<\[\.]X#&'HPM-K"][^D@Q\-/S MSVC/ \!G&X7#P(USB030LQL 88))A,:2VGF HZO/YQ2:"GK@)QH_9!=)^?#P MN-Z^"/%-G<&4(UJ/+OR%EH+WB^&^;-7Q3;>%:MI*U$,.^[_75SE?MM4?HMI? M!>U7:AZJ>[GSLY9HW:O?GK.HX%OCU#EH.9=IOOM>RSTF;;:([*/0NM M&I=[IR^ADN2AVN%2FL>8$*K.D6J;PU$0TH1Z) Y#!IS9=!E'DV];?;/6YP\X MR>E"W,UVE1FQ=+HW./;('[L5% "Y?F9GY^W%>!,Q@GBX!Z.7]U_SNNMJIDW_WTNJ_ M['F<-.%_ BBGR_=WR>Q;I_M/ +Q!MO\45&W;?36S_>IMIMYV=OZO+B=@[=_] M91"25":,X"P)I/)"LPCG<1Y@+V:,24\P/PIAG;_,"$^>2=304FYGCY\Z! QM M V8(I)FYG0(>F.$\X*#U,H\+H5CW3Y=]PF"".VL99DAVYNYA,#!>-Q(#/F]G M1%K#E9=U_<$RB23S!54&(A,$DR .<9Z0#',OB6A*LE Y@K#0W"&!R2-M5Q:S M.H\P,--R>[F E] U'?1G1\EA:.NT"(ZT\FCQ677OM&#'&G;F4W9Z]'F[N;L5 MQ<-[D5>]@:^_A+%);;T9X$F2I3_PH@6R]I\E,GCRUN"%;#82D=J>,9 M(K.JY;"@Q^HY\FG+ MF#KIQU 9<($QX*I9-QGJDM+\P)SL,HP=(C$4\RYGF! M42;]>1)3ARJ.&\!:U+B=P,5,12^3%J:>0$'A9:QG97%5M/J:P+PEJF<%?%60 M>OZ3\*S(OVUXL7ZY^Z9;U.M>N/^HZES_=_>;NQMFW#A^>)6)=4P1%XJZW@HZ M!M1>4/Q#5$W!AYZYL+D#I$:.8#*L?&[A@"FA(1(+?9/!G,3>S*6U2HP<67JV MK$@S$?LID89/N&Q;5C=$VV<4Y)E,4NZGF&:IATGDQ;J5!,4^DSSB/@ER#G)O M38A.K.G]KH#[!DZZL>KJ67_7Z_F&O?D)O]"U9A5XY#1"U_!RTS%FP$O-,^W+ MVCZ):)*<#(C(D_8M.R+Y _0L.PV"6;^R,\]:)HDIM_W31L>P=/I%[5$2&LDT MIP0'+/,Q8>IO.>4>IB3P0QY$GJ0@:_&:Q,2V01-$>XI6GO8)7,ST_#)I85H- M%!2>5'56%E=Y4J\)S)OZ=%; 5]E,YS]Y699 K\/49_6#3Y5X*)VK^#G"6A\$5N5C9N0FQB93QU.XS^U-1131ZHEX.PF6FH*S!@ MNFJ/@_7M]Y" CN^N3Y)ZDYOG(:'/W1L//F.GWK_2U:;4G=A%>;WY\%UW+E8D M[K7QN);:F"Q%%E"/^R&.1!!B(B.!J9\1S,*$Q+Y/DSB #)'!Z'$LSQ7<#C97V:]+=4 B%RH=7J+P?0@5L 8PE=60&QNG- M:@N,Q3\V".8/NHAKO]\^*'K++$V3R!<2!R)0I_,TXCB-988C)F(OE3'/98%B= A2,XP2:(8YTH5<>3E(8UE'%.1PO(KSA.; M/->B3FIN2?_/_Y$&?O)O=:8L= SC %Z&(3 G&,!4M:&S0%=55:SRIZJ.=E5; M=$.+YL3L/E]C7$R7&?NG"P;/ -F4W1=HE\+NJG: I:_-^78R@U]MU5F1/WU#T$-V^O8H3M^.38I ML# [X1!3AZ-=+P+)ZIH-3FVVFS=K(/J7T'ND57D&(:JO](3RK_/XG2W&P.VB"5B:U0VQ2NI;CH_H+JD-;UQO"2 M?1BG81/B3'J@2V$KN$5CO '!+FB/=VK5F9OD#0CVNE7>T(?M?/];/>?GJ7BI M'9':TG=%(3I;^S=1W6_YD@I&N/0%CEGL8^+%%%,_5@:3A3R2L?"H#^JV;D)T MZFOSXP+@!7K6C,!. D;HF9T)7&,"4^6..JK)+YH]?]$O5=--:AHNW!T0(#([ M.BH8D9SUT !X?CX 'K6LN""L:>'I[J6HV[+HCL8J%.TV)2K9_&IGKGGR@FA%TP$D7S6XX E9R M&(-K9D0F@0QF2:ZNWWTZ&V1P=AZP%MA5M8@QW7D+2:!PO*HQ 2]@9U6N'T5! M]3GSLQXSN!L=TZ]$H1E+U?_AA(82$S_5UH2D./6],.61Y\<>Z.9_E.+$5D01 MPBTEM.UX06O-C/T4J'$8S>R&4W!@]F)'&M6T#P8_[>F[LQC&HCJR%./T9K40 MQN(?6P;S!YTU"[G:\+KFK9>5 RTPQ:=-^=ET6\'T3"RZ$^&1+FH_A)B@^JC MGS(-Z$FGLNLE'K8ZT+:I%">+.O[V']N5,BM_5V]!M_K]V,V%GB2J;X?I="TB MAHB_=7"M^$U6U%NK '\C8CWR" M_8CH#@Q;I4- V:[ M[1A:P[;((08PHZ-HMI4N)5)447M9_\VEZ'S+ZCS0^GLZ!P0'!*>&PM@V&@K8 M&$']X=JR^7Z0U=9M[/%9S)BA#)V],OVXC6&J]?9:OB_H7WS[UZ9<2A('81IZ M.,^C!).IP39MAHO'IJ1EMQCN-#$W'V4Q:6X8HQW1*]_"J8 M6#W7C:S6Z^U?NB9(.;V- =+1N-^+526V4EY)I:^Z ]:S*%Z6),^34$8,BT Y M-$1&'DXC&N) IB+,?4F8@"0:7\Z1T??UX@SD]X(_-9.]D7Z#B'8,+M"F&;I8 M-/P8AQ\4ZSI#<%IU[H9E;H(X]=5+3#**.P]F@ M!EC4V2"WL[Z30P\SV4[0&C3OEU&8;RMP@L3!MN%F1_B&KIDXQY/.$XT]GE) LBW9U!3VG, M0T'BG.:<+"L]1L3LHNT]+ZR[F]T3-.:^Q3TOYHD;VX$/V^9J?A5W*QUAWE1?Z(-8,C^3/&:! M;@9(,?&$ARE3!LX+LE"F$:.&;0'/$9AX?VP3%?T9V4L5] .G'%?U#4N,!TT@62"2:P0H:U\ M5R,"LSFR$''[7BWH.9OH9,'NU6E4]\"FZX\%?5AM[KZ).QWG:+/X$D_$.4]S MG'DZJ2E).::2$QR'4< 93;D?I\;W&*/D)M;_ _JH90!]>REUUPA(=&L4-I-@ MH4LP@#[Q:1P:XN,YCS: 0$)Z+H&Q#-M=!A P*&\47 *21I M\Q21B:U:D^&]:@DCT5"&'>A/8F-VGK]48ICIZJBAEMRB27!W=V(?$L?1@?TD MB5G/ZT-"'A_7!S]KJXFLJ">*UH-V'[:;9GA;/P?_=OMJP&1O$FFY9(+D<9C[ M..)9CDF8^CC5!5[J1\RG>>1G&5!O+V5I8BW_7:SN[NOJY6=1T#N!A)3*5NK8 M^=$(=G2G3WYEG69)F\E(RBB(@JW*NBBZK%W^;3.HV'Z*I(.7:&I@YGPU4'.T MXZU+U50\GZU?JIT\G:UL MV4OGY%#T'H%?7EZ3U[:7\:IYT]ST+6*2]/Z[X?SYI5W<9!S*4H1!81#)2 M!X HQSEA.0XX"UF6)F'.C"[X #2GCDZV9-"V-A"B.^ :W\Y#X#,(4+H'!69] M&SO99Z"M6$<_M3S\K#NX-&RX1P@0L72/E%W8T@UBL.@E3/;!$*;A4O/%,6&R M'00S@8_:N>X?OE=BPY6E+K8Z8?IWJ@UY]7+%6/%$UZW]+I>4A7D2R1C',O Q MD8G$N60$Q\+G)%+_'S._RR(W<[W-"!M]X0^3Q6$6\]V:KAY*]$A7AOH/!,[, MSW4(AET:14L?M0R@C@/4LK! [P4KZKI]G>C4<>3.QX0AX,A#-"0ZJW\' ^+8 M.P,^#<^4>M_N*O_?$RTJ/6/LJWC<%M4R#(*J_2IBP6)1B+XHI M%33F?LQ,5.[DZA,KVU?QO"IU&&0K=>:0WE+J4Q^P=_QI8(;5[6)Q88IF+ZFQ MP@U*-+15J@=[VZ3ZUU[A3J\YBZH-BM,IV?"'X&F*S4!,?B-$\6NQ?7K\N %G M)PXL,;$VM921)HUJV@OT<;NM-EM(+'K7?*G-X"F7?AA&7AX0["MO4YU"/8*S2&U[/$C\ M-/35MA>!6K*>I33;??)T<% MJ4/_3+ MR_X#=5LORJI;1?.7EW\7_$XQ]%Z4J[NF%U0]\W3I23\0/ QPXI%,]TY/<)8% M&9:I3*.,*YL@0=H_':L3FX]]X6>)>JPONC''J.8>=>PO]/WB_G.H$P%I&=H1 MP,!931.^93.[]6.\.YCAF_6U@0WF](@ZLK@3,CJKR9X>\&.;/P-%B\M:/5A/ M#U#9T';2LD?#- ]#@B7Q&29Q)G%.PP3'(4NY2-*8A-+X6O9X]:F#B'HF>BCJ7?;M'-A^N#/"^;0,PY&,:#, X0 M@)D$4^$G",:,R&K7KN3,FO.U*QD6ZJ!=R[:H\6@9.MPRJ4X2?2H[4 M^;])%?Y!,X7'ORAF)\8?AM_IC/';Y1HOD-FW[I\O)]GX=?Z3)2V/R_7_9%:S M\>M\J[1G95TS#WE(\D&G>0[86!F>+; M@G)]L='[@BR45>6KYQ5_HFLT+"?(#SXMDI7[>[34;%[O:1'ZSNZ93\!U8'=? M>:L;WO6&HW^M-EE,6#& M=;N5A0/ MG_74F&O9]%U<\I3$J?0D9J%.B(M3CC,_HEA($>6YI-RG%-#JW)BPT3?[XH[F M.S:0\N@+\;Q=/^L=AC4])R5E5L/4QE$U.UZY L? M-0RX.WL8R^KH3#!.;U9?W5C\8Q_:_$'XOM[/!51_UO<+AGOYB4U>?E_V.^:9^2>GRCOE!@J'8.R3IVBP3:EP?DLMJ+3ZTWV_X[($Q_ MSQWZ&%R+OFS5,73[16S;EFN&&G3TV-39<]L-UC<-7SY10CI*;U9\T%?[8G31^;N:;4+NX M;IU'M;_KIU%(\BPG.&:9LC$D2W F?8:3.."![WL\A"6[OJDT$QNP;^Q>\*=U MW9FN;D9]\@ZLZ8Q4LZI;X&WXI7=6/^"W9N*KT+F_"[-??UY\P=GFY2*GV2X_ MU'M[ZWM.)[+\<]QMNGQMSNXSG3)EN3.W]OY:ZM-O\:3;/>M=?\._BK6.KK[; MEE6YMXI!FGHTX!%.$Q+K$9@QIJ'T<92F6<#]),\RHX1B2_HS[GX'_ W+B"H MAEO-=%#!PU [\O7NWS* :@ZFM=MV(+BRM$#J\]I&.VA>63/+9>SLSTVQ94+P M\J,2IVNI\G%;U(D='U<;NF&:-JM6S_6%S%)RXGMQ&F%",WTOY:4X#V,/RR#S M&:72BV&9C$#Z$]N?FJS% #@HBF8&9T)L@)?2+2/-^.&?.D=3;HN?VY2Z'3NH MYRV9/--0F&SUQ M0AC'DR?Z%-YD\,0)$<_-G3CU42<#8'3MTS+S^]$4<&?ER\%$[U?OEJ=2Y(N6[[4/>IA#HT>=WF]5_"_Z)J_UW M)5?US/2R%%5YQ?[K:54(KLX G]6/V^2HJV:82?\G>5G7-R\S[N52$()3&:>8 MY'Z@_B9]W>">HF$^RESOR]Y1Q\T+:ME;]'[T9\>@P_#%3% Z,I)3 MN[6I_Z-;N"@=O5'O6C/3=DOU,W5BB46,0^H+3'P2XY1*@@/)1! G*1-FG9NG M9')BI:T)MWV50/UG)WTQCB[S)X8;9ED@2+N_'[\ BKFNO6U8_+%NLR\ &7Q) M?0FMRTZAM<]3KC0_-\7VX[9XH!]HL5&[9GDCBIJI>ERCX$O"DC!,P@1[Q%,& M-H@2G!,:XRR.?9:*5,01MSE8FK,PL?ELJ5S<4L("6]AAY M65+_>?SCCD^=C]1D,"U0RZO[DQX<)\>'-P #;W(>@P-T[HAEL9)%C[W>A%!= M=/7M^N-791C?77_]>K7OX-161@0B#:6>L>GY:8"),E X]P(?9Q'W620"DA/S M]GL PI/'N/=C=NOR0,U+G0A2K7(98H#^ M@!,A9]5!HT*;Y^$1J@__5;U<_57P4JU9 MPLKH3CPZL5%LVSVUN?%[% R+R,_).Q[(NE!4F$4[*Z7CA((+F(0T$ M@0TA/$O+(N,%IGFV67/GT3$["ETF\65#6#7-5]-$W9U>1D5S=$@Y3V?6L\BH MN,='CO$'+-HI; M>[]_]U04:J5EHOXO)8G /(S5WBM#/6S0]['(0TFD3X(PS(VC G-R/K$MV<\P M6M?3<==[!@"GXEE?I4$@XD=]02Y"K;U4FKXDJ!$%=;+4Y_4>M_MLF_TKKR7J M?VB!6J%^U'"B7DGH98T&@SNA9HF?Y>#B+680E M(RD-@RP, U!N_!C!R6\Z^^2;BMN: ?2G9@'5/ !S1T8Q-#O8NT0&MLU>" KX MG&\JJ:/C_BBY64_]IL(?'_Z-GX/' 'J-=[2=>A;%BT[7 '13/K_"Q/I\V"8$ MV#%Y0.[QD[\;D8&!N#U-U!%%$ A )_YQ":T._0/+SG;N'Q>M?_0W^/2%8_/: MA,&49"P/A<3"IQ$F(=,=+Z2'N=J$$R92EG)J-3AOEB3,H^ERH#S,*+>G"F4(SR?G:KG)'%1+[B?0M)+,U;N M>1JDJ<""!3XF>5WM$V%0@H[:%[52%@N8S-B MH3F\7,L/1:%)O%^5;+TMGPKC8)7I,M.IP>[-0_>< M.0YE07&P'%]@0&#&>0;FXAX.. \9[?#=B/N?U]5]^^>RDJI2[$KJ6\#9?L( M_%)D?IH%>8JS6'G-))($TR!+<<*H+V@HU08,*IB$D9]X?^U"M\7^9JQH&R56 M6\1:5OO7W$V#L\=BM2W0BZ %%IOS)2DN\#?;>*=#%69P.C[07XH1U''2Z]FP MV(7+]^RXVX#M8'"T_P*)S[K]V@%SO/M:KF+;?(H5^AKOO6C^_+3Y\/"XWKX( MT7:Y[-WO+4GBBR#/"$Z2*%)6RM?'>A)BGP29Y#[UDR"%=:4R)SZQC;IBK'A2 M!HGU]VI]19^W66W0_E4 6,V,SU1@P4Q/QP7ZJ>/C9]W1O&-EUP&WQXS+=EAP M")SUR0*0GKF!%AR4UYVU+-: &9RRJ)K:ZZ_B47VW[A65FV)[5]"'>L(8\7,> MITF<PH!RB)8ZP\'XY%%@R4?67P6=383L%->JE=2).B D)?4SC,,()C9@7 MRDCP!#1>QHZ-J56\UQE_QX[NP-S-=-(<00>F6@)NYC=,#R/,5'3\H#U#B_-0 M3MI$_S)H''D6EDS,ZF-Z_KBF M=Z;I1 -+3&QQ?OMR\ZD?-:PY:-2D?U8!S)4:@V0\WNH(#9CA@ "!_M2\.(JJ M&DAK%4P=6G>V&*J!B/G'H2]#?:-7^ MZTHJ);K>B-O[8OMT=_]Q]2S^$+0HKQZV1:4C(GHNQS+T2)#P.,=AR@@F:9YA M*H@>EY%G@?9\ED4^=;8'7')'T1+^ER:W]XK':":$[3=B#J&BJJ&(23U M_9S^"=1+[M?U.+A%^S*U4$C)B5I!D9;4H4,T!=RN_"2GO,WK/DT! MZRNO:A(B<&>K:8GQ3FW2XG;;;1? [KI#:TSL;L&:[0X*.^Y'N9(3> )KFI;4 M9'7P5N_E^B;NR,$J)^K/:R*TE3\UN/!L#I6)>'V/RNCSED/%]C.$#F:8+1/F M)3(6'@ZYGEZ8!PFF/F4XEC2.8^%3F0<68W[.T3/Z*E\\ZZ>C#AP9=@XC,P?E M(I'MVBVT%.N3C]EP1OBHKQ&I7,WT.D=FWN%=(\*^FM(U]GD[93U82^_!]:3! M4A3/H@[\>U%*DT *G&6A+GOT!$5T?H39X3TI^=V31O M!ER2F()FIL0.H8#I,AP%L"H;RN9(H\>HS:K8AJ(?Z[?I8Q:N\=U=U6:M0E6!AZV M8YB GC85;\W+K4<(3:U9>A31S5Y0$7B M&%##6N]:?*#&OY8/8T%MK-,YB0%6R8'D=M8(\*IAMF=$ MHD&;<^[9^6S-"/<'-F;LLY?Z2-_4D6O%Q-&6%U'NY1[WE9N4,$Q\R7$6!A'F M//)B+Q"HI=1S8>@BG$8/Z2Q?C<(G+U!%WYC6=QL36<;H8&Q>^ MTPZC<@;W:5!BCQI^S#+M9=\L^79[Q7D]MH>N;^B*?]J\ MHX^K2M'5F;[Y\Z:L),DI MQY1'"::4\4CZ:4X):%38U Q/;'!KUG#-VT&Q#S 79NJW9A:X_I'>!=#HWWQZ MMVB&CN%ZTAYJKU6.!\2VY49-FE]9H1Z+#O->9L+152K,U.S.FQTS$_BO$F;F MHFO3AYUN_G$M?].5H(*N6Y]%1"3A09SA).)"67*98>HS@G.91WG&XS3FY@?L M4Q0F-KV:I*Z;Z(A"&EJ?PL/ K[U42IA1.Q;0QG<]*2FDQ?:%$ENVPC9]M<#^ MU /"#/>1/O7@C/V>!_@^[,L\],$+9AV=Z-;RMXTFH1/\_GV[UHTC?Z6KC2ZS MN-[L4P6O"F77-G?OZ[O/QJS=TN_+,!1AD!.!8\%#3*3OXY2P&&=Y%@=YI([D M 2CW8 (>)[9=>\[0G>()_;167/V,MAOT0(M_B":05/8R@"OZ'8EF%DZ)?FJK MR('#:Z=XE6:.Y1N_()C9O7[W:8&,4K![;['E'_U:OTTMPL\+E OU6=$;8+- MBG/'XZ2F@=7E("K'',X_PFH:B$\.OYJ(E'7E[M/#4UVQ?XXYS<<745U+;0Q8 MX$OJI0S'0>;K*YL IV&FF_O%W$\DIV$0 4MV(?2GCJWNN4';>F <.^A1ITTX MN% 7A*_A*7XZU("'\AY@S82]DTW].FNI&-(^GU,+:8F%NUI<$/6YBW!MH#E1 M?6NUC)U%NBWHII1*=Z\VO#DM*W-W+3^N-G3#5G2];VY:ZO3'\O2OVE:Y810S M&L@4AS1+,"FI#ZI*YB6W9CG"O)6]IV8K8Z3LQ,W%O MA33,_EF"##9R4Z#AR (Z96U6\S@%J,>V M3''*$F54$THQ]4(/!Y3D5- @9(E1W9YKQGZT _VF\7;^)5N@?_G)#Y7_\R]^ MLJ@K=O_%C_6O>D?^_8E_@103CX)5"HCUBYOS/_@=7W;HG_+-3772/SC6-[73 M>T;KES;+P=X6NHE/\V"V?H@CO"V8IN=VZ_4MF_ W602M'T6]B =,AIBRD&(B M2*P,LL<^#8RROT^N/O6=>I>&8N6.'N)@9JJLI8/9FY;,%#[@20E< M]:@_6'O>#O2GQ'K57_[DA]YX7/7A1Y1%6#_5L;OMEO^U6J^7GD>H"#...]O-)C:X?O_H>927_ ]>+NIU(8O8[:A MU&/\_'/.I#9$>;*1U*;TK7ODJ]/!;BC.9_WM5=S6#09R%C"NNU6G$=63L7(/ M9[[40S)]&61>2GP1 UOBGZ,UL1/?7N[L9SIUM*T:,PQA9N;B.T("Z/#W)UJU MB'24%^@7NJY[U+KNT6 @JKLV]F'DG#HKYJD33R<3LU_:S\A6O9 M](?^2%D[#T?'$-1>_\NV*+9_Z8XM]%']KGI9!J%'TR!6.AOHK9G$ ::""YP% M?IP'F2Y69A#MA9&?.K>EGJJN=RG:12QU=LO#JC*O6K;$U4SEIT,+9@DT'_5X MRJ:G?,>*/@^US* =-ZACQYV-L(/!D>D $I_5HM@!Q:]UTLRDW5_P_ MRV_/[%W9%9("VC6=>GYJ,[%K0'2C;SJ4,]^K>NGJ2.O"*EAGII-0#!L&5RC MU-\< (<.@HFHUHV63BXZ:W.E(;&.&RH-?M9-Q/]+'3AX*NIV;>F4%0\3:[KB !<= M"VBU)Z[<@O+2T+P)Q'91=L? N0B8:R1W/*&6*5V*NH?TW3R07A; =@RMRUCT MQ1!?'% &@ .-#9LL_:9A7H#L8Q%;R%*V;7';@:>M4]<[6E[GZ]5=3>C#=YUA M)?CMZJ%.R/NF?EI*RO3OCH9FD8P*7ZI3(:-)@HGOYYC&1/V'42$]YHO, ^40 M.^9OZDR-WOBR?HQDSVJ).F9U2_AF]FI\PW?!FSK:1GM'T-/ MOX_%_GTT_.I7U^=XT@EI$^'IK-NP6^YF[DX\";2ONQE/0\;.FG^DJZ)NCO"; MH'K&1--(O?OAOZ]$H9:\?VESP;PPRB4)"-,H?JY>NYZY+Q- ](AH/8CS#A^NY>&16KY M +[G(>O0D4#L;/GQ!QLGGS M?5IO/&#^A-CC$^5//62KU1)$@4T#['T,J;3_2%+WFWIGEZ2T]LZ%Y+=1KNW+B,S S M4A;5\C=U%GIX>F@OKA))/(]F GNY()CX(L19R#/LY['Z7Q:E"3>R(:]6GMB MM+3,=.6UV,.*.U^O-HAEGQ>C4XOP' MWKB:YOI1Z!CPYNZSWOU[O_^B)'XJ"K78,@I2[LN0XS@/)2:9;F68A3J!-HU] M$GIYQ,@EEW)3,C_];5Y+"&T[9M"Z=G37>W;>J.["Y-W:W0;^*&_,Q37BQ?46 M.YE0+53_0_4-6BO7#_PE>*,"',=?AA^J".?2+\7;5>( WLILU3@F//US5N0 MT)ZL*@?"P\7][MZ+QT*P5*SVE(^5>*A7,HDY"$-,BRB2-G9A$A,F1?A+ ])2HB,XA VC,20 M\/1VM&9#NV"5]L1J/FH-;1N *8=MSQ;Z4S.&:LZ =[S&2!L;2^?X@8VA>^AL MC!X(!W=&S8SLW$8+!,8)HP1['EZ.\6[[3:SKE)7V%OD+?3#J4G?VX8DMA&XW M13.N(J*B1HH5/D@-D3YMB9[.#_N!-VT6G?1;!V#C:J,WISKI3@^$XWJKA"UC<*^DR@&NIF['L^^:*\MMV MS9M:/,&7E)(D(NH@X >AAPFA%&>13'#,$C^3N10LB+I4K%O#&Z%QLA896;<6 MAX.66EV(I;.W2[H&W=T8X&=PW>((#DM_H)&\IE[[]OLQKXJ!!>I8<(L*X/[! M+3IV5P:7HP2+[IO+/!B0-UAFOABZN4P'86_ 8W8.EFY:_'Y5LO56>VS[LA;M M2XE,)V[IG"V2A@&F:)F9OD0$Z8$:O[3N\IHC\GJ;@9$RXBHQ[[*V,S\I0$51 M"/ZM4HLUPW>C//9EYA'LQ7&""65,*:6>H"P"*<.O]?_4\]$@+]*SY^#=$GZK[;5%?22N2"T_]MNX25?X;^F^A M7/M563ZU-]+;IZJLU%_4&0G8/>H$R&9:?B%T, W?$4,UM453<;) GVH('#:. M.B^4JZ91)RC,VS#JO(BOFD4-?!0>&;PM^%51]-JVW]W5/=VO'BK3^.# $E/? M(^RZE>SZT)O'!H14*YOD. T21*MK<1=X2&:FFS^UH[Z8J^L(,F9;X^7RPI1U)VI+<('>N4HV,Q/)\:7; M$9$WN6([+>BY"[4SG[8-9YA.PU* M.\?Z$\"))Q= ;V8;9@(49D#:1JP-6SOGNOXIKOG1EJ5NOGS@#^PX0>[7 [9JS$P#I:\P/9=/>X3IKZN[NZK\MO5UV_F;1V-%YO81-7T M49\!U'" ?E(\E,"9\^/0 "R0*U2 =F8$D E:01M+Z])L#-*;WSB8B'_2!!@] M>%E>@XMT]MY/EH$?!UE,$AP$+,,DUI.(LSS "1=I2A@)X\AH&-3$?((LCVWI M=H^>7>*$ZY=C9J!^ ,AA9FVTHJCCXF5?+K3[D?L4C(EPR\/;#&U,&A]1KM:*,]<4"O[2$ MQH.ZKF0'!HK.B.VZP[:!<'9=MH<6GJ_3MH%X!]VV33Y_P:SQ735?DQ2VC#,E M4$0X]H,HQ22D 4YIG.-4QI&?QE$0!CEX;O@1D8GULR:)5C4IB\GYS?6T^N_BE(4S^JLG,HLCUD8X"A/ZE0GBE.6 M)YA[:40$(Y+$%)9_:$ 5\BVTRD7L2*,[3=NRE]P :F8[O6,D8!:HUWENAT9- MO^Y$I^^N.AXFZ$HW+K#K9G4#%-^FA]TX!&=;VQD\:F<0U,'^8;OIY>#YGI>( M+%?> V&^+./072#VFFZ6K4];Z?%3-#'XS,W() MJ#";T>(Y;?+C.7$<6817R\^J_N>$.];ULY^S'9)25L43JYI;5/5.VQ[O,DH$ MS4F$1:JO*3RIFUL''F99%-,P8UE&0?I]AL[$:GY M>Y^8MD@_QQ,9GKH0'B8 M.MK(;3'A8U J9Y,Z3E.9>>+&H*BO)V<,?]Q^#VZ&M.I*HW?;C0X3B U;B?)4 M+4P<4YI&(L L)FI?3E..,Y(2G'HB9D+ZE)$8YI_#&)C<5>^Q4V^U.X8J^XM% M(,;FV_ TN,$WZ9. :4ZFKT^R@\'AY@X@/OO6#P?FE&-@L8J=+?I=Z&P+P:^4 MYM([\>5)!QVNY?O5^DG]M$G7N]Y[Q",\--JT_X8F&(%A5W&NK-&'F,F]8@# M+TAQ&GDIIB3(\R@/_90:#2^= 70+[ZXENVN^@1Y%T>"*_N?_2 /?_S?TU_%; M8>W!KWDIV@H^;BM]/TW71[][DQ=FMJ%,^!I@.\KN2]]R@AI6ZD%S#8H]-A:H M9=#=EF()A*,]!4I]UDW%$IKC7<5V&6=)=[VAH%]%W:ZPF7!+>9R),,]T'EV@ M=I0TQNI4&N&(2Q;EW/,B'S2]Q9STQ%;MD]T 9@L(S8S--,# [,SI!+8>&[CE MHQ[^VPR^W)0.+ZOA($R7C7:.\%LGF(T 8I S-K:"\W/SDGB2RX#ZF!$=O*9^ MKOQ2)K OXB#AQ*,Q-6H.:$!KAHAV_W#']J?AWMP'])-NK8ABH!LS!.'%9^ W M.O#.^;#>_JM7;?H;O15[AO8^G!Z"G51TO72\[,\%4)@ MSX\]G"2^K'M_XX"(*.)9YN6SU3<0:,W MNLA\MLY4G@,39_R094B'EO==$>%'Q6ZO"?4R27,1Y3S'L0Q#3 +ED:<1(SCV M*"-IPE/I@]K,#]":.J2C*"/:D@8&; 8 ,@S8N!$;&+#1$N]&&>HO(NK1=1BQ M&1?.5<1F@-*\$9MQD5]%; P>>?OF"LK4J*_02GVX7*9^S#VALY)#D6+ER*28 MRDA9@2SD7AC1R/.KMNBSTWY+UO=/$C85Z8ZC7&>Y2DE(0M9XE\X#4C3F=A%.Z7S MZ$]-&)A@?@XFF*V\0/C+;=V8W"Y&]O2EFFY 3TWEK9R& M(N.P,,4 K'YF1=% M/L-)$@A,PB#'><)\[.G^UGF<>&EJE)MJ3G)B%>\=8K>*!U2M]+#&;JCY M@%R\FJ%H<./B'!N8TO?(-[AH!A!�^H8<*J@8L10)".+JZ!LFSQ8@*8J[XO M$)&'&\$8K31C9QB(9(>M8D!/6G;(?GI\7*]$T-LPT?L]/^WVCQ#U'I M*&-O'E#GOWL\UQ&% +/ 5V>>,$IQ*D2">:A\I#2G)!.@F-\0L8GU?D^Z/W7* M]M SB)J9PKO" J;MUC" %=U$/D=:/DAJ5A4W$?I8OXV><3'Q\G7U:IRK'9SQ M&$M=X$URFF(:JYT^2+Q09($,B ]J[#I";V(5/S<)TT5=\!B29CKO$!^8VK\: M=_FZVG>JF9=3%_6.47O#69C&1;NFCUD$0'26ZC=15>MZQ)+^5[_-W-6&ZU"! M.EJ\Z(21?6?*9O3BD@C!O-N5343O)C\66":%GMP_/J'3]0@QB++/! M##-!-<)[ONJ4]N,&E4AQASKVFG2RFD%4<[@8&PCJ&FQ O&8VT.WB.#. #POV M.,%K, AT&87Y@D-.D#@(&KE9$7XE_;[]:M9!JU63SO*X+:IEIOS(A 4,)U&L MW$R9$TR)+E](:"@C*I(D34SOI<\1F7A_Z,BB/5W4$#:_H3Z+S[!1=R4US%Q; M" RZL!Z3R.K6^NRBLUU=CXG5O[\>_>S;Y^K6(PZ^*+&;.;3-$\N8"Y:%,L>) M[^F1:%&&\S#T, M]/_0CY@<<%!&>G..)C4,S>6.SW>"6:IO"^W;9NZ??F]DA M]8=Z&S"C!<[H;=Y\_;4;O(/Q3YO8.$[;;)*Z> MZ6JMZ7_<%M]H/_3X7N35;[3J I%2VA%$4=5PPR2>B":_@EP%W#W8LRL_9N #71%%2.]VPIU$NUXQG);8,WU FD^ MNC[V+=?ZS+JN373;]O_;:G.W%KM?H_?J-XOV!6IAD)(/M0(B+:&[?< YS([L MO3N^9K7KSN$\MM_N";A,SMCG*GS=KM>*Q;]HP=69(HVE[W.)U$>@C)4 ;3?*&ECTH+YE%,T[I;!2.8\CS$D@941D$6IZF12IZE M,-ZO#%6>_M#HIT*D; MJ],?A+N9-V)[Q:HGNEZ_W- 5U_H+\#%//SVQ#MU\N$8=5:3)UK9>;,KF, 7) M4!E 8-S;O%QXF$I=)C?(VQP6S^PHQ M(7RI)\,F.&-<8DZY[Y$X)I$'G@M]GMSD,?E]82]TEMP@2F;>IBO)8;IYII9Y MDOH=$PFG*V=^H\H=$Z$-"II=U>SH6XV_=/3GX[9XOWW**_FTOF),6^#RJV!B M]:PCUTO&B8Q%%N$T\Z2>E<%QGH8)3H0GDC AA&8$2BSC">4+1]KK^A; M18OJK0 ]9L$\ MXG;[V^9QI9W=6VT?P..<#)::6&,;#E#- EIMFEXGU1;]]N7F4^]@52Y0S1;P M5G$$I?&(CV. @'NZ(3;JU%D7ESL?^P20WOXR:\ES81]=4%I^)C=MJT' MG6R>A#8A>B"<+E'_?57=OWLJ*W78+78M$%B8)RS)(YP%C&&2>3G.N>=CFDL1 M"A*+7$:03=R0[L0&HN6BV<P&CH1$J:!IO(9J]VH#$,: MIQ[N:9OZUU[3SJ\[BY*-BM7IU_@'+?JR_"[6Z_(C+>ZVO]#-/[[\Z]6_MDU" M:18RCZ01)IY4_XF\2&U]488S*C/.$O5O/S!NN7*.RL0J5I-%-5VD"2^0)@WH MVW$6G6%ML\D$+04KP7S9^?-M>/HJ"ZS]%G_>^N]O1EJ8[L89S+''LYT0ZX MQW'NQQE.DB0(TTQR1D .N#'EB2W3CBI::[)HW=$%IXH8 FGFI4\"#\R(=2R@ MGSHF?M:!OCU@-2/H\RA@-BDE,.'=Y9<8TIT[V00&QXG,$^ "%O[+B0+W+Z+Z M?5O\0Y%Y1Q]7%5U?\?]\*BN]CRQ#ZJNC.Z,XSQ-]:%!G>1HSCGV9Y1YA-).1 M^?!B&.V)+8INHO570QJQAC:B.^* O1^(J($G-!U.,--RNBV'!J[E!;7,H*L9 M@ .X4M,!:.=@.042YG[903'HE &7G,]5LY/UP(&S7.*"IFOJT27+0Q'0G"K; M*O2,/D^'34.!O4PPEH@DSS@%-UI3"T]L0O>]QM0G+?JI:=&'S>$E L%LG9DL M=JW2>HQ?UAY-+S1_2[0>^R?;H/5_;UE)20N=PUC>B*)NHKN_7H^)3%*FCC*Q M8!XF,6I3Q(!2W(_2PORW;+*<.\H(^75-8V<@>649U$R.ZPX MD1RF53N1;SJ1)TIO'Y7-58'E63KS%EF.B?NJT'+T 7@24:_3==>9]-.&?Z$/ M1JVEAU>8VOE7),SS@ 8$'=8\=S+"U*Y'<]<9>($4V=7SBC\I-W-0?E!^S[AX M5FD] \O.ELTS+EH_B6?=JT7N@RSRB)HBS$<1903+@? MX$QPJ0[I-$E#&<=>P$!E(J?I3*R)>ZKH49'%JTUW&@=FXI]!R6QK=" [3$-[ M8M=%F4KL=R-BP_/JAX5RE4A_ALJ\F?/#HKY*E1_YN)VBOA?%ZED=&9]%EWBC M7>.VZX67D"3U0Q]+YM^9<\ MRV@*3-E M=2(_3%]WHO=H.MPPC25SI++GZZJ 8]Z.UJ4U#7V8S)3W M#%-Q M<^*3ZWN7\5U?N_!5I;OP %N*F2-I9@4/43P1.HBPD:4Z2E'L0;W^8W,0N?V\P+JU0>3^B!S9X MF1D,=RC C$2/KD:@IKSK;N;^ & FIB-;,$)L5OTW$_Q8YPV?@@>J/RHYMAMA MF6Q\^NFIKU]!B<9G!!R/45\N&TP!6WI3)Q:Q#, 5N9YK?Y)_5YG !VO/F_][ M2JQ76;\G/P1OK_55O2G1M-0*:>SQ.,!I[&>89%(JKS+S,/<%(5X69R(U2NH] M6'7B'4EW1%J5U8HI[?E-'>[5N;-.PH!VU=JC,*PYUK+!-,92+% SK5=B7-! M:[_6;$VS7K'?;Y3U^I=P_^S=_>;NT^:C'J!]+74]#-_WS;/9:4.>M7+ MU5\%+W\M-A7_M+DIBC\*8+:!-8&)=4J/#L=ZE\;U./IW]QI,?2#93[?7G=/; M(9-M3^9?E9NL)]RKC]T4JVTSRKY$M_?J1*,+)?M%7#K@H:04I7K W)VT?Q_C M'N1&B.+78OOT^*DLG]1W^.,&/-1J8(F)-4A31C5IU-)> MH(_;;;79#CB*( C&=6CPAW.+A__.%P- M.UW>T/5+N2K!.GCN^8D5\)PY;]DPU\&S\H\KH O18=HW(O4$"C@FHY7VG5UT M-M4;$ZNO=Z.?A=]-UX*^M!6W00DE1'W.99!I,-,-,.4 MJT-HG@O.:,)9EAF-J!@C-/4-5MU'<$\;M<2!)4JC< WKJ4L08+IJ+S]L=(R! M<)=,D!E:?KY!,@9"'LR3,?F\79#XNKH7M3THQ+TRP*MG\6G#M@]"M\;X(JIK M>4N_WVR+>CY4516K_*FJ1T1N;VB=P! IV>,PXYAE =?9TKIS@)]BCZ:^GV5, MY&$(2>:XD)^)TS]J[A#KLX=^6BO6?D:B[74)"S1?"K]9('I&4&%&I<'S@#/4 ML(9^TLS]W/0KWTK=5V"!6AY1GTF=LMVPZ2ZB[0@O1Q'O2[F9-2+N"+KCB+FK M96W;<34S,%:B2^3935B582Y#+XVQLH'*NXETH0@7,KLY-^!Y\P- F5DJ-\+#C%"/YB[W;9)QL^/".>O0=9;0S#VZQ@1^ MW:5K] E;%=Z(;H1]%QO7/_M4B8=R2942,YXF6+DN.2:$>3CE/,2QQTG,XISF M&8>UU1N@-O%!1=/1.V9#O7>-5/^BY@#:3F$0.U/%=H0(5+4@;[W.++/>Z@$8FUD(QY Y M'6OW_U?W93V2(\F9[_H5!"1(/4#Z+@\GZ90 =EUC&I175E;E3/"H!\"?E;' M*#(B14945^K7KSN/",9%NGDXF;WST--=1;J9?0PSO\P^J]$[-+>[/^!WM'C0 MNDW:Z&X$C^DZW5T3_-JM[D8 L>AU-S8"_ ;BRVXEHY"ET7U9/I9/ZZUXOZ+? M;.\?+K\]\9+!" V,5!0%6J[)8&VZ$K7<&I#TWROFCU\_W&XYS-?'C0Y^-1IX MNGD8-L_IWN'*D+/=.@R;U+]S&'GR]B7](LS"2.9*(*[B2*_@$XI()"2B/"TX M43D+)7%=P4_L??UD;[8IR\WO\'/$(RS@*_()%^![=K/CI?@TB^X)U]BOMZ2V M64'?Z$JF5J$N5?BP?M:_QH_RNUQ%;=)@%G*5BR37KF32Q%.9HR*3#)%"[XU% M'-$H ?60&) UL:/]W]U&1_5__L>$0C'9.Z0D*E5,1;61>Q>T $S :V!AHB?W'9(TJS=;F'SJ MW#:ON/EZUVRTID:IZHXTU>=R\WY3/M&6 GB1*;WW36*,PM30G"5"[XIS2I!D MN?EC$BX8 YN&76P%K\4$M7WN],O]_^L>M7OY\ M'P""IQA@(W'66 " X#0F0%Z]+3;T?B8'VI\/0F^/EFII+M::$Y"674GY)BO;\OO\7G)OLY.HS?3%C+))8!Q6SE.",F2AC"M!(7""<,Q'*),(A MM6KS_BK:3QRO.FG!.5:GU$O0*GL7[#]FJ]T$ M%!NO@J[G&#V/[J\2[6?]+-?FC7F5<)N!3EL&OUVN=GK3MLA%QHHTDXBI.$,X M)!&B8:BWHD5,14YY0D-0L?(5.1-']5;*/EFL;LI=U9F5/^E=Z*X2AS\![CVO M 2?C(HUQ(A')BQ!A*@1B+.0HDCC"2A:2Y-EMO>\F_E=T J=KI/YB543]3'OI+QJ%_,34\=ZF)\^[I MS^6:EDNS;I><5MON MG$T5+&C\/&S;@ES?WRP/,EN \:=I3:/ORD P-"DQCZ2'^\:UJ+WAO7Y:80 M_9M\4)T[_RR5EKA_5G8/+81@*DP*:8I44H0)31$I(HG25.])*9$LR1)KIH3; M=)G87]M$ZRW]T75A#6@54#.OMBJ:ZYK]4H756@;+_5NV9VD^OLIP2)@9:UCL M:&'6PH)6,[TQ# ZZ!0\JV,_QC7K!X1V35M(^.Q_: )Z(^5!WXY.8'GT8#84? MO ;I*FX4,1^MA1\LCN@O/ WI7'?<\>8^U@=CL)KCHWJ&,YDH5 8[U428FT&MLW:F(3,&'$F_UCB2 M_I>#(UT<;!8G&C*CN1DFJ:?V#.$? M@Z[A=2JU/4/IF;[!4PWXZ57>WF,EBW#*L4(\30J$,Y4AEH8,B23C61(2Q>PH MJL8$37VHYYS=C4\2:,8,F^AZ_'5"P9BQ8Q?DGISU MB]3#[/A6[W_7WTS?SJ;W49KE- TS) H1(1R%!:(=E&;,ZYZ"9IYXY_# \<>7- M9EUM5DM1[X!KGH:6LY"E/&**2>V0IL]MEA6(*,(13F)2))SA++(ZAQT2,K%3 M'HEMB$$+.,RYBE*!HC#4\V01Q8AFF*,DBRCG)&$1=:$UN2K0ZE?J MB<6DR4"Y"]8#;!M N.QFS=NL=_+1OLC][KN5>CWM%3Q[CEKF:0:]+F?66734 MW-.9=/P%-P?^7&ZXE*)ZKU7\BQZ.[THI/IID_7TQ/Q.Y2$C*4)Z:M%"L)&(B MB5'"8Y(G*>%% J(F&QV,]!0 +@;-& GL 3D,"X$VWV/#G MB8![=M]_.=1VM@OEH8]#G88/ CGA!=4\>UQ]Y5M>Z8-*I#UUZQ,U9OFXW M_+\.#.FF=NV+W)HJMK?-[E>6RXVH"146!==3:AH+5(0,(ZQPC$B:YBB4.,]5 M3+2?90YK8X *\ZR6F_/0?E#@!XB@(0R;-&"0=(3J.(RQ"^>$7UQKX^[/[/Y?:W-[MJJW<& MY;X ?$&QP%%""B2QGKMQF!2()#31FW(>"94D>2(BV.T\4(/);^$[Z3YY1(X.Y %3\HA:03$9F>BP]%=F%+6"9IQ6U&X8 MMR#TRV8M7QJBLO>[M:CNMV]H6;[H0-?,Q4*&15$(@4*NMPD8ZVU"D<@,88;C M/$D88X1##@Q&Y$U\6E!+#YYJ\8$R\F'A90PMNW#B$0-8^&C,;R0'M>B[@&Z# M3KKO!8JEG9YBPYBT66.!I>FGOF_[FINO/YIXLBM?ZB5.O9[?LW,L$H7UUI_$ M2(H\U=L8P1"3>E>3J"*)"<51S*T*52UD3>SC9QN5FN*A3F"I@-P.0X#9N;HG M&&!NW@D-:JEW32I+98B#&LG^/-S"/$_>/21I5L^V,/G4JVU><6BE;0K.'I^^ MO5U6_*-E_XRK[TWW8ZS%!8_+)S/!&)FKC<9">Z7?IAFCEKEUFKXXXGP-IX<, M.NH[/?B@XR$8_TV*W4H^J _K[W*M87]IZ9KJRKM#+]AH MT"BB.(J+@M%0AE$(VY?:BIY\0]HI8FY+.E7 >U)K("W/O28 !WCH=0&5EUZS MJUJ/P&NW75?C?1UXV8J=][0+",;941?T?<=$Z:?GU>9%RB]R9SYMR+1(9 MAB*G$J511@RK&$9$I2DBL:!%3J-4J124,3TF<>(EZ#WGY4Z*NIYD7PMN#H:9 M7$NUM"UNLP?0+G)XA046,CK1J&QD'W>Z\G(]IIR,&^WQ<2;M7W[HC 2NUMK!PLK!\<8+XR>AL[CHKFK5ZX(:7GM\U*OU&]^^_= M(\5 A+%*S(F$$%444AESR3$2@;B76DN<(9*T> M_Q(TFCCD\%AA:'F2,04RP'U)+3;X=9K#"JA]/M-SK.3.GYP#@>-B:@YH ,=" M&+D]%)0O$A7J_V&!5$C")ENV*)A"3.1))%DC0[R>7B^K*%4Z&@L M@-4M1QB(F,6$<;V8(UB9O5F*6)3&B&,IBB0B,9$%[(C7&06GL3!&19Y3A'FLIX@D)HBK"&>I"'$2@MI#NO\DW%I7^<# +L0[6P8+X\:H M(S:1*\0A'FN<+AGFJZ[I:.QY:YDNF756OW3Q(=3J'93LHD1Z:"H:H"FDE8G>4A*'9,V<@&AA]GFZHG=B[SP("XPT>Z+BBW8.>Z(/$V'.]UC2NB%TOS.YK<6@%(PALYPR M,"X..%L"QI Y_?R+P><<#RS,=OUG4X'09Y3N?<"?7PZ/M >\=1I(_8^_RFJ[ M+U:(%C+6R_5<$KV'J8EN,$5497H>)32/>)Z%- 7-HSZ5F]BQ6V&&Q4I+ QYX M^/P&EF?CKP(]>)H#1 MU^F,3]7F/<"9 -2S,YXI9+A%X/O5:O,[U.W"E9W_4VQ>J!V1D&OQK-3/-GHQJ0CPP.OEU\G1126!"=!DUPJ'1&Q%,\ MA,N?->@YPW,:V=P'^Z\K)I\&*/1.^\#-,0A;Q*$2Q$GJ2EMHC"=:3--/> M*F4289: :FALA$Z=L=;>%NYU"'I*V-6/NN-I>5SK&27@,>SM ,%/5@$6^SHQ MM1$Y[TDH (2S$T[(NZZK>:EW":44_8KSW?:W3;G\'RD649ZFH1 *$68X79(< M(QJK!*5$%F'.$]/_$K:>'Q(W<9#X/[OU4F][T#R,PVJ[4 M?8$#7:MW@!RQ0 0'V3[7ZC8V>ENM#PJ;>;UN8_CYBMWJK9M+[ Z9] _JS>;I M:;.N!2["*$R9R5=,,QR9-F\4D5SHE4,L:9P(D4=YXD!9.2[9ZM=^,U-EKT!# M[]=Y+;Z)"LZE=]>0M P!?H"YO1#O&)E&?A,>)JG(&S'6?V'>-8&O59\W L! MF=[8FZ[Y6/=B\^R6C=5_<^IKQE:44R;6D87#_GF[<<"C]PM96':V.N1@73+I MA@RLH^%FSK^Z9,IY]M7%I]SF4)-<\$4/TV4AYRK7,[;&A4F%,)49(CP42%*L M(J$,P4T$62\?#S^Q,QEAP1=K1[H"@=U$YVX8S)'V-DV0.WS9!D]SUV/Y9=WRJ:BB(-C>65\2?V)"/P+C B R,3V-#K&B;#GN7!4IAK36,DH,3[-F/="KO!1L/J MN:^;-%C%?>&U^6JWK^M\5+$]\!A\B6HR_N[Y=D=7JY?/="G^6NTKC0ZEQ9:+ M5INQ)HX7QXFQK2Z!42;X7OVOX%"S9K_$M4)H?-'K&QQ8B+'&Q7-9-M1RI]6R ME8#9UL\0<_LK:M![;FOL2Z3F]U4EZR2(4,D\9)(AD249PBJ+$<&J0"PJ6!8E M)*045& [)&SR*-!R\U,C#UCO-PB2W9KTQ%%X;F"5M3;4.['LN.17XI:UAN0ZO:S]$+ ((^1R\6Z] M76X[WMK]I?I7O0/<50LA:$A)1)%(J5Y'T%PBDJU$Q)EOOZZR-,?2E5"PYJR:;GUN/R MJ2:6^>73YP_]O@;VF_D!,,:W\'YP@#FB+03^)F@[2]U;.UP>=M[^#H.FG35Y M&'[:;8'^<-R,O*9WXKR(0LDYBC+)33IIK!?B4NJ%>"R+/.5%&(-Z!%^0 7)8 M./?97J+^J=J?L@UA(F*!A601HC%7"$>&!"[A.0J5S-)$)'FB0,W3;\4$'L3\ M8V*WD[C14EB8.AAY1 GF;[LP8(VG;<$E";,N_P=,/%WF#SWJ%H\^+M>R:WO> MWC_G(LY5$IJ%?,$0%CE!E*D0L9RG/$]X02-0TZZ@:Z)__BU8 2'-Q._!V MH6!>,&&APV@0'!2Z"_;*(K4ID5%7_UFG2WT&>!>T*K\TE!F\/CTU)ZE?]4RT MDON_KO/J[@)C3:"M\DB;X0U07SP:MRLT+[&&-P#/F#;\C>Q:-[NE.D2+=RW/ M[OVAGORM5$N^U.$RR?*LP 1ADF.$E=YI44D(RG+%1!$G>21!W6[&14Z\P.D4 M<"07MH#,+M#Y!0)Z5]%BT D/?NJ)#UKY'GS\6A!J)0655@0M.TV"LE$%VC-S&#R[4. /$E@8,'*#O>"@E7P7 M'&3[+,>UL=%;(>Z@L)E+<&T,/R^^M7K+S>/_K .*.?YX6)M5QX,Z8N;8TW(L M0JFP"$F*9*9,H=6'2P!-HN2GC$S2E:&/E=UP)3!U1#MNSHACIM6L:==Z. @2,( MS'Y/D<12Z*P1!0;$:60!ONT68=XOUSIP+>E*Q[!M66>ZU[QS$>._:X:\,Y/7>:L1[47L#G-K#?LZI.MEQ$BDB]V">( M%$)O M(P1237?IO2.,DB*5B8@I@X;(1.[,1[%>LYP+OPO*B_E>_6XGWY5[IZ M4._^>_MR_WLIJC^7ZZWXL'[SO11_*Q]VVTK4R9-_67^OMJ*]![3,FG(=?^)8 M8[SX]0&?4VJ8L]#9$L=N MA:6?5G;S6/!P]^Z'Y+OM\KM\HZ/JMTWY4J_.+6/9Q9]B"CUCBYZ>419_/!08/Z#C;\H.-!P*:4RV_K=S_X;X9* MINT*T,(">$+0PM")[=J 3)!F96.@K\."(5'SGAA8&'UV M;&#SSLR]W\QAXR\;L51+7K_R81'E!-A;=0ZE)XXV/#'VZ^5K).6#YVBWF("K__]%ZSN$C>&M)YR+[AB[:>O_]KFEEL%!9 ME,2<$,3SD"(<9QRQ/"]0I$@1%FDH0Y5!JG=.Q@>%87CE3B>MZ\Q0]V5Q:)3= M \0N;-Y@)BS"[2U\UUEX*%HQIRF?-NM-]P>>VV*?F^>S$79O]/E;7Y^;=K'9 M]87'X&7G;6GL^V7%Z8D$)&B.0\0ECB&!62IB@21&*J6,:Y M5:7*D)")ET%=I74CMSGXTY(!=*R#" W[HB^[80[I9#*HP'S,)J?B\JN#SE98 M/F96OZA\]%F'D\3NP/+#^NONZ:E\,1-KM5T_LI7>D-T_K]CJ;R7LK@0PY,1^ M>/_M6UFG8#7'\?6/<>#4WI1(M/U$3;U^#D M&6\-8 QR ;N,.Q]9\ U6'[$)WS+.K=R$72ON3YNM MK#YNZ+JZ7XLVUV?][="@^\"S*V42DU08$H(0ZYT>RQ'A>8+".$XBG&284>[& M50C69>J&5!]@B6=PY$N":OQ(GH#-EUCD3W(9W[A-5.K*5HT>6.KBI@&NW "-.Y M4R>T=II.["0YLQ;F^>M@=572W*VKQDR^T+-J])4;$^@;2KPHE)&018H2D4B$ MA=2S;1A)5!"6"(DYRREU2I6?A?QWG_/M1NU[#(7E;.AL('""L[;-/6U]$NK= MX\%?)Q5]F$#W\E-N[O16EGH",6EH'Y>4+52FUZ"X!(/BIE>Z1',;23F]./2QM9O>V,OWU>_55,Q M"_.4<<3#@IM+!&&ZNF.42DYB+F*E_P&DW9M S!KFP'4A7(G)H_GA,/P@ M'!:.'9"U"[;3H@4+I0-!\@S!ESI%?K6K"W9-XX#-6O^D=_KQ]N<]$?. .UZ> M@J2# K.&0'> 3@/<#2/=D'BGPVKU[@=???LK77UY+DW5\&FBC6/^G?7(4R>R M'%7&]Z:1.U./U[I4DS;63P_SDG%GC^YP^)H>6%CH;,3OR]7J?BUZ!WWZF=V3%*;C:I[*B"K&$%;,,#>+%-&0A8A$4'F.V:DUS6SK?;;^+I94*U-_'KL5W!\ =%BLW.>R]32^ M"PXZ-TUU@TY1LWW>7PP$K8)U6#5C_/11__-/=_7U>6>2O]7>Q-AZ6A).I>6L MZ\:)H3Y=7$XMSI5H?Y^,9E:_+3MT@F7.<1&A3!E6/9HQQ$28(HZ3A.8A$2H# MI0IW(T$^F.?@;WQS9@Q9Y(\:_)&-F+OP! M,\_I[X<>=O/&O]*R#@%?Z%:^W3S1Y7J!2912$5'$,M.W"V.."*,I$IF,L5"< M2 XBN#P7,;$?=@(#(S'XM9$)3-^Y@(N=*]YF+

1FJ97UV64+>_RYL(.%AR<.G3U:ZGW[;@FN:KS =K,7;@NZ_*';, U M")MK[ZWA0=W"X)N6%,[T]7JSJ[:;)UGN=\*+)%%1Q+,099G42Q&>4T0)E4CR MK! XS6DA02U$!Z5-',8ZV>X)C\-8V04K;P@ K[TZXTWGQ: 3?#=%-J25A9XB MQ["L62.#E=FGGF_WDIMG/RZ?ENMO#^JQI.M*R?)!F8.%A_*K++\O>;>HCG.> MA%&F@ @U83 MQWV)':IVL< [5K"8X DF<( F>TI4-C)G#5@@& X#1RPE]T"R$/YC:Z7_]/R MK:VKS6HI&AJWM?AL6M2U!>8]>O]]]45ETB56FVI7]BI2LZ10H< ,\93JU41> M"$15P1$MTHC%B211 =HT^59PXK#4<9]H)_NZ_+:N*>X,2V-3Q&A<\;.V@(.7 M)=Z_DUWT>DWT88&NK^E=<*1K?:?3U_:XP"@3(Y;B'\+^MR?^'T2'^T.?G5(A:2)3A+41(VE_(1*C).4)R04 A" M*;8CW!N1,W% [4LUI3$!:^7"XN2X<,3G>5K)^6IH'T-OB=&J:$[1)UQ@<_U0*"Y])L MB+Z54@?LNJV/7CY\ER7])@.]L/LON6V?T)+,<+6 ZD_!3\MU]^_ PW,O/PO+ M0_2Y/S8LZ/75ZQVJ!^^./GE/Q9J-\(RQZJXE)?1XCNX3-U_GZ5YTFO=, M9^?K7@>'YWW?KU;WXN^/&R,%EM=]_N;4=WVK57!2%]C/';;/QKY@\W @NMU< M8$09MM1S?O1URYSRGR\,-UM^\W53^OG+ T^YIJU]E^N=_"+-R99V3^V=RI#< M:7T?V&KYK?YJIO:8F_;K[?'85_VGE3(%JIMUPP-#<:0B$Q.,J4QHDD4 MH0A+K*(T$R&,$L>/6I,GQM5*F@385LV@IV=P4/0NZ%0-#J?#?6W=N'@\?3N[ ME&;\& Y9?SZQ\Y8FZ$6IF?,*?0)YGHCH=71X)X=[/6<*,V^^7]%O M"Z**.*(Y0X4H"H2SJ$"L"#F2.M1&84ZQ2*U(F<]&GCRQJ945&&'V71J.K1^. M2C?9!%S1V)D#ZL!P476GM@O'(\W6:^&B ?T&"YA,R!',RQK3()#WC^ ;,(KX(U'Q!^FO%8BONR M?)3E4UO35#"QI7?O=:Z\76!L- M.L88-,SI)./RB+,=9@P:U#_/&'YP:BJ;A4R22)IZ T63W! :&KK1(D:)D(I@ M'%)2Y) J:GO1(.=T*XRNN<5^VG4\+'V6,;7G9*&3L]IX9[.9SN,]L]B\!G6- MYQ4 0/ ?E*KFVASO,()K0U1>2EK)M[+Y_P_K2^G)=:WR(DKC/,H2@KAB6.]7 M:(98GE+$:92$"HT?K\N8;\@9H0U5[ M0.UBCV]\'!NQ-L*#GSHU_M1P]UPN,:BU\=F0%0R!MV:M]I)G;N0*AN2\R2M\ M"/C6X<.ZTB&LU&NI+M-51S5^+S;/VCOKPS3+;<3H0!-O*5KY0;?R[K1HTTDW M7(J=?CUH-;+?<8PC-+[[\ H.-#2 < E^->IXNF*U-MMIGS(^^FQ[%FM#^_L7 M^Y?@;OV+CACZL][_6%:V#MQ[96)7;2594A.?FC/N;8Z6P/RJ%1+\:L1X\I<+ MBCMY1G^M0#M%6>12H2GF*%9)*;0[F4(Z*4V1.'-*&9B D#-0*Z)&3RS*!#XT2G M>MB+P-BY]ZWFPAP:8ND-;%GGIG@GR^J)>"6NK',CKU-E77C6&T%IU^CVP[I. M?VD(]NK4&-,;LF;3DU^7VKA>-@I.2C/K!;CIZT1OU>VUB43_P6E"*>A+D%I3_4RZ__;:5XKZI M@_JT,YG>#ZJNFZ@>=MMJ2]?F).AG6BWY(BI()I/8<$$3B3#)(T1%JM=//(R5 MR%E"%87ME$#R)]\T==KLR\*8$=L6?P6;@SKN-6$PP/5,QI6I[F6Z"6AM_$Y83")XF(YCL62<:)UA.)Q&W M05SYY:IM0TYCVEVW]#35U\U*+!*&>49$C 1+4X2SC*("1T3OIJ.4Q'&!!04% MI^NB)HY$1K!Q"X>U] \=L'"C]&PR-#9JU<>8F?NQM=B3Q=E)/ODDANSSAN1 MW%5!,[/(C1E\3B$W^@;,<^GSYMNBMU;\(JMMJ3_SKC3))FOQX>F9+DN39&A$ M5PN9T9Q0PA!1C"(L&$>%*D(D\PCCL!""*&[CQD"Y$_MT3Y&[H.RK4O_ [,C!6;' MSCJT.B+0Q%GSOVE MY;TUW 6&;\8O MB'!-S+PN/V+LF4^//0_/[?O\_?EDWK/,\#M[<6+/^TQ?@N_5$97&@4_S#MI, M]MSL8;>[V6*8KUTP=HI9>M JIV3!\]%F2QF\:D@_[Y>;6495.M M(S^7FV\E?3J0="PB*O5"O1 HDKE$."<8D321*(N3,$RS-(Z(6CS+T MW%K.?B-B(;_,4^& "YI5_B2/*XQ+.WTM=88$S?OFL/2^+.UA^U[;H'4\!D_3YY1VW#%$3*KTPX;>NJJ(T_#-PGOM=Z;M33-C;_+\N7M3CYN_KKC.;XUF1)(F-M/@R%H1^,*AM.&!RQLMOV0*PS][9+S&$Y7TG6?G.J0 M6GZ_6FU^-XL-K<:;4HKE]N.FJAZVO\FRQ^R[2),T3HH\1WF1Q @7"49,A@+) M5,J4I&$H[,HT;M)BXM!4BPOH01[HDM41V.&X,QMS\OLJ#+[.D1=KW:G@IIZ&7W;0B-7'T[#C[G1?AM]I]J6Z;9GZ'3=KB(E(D(IDIMQ6Y0#C)!&)AE".!8\JX M*=&+K"Z.1B5-',$;V75#GV/I;=ZM/3WM,%[#0=LK"K# [ P B-#6RC@G@MOA MD65F:ATT]XV >>=R5=T9[A*RVG^E2++#B14P%11$C M3$^8*D5%%,D//S US M;M0Y"\R%9USY7HY3OK_(E6$0/7PNX.V:]7C3_6*_G!6QM$KT?H23W,*!;??& MF&(K=V8:%2 KNJNR7G56[H1X\=\QT;$L' MI.BWT>RUI/CYY?#(YV8Q>&_:*G]["7H/]?J&=2*!K\:58-:5VA] MP>W?RV[I,^]7 )YMU<#^;/D!?G;] / ,1&^8^;,8O0%XEN?H;V17 M1@W#8E,WOO],RX?RZ]:L_NKN3ET%UR*-6$J(XJC(L$(XE!2Q- I1FB<"ISBC M(<]AU!JC,B<.E6]:[AZCPEWP3,O@NY%>,_?L*G&@_P$2^-B@:1?G/&,$"V0M M/%\;>+1\_9,*&@V:IG 6U;$.[!S6%GNCZ1B7.#-?AS4$Y\0=]J_>'"D:;I\/ M5;638A&Q,"EPSE&891G"6&6H8%F$XEP689+F>9& >&NOR)DU(BQKD>Y$7M>P M ON^*P*W^'LC\RYHI$[BX)?,\N_41U)>RY$OF3K@O!LHS%1,=4&!/U1YU76 H 57 R.Y1:>/ MRVT[]&'(YIROWM]H?][467]Z-;-]6? <,QYG#.64Z2U(0D)$.8OT/H3QB+ H M92&HHS5(^L1+CT9N0!O!YAQT4^>N/AO9L'@$ ]4N%$T&%2P*'=3HA9KN:#BX M/X#7)/Y^'@0/'(F<0/ 4A&"R9XT_3K"\5L3QZT+K>"%4&M$\AC;DLY8.^5$Z ML6&VDH-E+3K8&MFW]J6^CJ7M%#@)/M I\6)?ZD:%H-8A:)68LAWUJ.63M:.^ M+OF5VU&/0C+>CGI\"(?YU100U,>WOVU6^I4OVS4@G^WRVU//MW7-0T]J\$5N M=^4:G*-VQ7:+*?AFLX%3L:/%L/EXT"BW>?GRD//-SX,F'UJVO1Z/= M-:JZR#>[R%(BBCR-44Z4WLMS/7.3@F0(9RP/)4X434%[>:@"$SMN0ZM\:[8" M&%6[Z7M*K&#>?KEQGE8FJ+4)>DW.^G]\E&^19BW^5_G=0<*ZU MMP./XQ:DWM-E62=5W)K^*1^7E"U7=19]VT-R0H@041%S+),PR@M0#JM_%2<.='U^>:-\FW[4 MJNI0 C;!1[*+BJ\+/2QN7D':M!1IU:DK?OKZ3[T,ONY*1;F97&K&JH+*6*F0ZM5TE&L'2R+$J"(F MS[&(228EIU;L!\-B)G:S?JN&3C" 2? Z.L.NYL]FF,-=,C?XM9%J6:@V8C> M(M&+_6X;.AU'(I4@@A+,A21(BYXQEA:1+!K15O1 MD]\IMHHT:32M)N;NC':D0\\C]V:W(6NW'Y\"+5A4ZV#JJQ!T.@1LM]4;[&WP M(AM6&(]U&$#+?15FV(J=MU(#",99Z0;T?==LZ;5\4 T7UWO*S7[YY1?Z8_FT M>_IY4Y:;W_6V1*NB_V;[LBADDF%24*24N?*(%4.49A+%@DC"$R6C")@L;2]\ MXH5/*S9@G=R MX*AB=( /.T"RE0HP8)*?0:P41UM6Z?(7= AM]#.&G$.6 M-!P";TG2 -$SYTC#03E/D788PZ$]W[I:WXN_5Y_+\NMW_J;:MJMCVR9]EU^? M?"^TKFJ2A0,]=/"Y7)J*Y:9]?=WK&M"L[PH(XR>"'NR'[HML3!_?*<%:^ U; MZ=;([\J8\[7S&S;JJ*G?R*,.IQ6FA'A:MJ ?Y=KNM[VKBW_8[-:"OJR MR 5/"VT;BG+!$"Y"@5BJ_Y$+K&1<**)(;'UX82MU8O_M"0Q^:R0"MO36T%F< M;$P!",RAZS96!Q7N@DZ)NZ /TW],!Q/@(&0*N-S.13S!!CLQ@9H_>(!B/=A\ MYRE0^XZ.5\ ONVV+/I<;+J6HWFO5O]*5O%^+7^BV/DE^4/??Z7)ESAG>;TKS ME^T9\U)6"TRR-,GU#@D3$B.L5*YW2!RC/.=Y2"B/XPA$6>VHQ]27,5I8];^? M&D4,'Z?>%SS1\K_DMKZJK_9ZP/9.KJ#;;:-F@!*XR&H5"HQ_!$9JG?S0*65 MK>//01<==3H]D=J4R+SC;Y-U(T">]ENN6LRZ];H1JM-=V*W#P3=DOVS+U:,L MGZH']5B*^[($-TZ_/L+D)S7ZI25=!;5TXR47DA;L=V4#2(QOS/R L;5O8' MOWKOL#YNJ],.;6#8V39IXZ;U]VD63[LM.NIB]%[6TAMSVFO(EOXAXQRM/$?$W*K!/OB*FG$^O8XX[\5X8"ST39C_NL/F7XZ(C M* I3@G"A"D18FB JI"!4)DE$!(@3^$S$U$OZ3N M7+WGN-AYY6W6PAP2:"B< M6NJJ+;ZHH\X%S$L-==7 ,^JGZT_"^[2]V:RK>FMO-OGU8'4QOI T#G%"$8DI MUQMNTQX*9P6B>6AJ&2(5)U8;[NLB)G:\(Z'-KW&LAM\6FV'G\V,QS/D@7[1#US^MF..TH'H-BC%E M"'.I/2Z)8J32- W#F(4D 2U)3P5,['2=N,#( [G;543L9KI;[(2Y&LA$\"QW MS0Y/<]S9\+/.<->,.YW?KC[GVLSINUSOY!=I6BKJ_7POD_! EVCR@;AAH5H^ MZ4<>U%?]IY6BW/S=8=D5QS+,A>0HQ3Q#.,DCQ%3,4!;R4#&<$:I"B'OZ4VUB MQVX5-05EK:I!/[>USRO:J1LT^IJ#E+[&-ZR#/7Y(NZCR.I\'%H_F_C(._;]\ M@^BM09@WQ6;N(.8;T/,68]XE.)X(M-7$#^JHZYG^#UE^ES^_/.IA'Y3)F3F< M+F.2)%E62,1B4S22)!@Q&J8HC'D8D2C)<@%BDG#08>HSA5Z-]7%;OU8IX/&" M \B6YP_30@<\H!A#S73Z,1K5V9AU&M:$%=(W0./KO,-!@WD/1-PA.CLQN6$H M^"7@%RTI"ED:&>X[L7G60?+]BGZSO0&\\OK4*SSC&D8LBHXNO%H-["_^KED_ M?NOGP7#@VFG8YN!7(][3-=^(<4YW?-?&G.V";\2H_NW>V*.NU5O5;_=K8?[O MW7_OEM_IRN34WF_?T+)\T1Y>,Q9?Y$$-:)&6#8!VT[UW6("'H!TB];\<-/!9B 4PT%L5 MEHW,F4NP #";WHH,6IF0$NI+< S[LQG'&DO !O8^KP8<>O+E=WIYYHDAU;, HC_-4 M+QL8120R??/B B=*DI@([-@H;Y:@T>\2%]!MW1>R#J_.O?&LPH<7\%6-.0WZ\2]\*[:+I_J1JT'$C^8?UJCF!(22Y47J"ARA7!< M,$1SGF@4A2S"(HOT#W.Q-73 KX?A0;PU@C6!\420:;P(846"5!P7""N<(F(: M"A"J1%C@.-=_#YD")H',(==[MU[RY3-=!6RS%L MHS5X=M/$%)# 9H]9JT&@ MYGJ:8JS%SCKS0,$XG9# [\-)_]ZMM\OMBVD\4#YORJ;KFV.8<ZH5B+/1"D>DXFQ=Z<*!$83>YY &QB'X\4$X,#"A ]<0-2" &N=F 9MQI^->!!@;)^'$/(:_";G MTV;]26XJ&*O&T4L3^ZJ6A3Z]>["Z>4Y-M%GL5"1"Q%64:)GC9SC&BJ9]$B4@D5A1!<"LA^9%[U)][5''6Q M:CM;+=?U;<_=V9U/?>U1[DVK_QY^#S3CI[<\0?K#?E#@\53]T4ZNI>Z"@^I! M\X3YBB=_>/1"8U)PH=/97; W[$!R7&E0N5G[ MO1Z;_W-YO&>;4?G9+^SF_S"7;OY>08MK4V'_=_]1_]N__T/W)_H?3 _^[__P M_P!02P,$% @ !&DG7&#T3/:LD0 &;P& !4 !A<&]G+3(P,C4Q,3(Y M7W!R92YX;6SOR)OS>N-RMB7MNX>H[9*V56*&E'5-3TOL%@\ M*$R!@!H E6+]^NL!< %) ,02!R=4;=5,D03/\>4+#WD7(?RS^[/7D MV\UT>/EU_@NG7-]][.ZWTW_5 ((JRD@4$(CDB9*@#2>*9Q\A4!ZM_7\O_S4& M&1G3C/@8*)'*!1(2YT0P'2 :%DW(BX>.AN.__VOY$OP,?D'VQK/%M__^IZ_S M^;=__?77/_[XX\\_PG3TY\GT\E=.J?CU[M-_NOWXCV>?_T,L/LV<<[\N?GO_ MT=EPW0?QL>S7__W[AXOX%:X\&8YG0__U/Y0_QE5PQQEUY MX?]X^.-?'][];0HS!,R"UP_X@]MGE+?M3P?\F,,XP9*WNS>,)O'1AT9%LI/I MW5^.?(#1XJ>#!,/!XLEG83:?^C@?).YD$,:1%%,FTGM&+)66:)#".^:3E.$Q MVX7D&=*\4,0,XI\O)]]_Q0?_6D11_K&0R4(>SUZWE,MA=-^MO"_XV8$+- !U MDB@!N!I"MB1XGHF6UMF@LK3,'T7VZML>4[VJS[-I_&4R33!%TW'W.C^-SW3[ M&+2WG_CUFY_B@TC\.AREN[_.T\E5#5W-)Q4DMU0+DONG7Y#K#-,II ]+K6QD M;L'9' TJ+#Y90^/_Z]I/\8FCF\_P;3*=#X25W*)=)$(I9($%(-;)3+)AB@;- M+#6YBO*?O'@G'/#V<7",/!N!Q">8#B?I[3B]P4UX$*,/T45.(C)")(A O&62 M4 LN.*JT,% %$(]>NQ,<1/MP.%R6C8#AR]2/9\,B^%M 9Q5RI!0E(BA'7XDA M#\HG0KU5PH$S)H@ZN\.3-^\$"=D^)(Z2:,^H>#N>#^PH-#Q]XTXH4.VBX"@)-J']SW Y+$(8SS_Z M*QAPH[AQZ.X "QAB,4#ZD70,L307F0H9LZF @,=OW0D%NG44'"'))I#P'H/Y M*9JPA> O4/[P>G(]GD]O7D\2#'S" -M[11)UD:2)L\\8)* EDY MD0%%I7@%P&QX_4Y0L:U#I89LFP#)64JH@MGM?SX,Q\ &2=FH/4?Z 04B@U6X M2RI!/-I'Y8Q/5!^7F-CXZIW X5H'Q[$R;0D8K_&?Y],ODS_& VE!2R$,H=&@ M_RPQH/(VHT.5HS,R,6-TC8WFV8MW2UW1GP05!PJT)4PLML;SZ:?IY/MP'#'< MSH:;I#0QMNR,(J-10<5M^V&P :3G$>++J>55[. M1D>?OD[&=QD8-&&4:TJ)T@6D+ .Q/F;"C%;.2F>BUD>I_>D;=U-]PZG,HT38 ML_HO(%Y/$;J,AR_#^0CC9QHL8\")BJ5&P#M-@J&9&$X3390(>U;_EZDO]2<7-U=A,AI8985A5! ;LD?".1"'6Q7!_2LA'T]+>):GL 52*,.KF?X 1^IH)98B6B6&1P) MH".)*0#--GEA:T2,Z]^^&S2:3T%6$&T3$'D_QJ>A.(;?X8V?^UNV!M8J)8!Y M]&U*Y,LL!C5'HU?7 ML^$89K,!XU)DP&"(.M!$+@@F\#! MVRN87N*6]Y?IY(_YU]>3JV]^?#.($H+EQ3MV#,T:!L,D))T())>2RH;ZJ"K@ M8>W+=\-%\VG&XP7;!#XNOL)H=$<]**6#BX[P4(H!*2 ?+&GB!?K+(FCJ\G'9 MQN?OW T-#></7[@:-AC.7QPNS9S2<7<$XE2KB=R-_ M.G+1Z_;3?L-IR\/%UXCQ?COAK/H M1_\%?OH.?S(;X+YGD7JT6]'S<@JO<>^+F;CLN-&FG#<98U-;]X-%PVG M+:N(M!HL_NW79W+\@#\XZ$KV^<>+\P_OWYQ]>?OFU=F'LX^OWU[\]O;MEXO' M1.]X17OCPXZ_LKT;G4=>X;Z>D4OOOPT6U6[%#ISG=\.Q'\,]&]XZCX&3)8SSPD:TZ$*!)"S$E$)T M0:=M1R&'H^8)(?V"YQC=KH7),6)N BVO_>SKV3B5_[S][^OA=S]"=F9G\]=^ M.KT9CB__TX^N81"***1.1&F+7KB-COB0.5'&,ZZY,Z:ZS=F)L!;0=!0$)EUK MHT?/]XZISQ !60DCF'V$^=W1VG<$< M JFUA/33YJ(["!TO[08@\W[\':F>3&^0A8'(*@6C/4FFP%V7\X3L$PF1@N=: M*:.W958/0#T9+P3PM^'\Z^OKV7QRA:%DD= *U)E5 M20GNT.UCEDA5;M]&[XEB*!7IC/-TVZ75@_:JE\GJIU=&ASM594TT *[S^==; M'NXD-3"&*J?+4:8PI8S:1F*I2D0[DWB&R+*L[?<\IZ*?!AO=0>=(.3> E,?$ M4Q6XY]20'%)).VE!O$4.7!8.ZP\?ATCT<&I.Y'U6!QJ?I MY!M,YS>?1A[%,4[%C?]6TA5EMW4NF$+/7G,2.-@,2F>IMEVH.00N=^]NP>&M@HR#A-D "-ZCN,>7PS!: M8KAD ][^B*/K4FYUSQ-:0\XXFD3J,Q"9&(I(!X7 3BP)82A3]6/KE^EJP>6M M I[J2F@ 6"O^^\?).-[Z:4%PQ3BN#J&Y(E)X#/86C36U#9D+K\'4-C5K"6G! M&ZZS(QTMY@:PLJ1_X-'I=YDBI!GOU;32Y ?@,HS)-Y[FL!E9C+*E D)25+'G32&SFD3 CK$ ?#TSU>.Q%HOK= M #L"5%U5-("M=0=R=US==8 8\,1S,!:-MD5#+BD@3\AER=(SH2VSD6Z[GE+K M;/0I7?UF$3M"6'6%- "RQUG29]S0R'B67A)M2H!C6$FU R/)"J I,.!;VP$? MGYT^"%B=)2$[ E9%);0 J9+F6&-^A40V,L>8)JM,)'B#[B9&-]DDFV5.'..= M+O))!^Y_G24CNP)1!;$W@)XU'$BJ.>E"[4KG M S'361:R(\P<*>P6\E&3\>47F%Z]@3!?2:JR*#S3R(#(N %+KE H"K\ M]Q; MQD+PU=,!:REIQM7N,!5PO H:L#L;]N 5AES&C58S(-P$W(:1".)8Z9ND2K)7 M<..JN]HO$M6,G]T=O.HJI@&D7< HOQ_/KJ=EHNQGU-CT.ZQP YFGS+PG(@0T MP%HF8H7BA%HO%??1"%K[9&4[1[ M-R^86MZRC-SG2(4FN#Q0-DD#1LJ0RKPV%GTRE(7:GM4:,OJ^;%]'Q\_JM8\3 M=P.&:*69W9)^8UGP0G,B*+5$9N3$XUY-J(<4&!7 JE>P/*6A[TJ53K!RE* ; M ,I92HMB'3_ZY(?I_?BU_S:<^]' 4(JFUAC"!3.XW2I*0K0!]V%F09F4ZJ\3%6_68".,%59&0W :X6#1>Q96OA.X2N, M9\/O4(8<7\&'R:Q4K9_G+_['('NO# A#7*9 I*,&XU'OB&;:::HHAUB[P]*> M)/:;)>C*F'6HI@90^%QJ ZI4I!P%%8PK5R)4)BX8("H&#UP+QU+]5EY/J>@W M-= 1EHX4=@N'>"]$MX.0HM8Q9H)A QIAG,T]E5&"*+GQG*C$_T,Y4TT7E0M7MFU:*][SQ69?1M\=!. MI^(&7+?'F3PT(^?3A:S3(E?S"::+20\#;:QRD )!-R,2&5"T7NM$)G+T#J@Z-CZ MC )+C@4:J.2%K*]K-4 MQ&@(V283\]:QY+6 M:2F[PQ;#Z Z0 V- FIU\A&W8#A3FN"V;XDL8VZ"I($D MR9"KE9GR=O38^D !;2(H]4]77/KLC 8=22CT6=T'H,0ZPANYXE;X3U^ MUS68]O6PJD]?Z@]1AZJB]0%-G]]>_/7#EXOS=^>?WGX^^_(>?_77L;].0]SH MCST(V/KLJD61]#\.5. M0SNL&^%:4HZOV_D.XVMXAVMO71^ ^QZ I:T7_B^54WL0(006!<$%5MJE1TFL M212W<9J-Q$T;:.WTP@%D]IO(KX&JJB;UQAL:^-)QS3=)*'\X',D*(0CF@KRY!% R1D$8@)"=U$*X12M7-6*Z_O-Y_>!4H.E6T# MU3@7,!J59K8PAJD?E7/.=#4<#XM0YL/O\/;'-QC/8*!"2ED)32B41 EK-\KZS:-W :8.--+$)9W[J]T/%8\#KZED.3GB4W3E<(D3 MJ[@B27NTH2)'7;TB8@T9_2;,N\#0L;)NP#"]'^/>![/Y+=X_3L:3.Z8&.H!/ MH!4I&8[2-U!A#$J!\."RC2HE*6KGEK:0TV\>O OXU))] V[/*NU+4=T94"UY MUB 5"D@F(BUH-*!"$8%! /-6*5V]J&4C,?VFN[N 4!VY[P\@MP30&"[+:6=C*>O8(\F=Z6\V.,";.W/U",J+OAV$]OWJ-L%PT! M2H@Z6>SP=ZMLX+F)241&!$MEVAIE)'@I2%#99*$BBKFV<]4A._VFV[LQAVWH MOHE=^9;%V]7\"KW4$O48'4%[*0G/H5Q9289XQ3S^*VNK7114U"[]W4!*O[GY M[N!WG,R;B ^PGS%'PT\!",T@I[C%B!]DL0SC)LY=3E'&AV-M2'SB(#=,J'T M9T+*X0)NP+3<7'08X5H4"I$E8"DUU(0S857I!69U[?SF M6D)V0\M/E3@_7N -^/=/F7@S'%VCXS=(6H=$&8:W 3=7R5DB3J"7:26 $4)S M)VN?16T@93?D_%19\1I";P [?X,R)Q#2&6YR_A(^7E\%F)[G9V?>RX6A5!0F M)4L"N$RD $)N&/RITO%=*JDB"CNJD+GX@E]_ M?_NQE)>\/O_]T^>WO[W]>/'^/]^^/?O\\?W'O]2KE]GC356K9P[EL/[%VB5Z M%RW^GO6'N(< M&861C!,9W5%@!$I7:6H\\.JYL0.BQ!.4^E5'Q_;@<1^Y-[&9[M)9Y5.YPHN: MF\^GPW ]+Z.HODR6E^?O19BDR]3[3%(RKDQSS<6+B$0E+EP6D1M6.W"H1'HS MEV$[AVH?NFX>Y&??_7!4V'PWF5[X$5Q O)XN^WFD_WL]6S20O6\Q%"C-L3A# MD6N4OA:Z#"ZR)&IM!43EO:Y^\%Z)]GXMSKN]'D MC]\@7<)?_'"\$$;&EW^&./*SV3 /H[_MY5!XMS%:3[TAEDFT.HQZXKPN]YH# M,TD%_#4]X0K8E_Y^C7WKJZ!3-#2^$G#A8\@Z7H[XB3=?IGX\0UG?\EJ^&RTY MO[<'R]/+(@9FG0K2IC*\Q1)I@R:.*EF2OR$*Z1QGM0MK.F*EWR+3UM?'J3#2 M^%+9014#&6+27!HBP)0Z2ZF(#TD2FUWPV7H.JG;2[4B2^RV);1WZM77>P,GI M&D[O73S/I:.AK>TH=G[1!XT[8]L#0N/(R<-W'4C($Q/NH2@614B%Y+4S]#KTG MS2-OV@3^.IZ"'Y56"[]-1N7(YBX^.!^O!,O3X0Q_]0:_'5]^@NEPL@@3M PY M!2Z(L1$WAHP6P7L1B*))H-"LD+R3J;9UV?BYG=/Q B?U?8L[!,T>L.I%MAPC)$9=*36UC/@8)!$.G&$< M(-G:95';Z*EP^ER>^6DZ^3Y$R;VZ^>L,TOOQ_86ZLS@??E]N#W<2 !>B@B@( MQ&2(5,(2JU0D0*WA4@@K6>T,P?Y4-K/G'X>@-8?67:JKB4._QP?S+GB*0>EB M6@2Z'R*6]OX4&__N")4=P[$)HP MH[LT]A\XDUTLVQ#UO'1V*?W[L[7$12F]4Q2CO=JGPKO0U:_1[1\_DXY5V01 M[R[AP"(VQ-AMR8=63@>F&!$RE/.V5(J7I2>,1TLC,T+4K_A<2TF_-K,Y$%90 M5Q.P>W/[XDW73"-+69NL";?HE$NI@7@' 3<)F)DEIR*%#FO?35T M-\KZ/8!O#I\=J+/_OB E03=X?_7-#Z>%^MLE=SXNK0+_&(Y*WZ[WJ/3QY3", MH+2>G,\&*1HM+6X-SI09Z<@3\3QYDCQZ]D"IUT_;[CU/.Q[PWG[;6S4#QZXU MUF/$OV#M N;ST6V2[2/\\;N?_AU9P.W@-1(RG*_4> VXQ]!1A424"9'(Z"CN M" R("I[*3*6Q)NP$Q-W?V6^3K+9 V)&F^C>*]V=0=U+[ .@??RX7*,\S"G2Q MJE:#M+N>4)Z:+&Q*A%)-B53EP,LQCK9?!HYK3SA:^Q!A7QK[;='5#(!/HN(& MDJ>+8]32LPEE^KA_690\9*\L+DD4F,Q.$A]*=:)6D#WU8*H/2ME(3+^]MMH# M916E'6M':S7:FI:5]0:6_UT1VFO_;3CWHWN)&8E2*;TV)'B4&,5(SW*>B'!) M&9Y3E*QVSG)WZOIMQ]4<0CM2:Q-A^W/>4.(P_%Y*JV<#QW,6RG*2=&F7SK0@ M7B)W&?UKDT0YPNB@R>%F@GH?A- )#EZ$VZ$J:=0HOA]_1VE/IK@^!Y$F"M0+ M(BU'#R-P(-9833C3&<54QM/4/AG?2E#OTQ#Z0=BA*FD48>MFBBR&@!9@)8_H/70P[FMG M^GJ?ZM /!BLIK($4S&[&_8[!FT$NO2:#3\3FS$L_9$I\M)F4NBG'E/>4]K,? MWY/8^Z2(=O;DP]36J)%\G Q]8(T+%L'G0#P+Y0ZS+%>((THU!).94D)4G]N] M,W&]CYSH!XLU5-6D;43?8WJ]4@0"]UZ(EXDJD1))*H9RAF1)"%G@MS1QEZP( MT#T*-Y+7^[B(WES%"NIJU1Z6//Q307[$&(P!=0Y<)#XX*"WI#?$9OR0;X.X@;K>)T?T9!%K**N=@'GWVOH!^KN"!EQD2FM<:8*6L2M,$RV$R 2 MDV48B%UL!HR6@0X\"!ZDIK7[P>U.79,W$:LA97(2I35QZ(*L1%R5B^EJ:TJ$ M'S&7K0[16"":RY+#BA3-OP_$"69EB%$G7[MOS1[D-7FML#-(=J2V!L+K9ZMM M6:-9XK.'_C #$"9J:3WZ'IF6%G4,F8) !+K'"K2WP=5.@.]$6).NX\D,X]&J M:B>6>;K"<$G][N>%IYOSO+G3\\ ;# ]]:60;2O\8817N!#<UOTH +[D":2$(JO1"E$<27 M;K(N!9 J4R/K[^=[T-?O(6+?IK26XMJQJ+M+="#1CQ;2,$)M<:.]=^A&XQ<# MF6<7!$7N>PO#^SU)/#$N.U):N]FA=\.Q'\?U@LPB6BX6'8G!$FE2(B%8Y% Q M3\/BN+3VWKX_EX6?X=NMBG.!%F0WD"8#SA')S9@; 7"<70=0!!'HR$.70>ALJ$FUCYV>9&H)C,Y MIS!SQZNH,7.WRH8*246*;C!%FLO5B(PK*&IB&5KMX&14U1LI;R"ER?3+*4S; MH>IHR*#=\O)N,D7&KJ?QJY_AC(K'7H$=3)H M3D2(&>6$L5"(7A)#$[5E8)2UM;-T6\CIMZBZ/Y@=I9:&K-J*![IBNA<5DFND M.-!)>,I9(,DZ2J26E 3J/?$"70JE<26E+HL1=B"QW^KJ'@.(VNIK()S879KH M5' 3#&.DM'C$&)U+XF.6A&66**X^0ZOW[-R=NG[KK$^,R8Z4UL#9Q=N<(<[/ M\]L?Z-6.+^$SVN+S<6&V_'\I_?GN1V4)?@:4XS"BI5X<(([3XQ^L?')@@\\+ MUP0L11%DFHE/&)E%[Z3FS.;H:N=@.F"CWZBZL]./OA7>@ D^BMGE"+'G%S#B MZ+J,(%L5ZU+4 \Z 1@F)Z%1Z:-"2[PJ9$BJ#],);H+9VHNBT'/:;#.ALI30, MDP8VCN,L1E 9C4-I5<0Q<$6+$8AU&J-7E[6)W";+:P=\W6\&G64>VH3X7DH\ M&+'?%@L))3"=-X!;'K,)NMS74\6)9,R18$0F45NAM/(4H/95BNYQVUDJHU'< M[J/$(W'[=EPG>7;?#O.N6&J<[H./]RCCE1*MQ)U6N&]P811R:"AQB24"7'N5 M8G3!U!YNNS-Q_>8QNBLHZD0Y3=01W5XD7C1@3&80.]!3 M102>8"#LQ6]GG]_^=O[AS=O/%V__UU_??_FO3B;#;GM-9R-B=^:M_JS8Q6G3 MU\D(5\FL;*+SFWO :O#>2B8(*[6ZDI;+BAFW5>%CN;MH??:UG:&="#MZA-?= M2[XL6GEPY@.',,IK]W7< M2E C6#I TYM <[38&\#0$Q[>3*[\<#QP*H=HE29""B R9D^\=H9HKEVTG@E# M:R<.UQ+2"&:.5_335/C14F\ .BLU(;_#58#IP =G,Z>*:&=CF9)@B34>W4I# M'?B4@(?:QR_/B.@7,A44^]2_/DK*#<#D+*&WB.+WHQ(&O!_?!@RWS%A6#M%% M(-QQ2R2@-?9":**DED9YJ:2L';UM):C?8OWZ\*DG_0:@]!GF* ](;_UTC$'L M[(X+X9V14I.<&&[FH-$(@Q-$&R&J1.M- "W>Z_Q RZ=19YMH#-5QI7+[:%<7M:*HYP"?LM!J(31 MALNURZF>4]%(Q[6*\==A FX (L\/YY_G-SY/1J-WD^D??IH&7#K*.#4D&\!0 M(Z';YQ5U:'6E4T)89:#[SN1;26PD4#L0$2_V.*VGG@;0MQ)1+&;0S\ZOY[.Y M'Y?JD('G,>K(.,E..(QJ/2-6)$&RM3%(!4R+ZJ+AE1?_(^!H"9Q YIP&Q;!+/H((J$[RGB(QF?F12?C>%^@J[4)6-V!K+J6 M&G"Q%M(J-]H@O;F>X@Z^+,I=;NR+KZ]0JJEPC2POU#J@S 49F28HRDR,Y0K_ M)1AA$:P0(O D0A=[XWYDMC85J^/-LT,=]@C34OHQ6#*R9/"V/=\XPFBTX&0V M<$IKM/>")%Y&;[I28@LQ$1%C3$Z I_3)5.CGE2P[O*>UD5;U\51;V#^G>4,) M9BA50^7<-&GORR%#]$1FD8GGJ8Q2UUS8$!*EL7\[=T]O:W.NFC)XAVFUG0O; M&UC^3S^ZAI?]"Y8#D]9_@PH\QGR? '3[\,(2QE]ACBY'"^>LA#7 M0$D(@K) (@19;KB7!8T[E''>2V6RDM7;Z77-4VM3NKI;"$VAHX'5LI#T0QNE MM+BI,R_-J)]O=P/!F:)",2*5YF5&FB>!>4-,E"47FX+IQDO9D;[=\N+TGP'& MG:FM,3?D11:7BRY$9;G,C"B TL-0XV95QMURBPL.(/L,M4WR'N3MALM_B@.; MKI36'"P3P!6D\^EK/QJM772!TA D,F:IRT0&14FPGA+!'1<>(H:RG9SJO$S: M;G#\YSGKJ:RLGPB*RW5F$E/@09.DN"JCRR0)SM R0U)E0:,6U?L&[D;9;D#\ MIS@TZD!5[>!P74/$V@:VL-"-5@C18>60)7!M>ZT/^TT(W7S%RBG[TF+_.KLL_?FW<'W2B_0&+-B0@>@H2I]=;HAG@A/O M,@N 6R5[N.?_,UVD7S'9]SX">I\+\XWK>^3+"+IR6L^UU<2!]L1$Q4@PP1 0 MH %4N=U0NRQ_%[H:J:6NAILMVVD=W53++5>TA!?75U=^>C/)%\/+\3#C,A_/ MSV*<7(]+*Y9/D]$PEE:V!]B['9]\M%4[A(-*MNOY:^Z!E[+VU$(F47DHF31% MG,!O\8O)/HLDJ^>:-E-S=('B]-*/A_]8*.;U9#S#QZ?E0A^G3RM*.\^WC7O\ MZ'YYSMX,9W$TF5U/X0N*_=6HM.9/6DN=3>F&MVB'6M(\9;*F<2(RP=!1M;*R M=&KST*_UJX2\9S6.?2JZ1?/X&;[#^!H_'&'XO=P(FV$XA9)9B/IL-H-Y^<&' MH0_#T;+I]P&66$5/*X)&+&$7&'I^O[P#+;5H[DH/OC$B]D!#MOKG1YNHC;14 M,CYWS[]YV+<>P.(YM\I8DJRA1*9D2Z^N0)AG/ (#IEG]BZP;R3G^&N^S1S] MEB7A@#))D#^$K!=T>>0;HZ3"I<12.@&KC1B36IAX?E.WD@;:;#AY[PR^'Z.P MKA?>X"'V8^USCC8D+U-7R:+\[J=_AWGQIA9C%Q\/5Y%*^$RI)XL&IE)D@QZY M-(0S2KE4COM0^_[6-GJ.M2GKGOT :1.9IN4&E(]EK2B@Q>VWA,K(=; T:UL[ M8[65H'ZM2C5O&:#<=SZ[&@F MH*0C,@9;#E8P8%8 44L1?:@]=WX])4<7'SQZZ@,@M15:H@=<^@\*W$$U$ =@ MB>&EH;S![576OCFX@91^[4$%_3\K,*@@\C9M0,G"#Y?5X;>K;RWI G7X,Y*:KA(E$!(#(/6S$AP-!*>*&X4B, @ M:L]#V(O &F=L+[[L8747YV'T?#R]A+R0<=P+SVTP@G< M7G17,G*?_,TB<8W8.(MQ>NU'#TZU8"98$(I D@5V1A*KG2(R4&X@8MSN:M>@ M;2'GZ#JHM?)=OO][23U:Z)J(>-9 M,51%/;28_5U4-CRN=#O$X#Q_RO$6Y@7**IF4)\4CS%.1(BCBH71.MQH=",,+53H[7'=#PMC/DXFH+!6NN=>P>?Y\>WE M15?AUY/9?/9PO_ENH/O#5.X@0*L02$C&X*XB,_$9-QGF)-52>T9][5J9XR@^ M_N[*CF]_M?KVA\7C);.>E>9&W):37I^(BXZ2'#.+,N@86>U:T2-)[CD==3I\ M/K\7:4)UUD2* M4K5FHB(Z>XB ;G1RM9-06\BIT#C[Z:-7:N(R92A,1RR4)EJJ> \R9D*#YSD[ MC>%);5]K&SU]G[C7P<2:WMAU--"FV;B;=/'MMA[]$-OQ[!E'&Y#M5-4*TFY? M*_Y!K#%8)'1WALC1%DJ%4G69'-,04! 7,I] MZ65C16DPZK)$$)M4VMPJ[YU,TM2N ]Q(3,^!60TSX1AF MLPNX+&[4&S_WAYB-=8\YVG*\2%NMVV;+YW^&;Y/I8M;P_>&KM%(N(FY3IELK M38DW#-W)$$5T+EI7OS?(!EJ.SOH\>>ZZ'5"I,@F)"I* E?Y#41 ?)"-4F@!2 M^5B_HGH'LGJ^458#&\]R/I65T:9I.8O+1FR''E(]^ONCCMPSA,(Q44@NG11D?B56!TI"1PB=3&XR&H7..U&6;]VIT,T/;5&'2BJQ?3S M9RB%OG&^:.9SB#UZ_( *MZTVTE/M)M7*&Q8=WA8)M+,X'WY_7&^JA(P0T3LV M&<->W&P"!M6&DR1IT$F"];SVT?C.Q!U_F^J%%ZT#NS":VE)Y;[WPN)X$[KXN MQC+ +R^F<\4.+I?M3V??MZRZP-?S>U8=ZZ]%8[7;_?7N;^*?^D9^7S?SK?/< M6J4(I2LU85:ZTDY;9:A]GM;=S?Q7?C:WW5!N7[N0^8J!=RYFSA(I%WM*&(V2L,@_>,

,]@ M5 >5.R\3UG\]B5LH'9Q\F?EQ*G6^O.8\O M'VS$BHG/)BM#&2G-LPE&:(98ER11QLH3-N3TG['[)X"K"?08 ,X72N^11+^P:^Z>1\ 7/GA>#FC($^F5V41/MRT>_OC&\32 MZGUXA1\YSQ?XTUE&P>#OGK!OO8LV6D<24[PD2RD&?5X26OKR9<\<-[4++BNS MT.^(WU/ ND^=-P#Y!R?I[72*&\T$:5BP-5NTHQQ.ILM!':L#Y!Z**@S5D4I. MD"U$6\Q^#&)&NEY+$,J:A>#=]9J[T'D-^_Y/7U MM"S!I[D'%JBB?G&O3Q'))7H?.F="?301:.:^>FYH5]KZOA!0!RN;S4]%S;19 MC;>NX=WA5F?+TSIIS=>A'=K:B"T&H2.&K(29$@4P%DHCMDR2D3$ZD%S[VMVI MNFS0MY)A^NZ'H_(2#-8O_.J[RJ1<%/]HZ-S81Y">G5SYYM> M^]'OOE0)S6_>^/G3M#Z:[:RD1!X#J#+OJ+3AP'\YI1V5*7D3:V^MQ]#;;[*[ M,]">3(5- /:='TX7\R*71[%GCXYB?P=?W)AT/OY<9'Q;W/9Q,I[>?;NH&'DB M VFTYY$"@8 1EG3@2O 3B.;9NI"8S]5[J-;GHM_D>&?@[EG=+4:XI0/EX4[F MRE]7Z=O:H1.YH7LG3'FXS='WZ*/JX=&IS].FZJI$(45!(62A,ZJR)Q&0QQ-K#D M(=E(NQB_>[)NK@]KY]-TDJ[C_&]^.O7C^ *%&X#ZO37$C52*, M^1A#"MR8[@X"=J/Q9^KHN@^^-@>R'>BNS5S NSZZ^_ZN'1J_;;T\ M#66.BRQ)C!@@RIS*X)0RN5]!9V>8O%W=07MT\ M:^AW5L;4GW];;"5_*?[ [/UX60OP-QA>?BTW0'&/]I>P^&5)%][G7YXL1A#@ M<@1*5%" XJ;HG 272B-X([W#Y:ZJ=W'ID^&?NG'D/FOCF6G^:6#6HLU_VJ?M M<&N_X4G5.\EU:.$W]A$3U(F@HM:UHIX92V!Q(5)*D=1O8]L5_WD5FJO MGKRAI*(C.DYOAJ/K4D3X)/Y*F?,@%3HWV:#W) )Q-)@R/C5%!EIZR-T5T>U# M:J.]Z/;!T):"N>$K*Z;N96WU ]?_.4.U%:J,][O;!T&9#U9W2VC14JYWF#K=0:YY2M0=>AS9I MS]YEVFLAE?'$*,N)E)2AQL$1%ZGE4L6H1>UP^+2=\!Z60BG(NAP/_P'I?4+U M+?FZW@Z57?P&6=.TFOB/73=/*NF/^576#U:$?([%@@@94NS4(9 M$J@6N T$KR&*3%WM\J8]2>RW,.^$R.U2=2VF/QZUF3NF%\SSQ]1M%=EI#Y== M&_J5#D"&6DJ2BJ$$D9E8QAPI]L<9K7)2)^^/V,5VO?:5BQSF2A-XC3XKH"46 MF6% S5(D(5A&K I::,9"B+5/'/

_>+EV@:MM.6UMK#>RD&]C#;V#Z'5[= M?,'GE(3[;"64LD[Z8(PE$!:7V5&FEHM,E ;)6;;2ZQ,!/Y^C(S"[W 58#IP(EJE,R<9/53TDATE7B9-LF-1""F\I[4OS&^GJ&F('0*! MIR"KIX\>T;6X ;7"ROEWF!8NWH^_7<]_A_G72;IE"'2RTJ@2?)4%J1DR9%/ M,#X;[;1V[.FHD@V7S'9Y6[^Q:7?@Z4;<#>+G_'K^E",*QG*@E# M<$4HB=ZI M (-L>6>+L&A\,;S<_77]WG4^/8*.%'@#&]P&[Q,#?G@_AZO9P#L0QH$D5LF2 M.02%XD*_@(8<%)?44E_[,MU+-/5KISKSUZNJH@%HO1! O_T11]>IY"%G,\#_ MI2_^!SJ@-&85*%'4,W1 G<:%8S@1*LO@N72Y^GVF \AL,F \$"?K^VUVIK3] M<>F6N!S#O)',[5TOZ-7,Y=W?GC*)NPL=I\_G[BV=$Z=V ?=G(:TEQB= L'I< M)LDX---241VCSJ%V=(".^#L I#$?;680.NP:[,O;I9812?O4A2@?3<0 XD2>;*I:E( O6) M:!L<4[C#J:@JX_48>GNN=CX%H#8,2^A3 M2# R%8<[$I[7SY6W\^3S)6$WW>.\#D3Z+DL2W)0 M.7=>S.R6,YY=C-XJXK,L;9_+$$0+B8#C3"?T7$":EZ*8_5_;=T54)?!T+.\& M;-(C@U[*]XM-?^#T(?\@A676H]WVPD0B05-BMW)@.VK@,-1-)G[42-'&@_)^OMUEE?'6L*LG^KTEZCILUQ] M+TF=^) #XX<(R7/B8@E; D>'D3I;VC(+&CU$H6JG2$]TR+';/O!Y,AJA6DJW MJX$RTH?24)X[ :6K/&X)W!L2E=(^:*ESK'UY;V\B^TZ@U$?58?OWH7IK82O? MS4%1R7GF32(B"U>XRF4B<"3)19:-!@JJ]IWOBCYD=]%*M_ XS)G<1U<'(_#; MHOW>Q=Q/YU5P^&DZ^3ZHY;3HJY:GHYHH+FLESV_-)5:GG]1/2_38=S]);R649;6]J"?(?IS<#% M$ 23@61JBR19(CX*0TKU)4J36:X/337O04;/ I:*?QS$45%IJ M92) \I10CE6- Z=ZQ@-0\Z2K9[TJ><8=C9CODG'D8OAVGYG)$VS[5 M3YYH%XKZS!7M+;&Z^:+;;FRW#;3>W*+P]I\D!J= M4).=L($+UU'M_4[T'6N'UZ8VBCY*QE[FIAED5/N_B.1/6YD1\BMU/W M+O**\G+W-.;(B11H-QUECJ!C:IBG:#CS3WKVLW4U/[8I_X TL(F!IB$18YPG MTIM,G)2*9)4C93;JQ&HG._>CL(E=OBJ>]K*_QVFLT2W_$TP7[6(QAGR8#GB! M7V>E!?+[\:E&:4$8!+B[F:;!*2YV(= 9W55/N-2LOB#(Z!N:#8-6G[];EH FU+8383^YY3XA=/=289O3 M%8_()KR_^H:?F>25TJG)^/P;3/UR+"6^HZ>9$_M0UF<^YF )]E&]$3A0*7(F MU)?#3#",8#@L"0\T)QHL8]*>G0)9M/Y8B@21K-E?2^;X-M<=B1&A!*,2*6! M!*T#\1CA)HQUK8>=5A(^>P5)^-T#BM:\MLF>H@?H!VMOO4P.$"6[0#AP0VX[=]3!J1% MF@WZDQ[92 P=3<\T2<;$S#(+,>YT&+*'H7A"0A/@.$2I&ZS$,1)N(+!\L3.S MC,XZB+HTI2@!B2L#C7'C%5(;,-$%GO-I')5&$H'5]YU.5-$ M)Z$'>5BS$#@ MDK,2G3<&TB,+U.-BRYR $E0SQ[F@M8M'UI#1I.-RH)XG=87> &[>^FG)CY2J ME(NO*-%[SU_F9'R,D:A($Y&66Q*BEB0)'G4"(1BM?5"]B98F35 =!%41?X,P M>N5GPS@PVE *#(BQ3A.I R7.:4ZBU)I1G86*M>/NM83T:X+JZ/@%X.PO\(H) MS7JX>3,<7<\A#8R0-E"!>SF$B*+QFM@0+"F=#I73TH3=8NPCD'-+2K_&YR38 M.43H;:;#WX_1-B/BCKMHN.8I1Z>97Z*L4DKX[C4W#Y<.[B&#T) 18B#&0;G. M@NY)L$D2"]9(2!!=]:9/6\@YUG+Y9G6.LDC[: M MF[X7@X^PJIC"1\PA1("UGE0#2&&D0*IG!?MO@E"2.=E$R;VG4T.Y#5;W.< MSD%621]M@:S>9G!1HG,#HCC61*&4:Q#GY(#U+YJO/K^?OO7= Z; M?27<8GO8VS[S?O1^,9M@4=BPTM?T.WJO)?^:)],+/X+?_?3OZ-'B#RX@7D^/ M[?)1[^5'^^P=R:&2J[_N??=8CABP!>D"L3FALU5.7)PTBD3)A +%+3P=ZWOT M(M]&S]$')Q#F*T^]D_R[I>27IP$J"QL\E43Y)(B,,>'R5;CUT\2IMY1+5CN\ MV8&L?MW]:AAY=GQ262$-I##7K/;%L;80(0+-G@"4]"XOHZ8R.I?*91H-S2RJ MVHGP#:3T?))26^63^O)O $9W4\!+2_KE8/%%B>NZO:1,%)JM_]7MF;E/UMN( MC@B@WX">1+8$N2Y9/D&!HIL2:.TT:$WZ^P5L%4 ]'_W5CW;[GA3V^_48>?WF M1XOJV.FWR=3/X=5DG.Z&56EK=3*ZC%7@I10C.72<,3)*3ANDAB;S="C%AL:8 M+[VI7U#U!X!)5]IHP&BN#+YZLJ\\[#@/!ZZ)*:=8LB28B&)3&9FC*1$A5,H8 M8M'Z3V9S;I(J1X+@IG&I0 B-]6_L6T+XT-C-@N#9/W+R^OKH>H9J_PU_'T_L>2G\I^T["_RM7\H@KTSJDX)KX4D4)&<4N M&?Z/U\X.5".^F0F-':.Y'VTW8(*K,+XHQ0N<,NDX)SPBNU(F($XD1;C+J !& MHZP^ZK$:\?V>KOQD,-];VPW ?+-@'XMD(+ASH#.4RG9;V?SX55I0_;.#Z?_Z4?7,)OD MQTVW-S=I+WVH[LUW-WA4$WJNCX]ZDR2ISA>\LQDRH0LJT<1R21ZSHPR MHF@Y[?080NK:.?$NCY>VK^];:3^-(1[.C0U8-")EO$,9>R>B)):#P6^U4$P[ MEE/UL;_'$-SPD=0^N-K/2-=48O/>PP.SI4G><'P^AO\"/WW$^< H)$Q%2K(N M&V+0@'N57*0(.0OTL[3*,#%G^\G4Z MN;[\^@Z#@\+]8RT,I"YSF34E$DJ*!T*9V:P9T13=/RE F?ZL]"X,]#P+L7GD MUT=!DXO@Q:1FPB7N<+\DH$N_1=PP2?"XC[J@-976Q]B',OU>P\M_N\W'*^UE=YWNN!UZ%$%10A($H>20%Q%'E%C?EJ/*0LZQ=9G@H/3N"I\2 ML@?J[6>Y1W.6TJ+G8OGAHB-M^:;RBPA-EZ<3#R=";V Z_+XX_9Z]*K6?$2Z^ LP_E$>@P%_= M/'S@[K2H%*&^NOD-TN5P?/D&9L/+L7]HD&\H9.MRF9)>KKS9TMX3F"7>0?:! M4NZJC[7MCIN&SS7V0>2S>Q%MJ+^!R.TY&\L)(PQDS!CKYBATJ>=WQ%F,?[U. MN!T%P:'Z2*7UE/1\W:$1G$RJ*ZU)Z-UUM12:I^PH4107M51!HB.4#,E6BZ"Y MUJIZ_>\F6OJ%7PT]OPB= X3> 'CN&(!T-KOEZ<%WNKVPX="7#8[AOD %KC.J M.?&&SOBP5(K0F* M86C&69)$1B&(I=$1+E748'WRU?O^;Z.GWQQ-HWMD-04V!<95N=TNW.2TY5;X M,G#%$^E*DIO/26M0.A833_K9W.T MV!L SXJ1O[?\'^XKPKFC@IHH2&2E5UA.@3@?43Z1H81LC-[53A-M):C?7'#S M6^.Q*FP*CQ\GRW3IV=7D>CP?1.:MXLJ4/G6 ?&" Y$!E8G*VEE,A::P=16ZB MI16#=K2Z-P+I"-E7P]#);FS<2_%W\*7;V;+]0%,;%;MS>HHS",$] MH]P$8@!$V7+1W&D?".>AX$QR;VJ7X9WD#&(Y$>_LT42\6X&G\_'G\N(I[@'X M@8^3VBG&VY&7#T7Q<1-4NN'.HY=&Q%.4A,$:-WRB67M:^S52.^X1.& M??"V\83AI,IM8#^^9_S5S?T_?QO"%(GZ>O,!OL-H$8N9&(""<419:=")61Q[ MX[\H+]?Z@LYC9Q<] *N0S32 +BV9MA#9)$R9X@2 MI0>:X.@QR](Y1'LPP+AWM/:=DY_@8*Q77ZZ:OIK"WIK4?'2:F7*Z8W(N0P(] MKJ-@+<%EY#QUUG%6NV3I)ST'VTOK^YR#[:."!N#T;C*%X>7X[8_XU8\O2^GT M'WZ:;LUR<:S:80O5CB!40>P-@*>& ML_!PJ"-DIKIT:V.66E)N-9/ 62(Q.XOF/7J5:A_#5F6@D6/;-I)P)T=$ \OA M]\D8;I;)^7?7XS0[F[_VT^D-\G5[L- 1\MA#0G6*ZN]*7 M)0T__PY>!W-'Z:8I;*U(<&"#"B=L'!6D+Z M;9;;(LH.U5*+55C%*M>^V_WB,X^NJ-J/ZDIU4^6E:\9O:LE$LE80QJPJ_0D% M<2!+TQ4N:*"QW/BOOD[747*L&2K+Y#R_1E .Y^]\+ B_6898WE-A 2CASJ$_ MZ7DN71,<,M>,'SA"ULVAY:._NLM39DC*>*N) MR!)*/4M /KPB0EDGRYAJH[JPI^MHZ=_6'*/CK9 Y4.!]C_/[ZWA67#M(%S > M3J:/E]5M5EI)&8&CXZ]8"$2R4+Q_2HFFRDKI768ZO>3"[/JREA!RJ$HG'V")9%QY"*%5":P6O3U=#(@O,VR=D'U>DIZ=FF. MUO +D#E W"V 9F4YW1V0LE#+*:'DA/A,OA*7X)6M9.TGXG(JVP'*( M;K=$3 <(N@&H/+:YB_5C8P!/I2$*I"BI*=RRK7"H8*.-E<(G5;L6_CD5_6:4 MN]F/CI1U6MB)CM7M5J@< M(.@&P/(9OD]&WX?CR[6^.\LVN&@8X8+FXKM[$D+VQ @IC,8MVJG:"9FM!+4$ MGT/T/>E*^'T'VE]PR_XP\>,G+ @0N)"8(9F7O@B*6Q2.+QV7,V0J.-CT!#\; M8NOUS^\W'JH&AUH2[!L$&^#\^NS-+3,T)L>5U"076$N.#E@P2A+J68Q1*:., MV D.+[VI7\>D+C"J2K6!'6>=V[;HN MRB9:^CW$[BC14D/NC>+G0SFPG=ZN-"&5 0H*@SO<,J4'0SP-G)0C>V4"BXZ> M D>K-+5WIK2_YG> T\%JZ'OG^AN,1K-W?GHY>>7'?__XY[,_W]K68&+0C'*2 M(*+5SA3# ^$2KK\@I4X!C6O8:U)=HW+ KIY_GW]W MGCS(1*,*Q!I=_.U2BDS1@FD=,2!C48>GW5UWT'R??D(%+6W2]P$BZUOC2X-7 M&+@+P9F("F-P G01@MM, BA*/"1AM@'BZXEO=\M IFU%;I,*RI=R &C$T1MF0X8$C>)@7O:EW8'S3>QHQ^NI4WZ M/D!D?6O\+/[W]7"VJ/[_;3(:)G_S>C)>W@:XM5LFNR $Q[C&I8R2H097 D1B MK-1:4>3EZ=W5#0!X\56-X.$0+4XZ$VF/ )E-YX//I<_%8H4D9G0N'5BRT&4B MBF4EE2Z($$E+CN&H-3O5^>%35]*&^-U#RO#1"W="@_DY=H;#)=F"^N\*@X*/ ME(L2[S!?OC!B@P(B>,CHOAJ7Z4Z]V'8!0)\&X0AE/57W 9+K6>&_#\?#J^NK M6\)U9E$Q&@@%5IBG"7U6_-;*))07-@BY4S.8%U3^Z*4]*_T0E4UJR*]OQ?L? M*X3S;//_W]Z;+;EU(VNC]_^[X#^8AYL3H=%;$;:D(ZG=T5<,C"6V6:2:9,G6 M?OJ3X% #B\-:)%8!I7;T#F]))6'E\"&1B1S@E1;()&_SN[NYZMTI1!WUQ#&3 M:.S4.7)*\?<_6B?X*Z;XL^770-[P=SL?Y\,M#R5:6ST@UN#DD<>*(IX<188Y MB;36E$L2M0^EJVUW:>@$!_T\SO\B)E6CT#D#!$W )*7=K&B?EN"0X3EEDL$QE."*10&00!E M$,L3 B .\L:4KL9^2$$[X#A'G[-BPJU]U9"K^#Y_>/OIQ32\^O#ITXOM42F# MIE%;V"*K1DPFD0G.(Q%2P"X8*]3.<(XC=9"/UZ^;-2ZD_5+RJPV!=U._GEMM M)[OVF/R;PM*> M,:^"R2AXR.58-K\PEP32"H0D3#0$?#CI=BW0?^N([EY:[S.BNX\*&H#3@>&^ M+'$'8M H\NCS3!LXK.TJ":Q-H-Q@1TL/6WQV3]7VTG2WF/99ZU]O MYZUQAD$202/,\MM$GC.PV!Y\/:\B5]9Y(Y]B<-0M0=V@A)_7T59.!8WB:7-+ M^7(VG\_^S'TS]AO\9/EC)%,*"@N)5-0F]U+1M=2T)8Z3%)5TI4<%]:&OP5+P M\V#1 7!%=-0 _AZ.U,E1R(CZ**BW M$D11ZZE-\C5P0)2ZUA("IA2D_]>$Q% M@W7D1;!TH;QKWPV\O\F']H?T>F[_#+,_IXM1(M[H0'&.>R$N)0!Z'2Q%D3(> MK!<4AVZ5)X^6;F\XPV40*"# 5M2?!;'82F@AQ2E!IQY3PRA"=$A8Z: MB-QJT:TK=N_R[;4R%H3!^8)LX.SX!4*"Q:^SQ0)8F+[Y:PG'X,UX\34;-@ X M&+J1CEACH!W9@ -@.SAD#^TI94Z6LMKH#R^SAME_P<0;HV!QO[.-.6*9%?(F(V04!+\FLQ..+\ M="&C)GBG8[=1$[T^VPU(S^@B>F#)-W"5\-"\KEXQ^@RTV/!A>K_@AHRL%MI: MB1'V,4]?\70E.82#]2Z$A*TM_TI4-]JZP>[9WUD74DX#H/LXG_D8P^(MR/+V M(8"=&SE*E?#Q76:JFY >T8WXP,II &(W9?5 M2&%A@[8)*6_R]:Y0"():AY(D+"6FN:6ER][N?[\;;)[13?K%0FX!('&9%]N2 M_^%FN5C::62DX,LK;" %I%+930VE%EM "N/9+Z%',E5WXJ\E'I@G+2N(1%OO2(X#-*B;0 25)%(0RA MAG(SY.L-IRGL!KQG>,\^H*(:@.'VRNVC'8>1M$$90CG*B6W$L84ME(?V2XW4-%5.H!P1#77TDM&R)W;4C#H.T)2-Q@]HYOS(531ZON_G_W7&&XF<99V MD@$7O@%\DD5&^(2$T#$$2JQVY1MYAG@+ M^)$HW7)D5&2$ [8!\#PW""OD&$2>TDBKS.>-7:@%.SP\^'Y=<\7S)JYW7VW#W!B O)DDO[(8 LT;^F@4O4N+Y-HLXG$?4D(",S!5\-EG*)(N:E$YW["&C;@GN M@' Y5]3M54=N@#\"W]SF@57(&AT!\SP_EBTP"EXQ'U@*EI=NA]TAH6Y][?"V MI9>(SS@6_^W5L78XDQW'Q(JQ'8=K) MNVF:S:]7W[L@.KKTDQ<'3D5Y+A13W:/IQ3V:/-"R!\$N*"(ECL@)+7)"'\R3 MAM]J$2@6$->'W1&_%V_L7@1>W$QP8^<6=EI]VZ/$E3Y'#/W7RW$KVXROEKI:\23-AASC1S.',B\6R($*#10,+V)!YU*._2/ MJ:@; #X=GBZ4_]D(^A[G;E:D/#?^^9N=_Q&7BR_VK_6F^ Q[9));MHAQW(6( MA-0:*:Z I0!!+@XA&L\(3;+;"+_#WZ@;^CW1Z59(Q+7]H3ULP"]>QFE,X^5( M2!>L9@$%ZD+NA,D5!L0@SYQ)N8PJIFY-(T<_4[=MLAY>SA1T P?4KQ BKPWC M&O-9>NNC]L6?%O0%3M[J-FWUKM((!\5U?GQ-1 /,2:F1=BPAPDVTC) H2?EY M-3T(K-MM^81NTF!::P"2'^V/E0S?SN:_QBL[N6-Q,1(1\V@D1\0KD:L5. (# M[5&"&$19C%/RI<<:'R&G;K?E$WI1A332 +CV[9P\8V$4M4C&:(^$)7F 6;;; M%([Z*!AV*JEH0VFW_! M=?LMZUJQWKJH[79E@A^2_SXN/Z1/H+3Y]P@2_!3] M#,*!'[D'XNZ)PDTX&V,(N:T+6$L)\01,:FP<2DY:["EGW.E.;ME%9%1NU'PB MO^WI--5BG5R'A,E=(=K=+3'\7? H\F^R-@9-&'7^_%,DC\Z3195$$I'<*6\I M"BGD:>7P'Q,-1BD21AW$J'BW)_=Y)9)^@TV9/_4N#T%:B??C?!9N_/*?:V7\ M>.']_,9./LTF$_!0L@,\BM1%ZPE%WN1'A217R! F$ .O1+,4N.:EDVMGD/F< MDDY]4+9[T ^MP:K7=%LFC[,VHH01[2-%DG@XMIR#$ROGUX2U6E 98I2EDPK' M*:H+OL$A,1M,.V>C[5NWV74+XD*NZ\]L4A[WE<%(IGP?KDF3(YS-@@8W$75T3F M%/,,<9NG98/_A;12'BE)A-&8P6]*#Z<_0LZEUNJ4F._O.V:T5V0U36O(/.OLPFH;/'F/S?CY8]+ M M:#BUT>H7:CLU!(NO[";4QA:1+*,X-PC*#H)"@R^$7 % M>2+Y41BND5)!!4>!0],BU62$E1%4BAL-Q[$TG^TAHNSE'B; B)-A#-KXSKQM3^ M>COZT%'E#&,428_S"S[*( TJ1U1R)JE5X(27GI:\EY#*-T6%3Z)R,F\ .-O< M]H?T>OQ]'" Z6.32MMETQ59^CE5%)3$R>:PE<$.192PAS16QF$J?9.E2P.,4 M5:[ZNUSE![I#"LB_B4*^>\3?,O0QSE>V]I5=?%T-Y"4X>-A;!(&)=0A.=88L M@1#"*8R52UI%4KJ/C$LK$KHH@%\ MK7AY%%G/12BO//FB.$8KZ+/%+K@5?R\S*WFF59PNUNVGM\U>Z_!J]^>K MIOK%+ZLVL&"G86>>_NH'K^TRWHU4NS##\G04EDG;5))HJ5GXM]U.'])](C=C MSE9OI:_8=)F-;;ASFT.($(![JSD*DN2!0CD#:?+4<^&IDY2"8[_TV'V2-[K"=7?@$^TIAS^\NHZWRJI4C0.Z23 H<,IYOG!%"F> MQQ.P1.3N0\H78_3TKEA&)K MN"NAL,I%,9^R[-8GAK4@"TH0>-/@TD3XE<&6(!E%))81#P(I4 %S^\%FDM,5 M7,'S)=\"7#8HC\YI&@A%2;C\QG7PR&AO4& \"JRPXK+36,,N@*E="7.FLG;5 M?8;D*BO\M_%T?'VSK<[Q6A"2\^ 44(]XXA[9E+/D3$EJJ!$\=7H(ZH3*'WRT MLM+/4=FLA/QJ*][^=8]P&C'U%#,D.5&(4Q.0MD ]4TZD2)F4J411[8./UCD@ MBBG^;/DU$/V1^9F-?)2"1B (X%DT@;!GZ542E(XI1FL;#3>CG5 ME9O8FKB>>F+=/V>TK_LRWDTA^KQ95Y/E^=5?OMKIAV^K^12KE-#BW?3CJEMJ MQ+E(A B#./$$\5SAJJD-2.;;:\.-2+3T(.BGXJWQ&XG"F"VU988$T'_1QCJ9 MB!U1RX,TGB/A4@#I"9H?C->(6JFIP]N_K/ M[W&1![.N94-&S#'C0X(HF>81.%$;<'^90C%9';C00?MFG,$]]%=V"Y_I#KH4 M"+4[O[[8^55<;HO,'MWUCIS61L'_$ D2(D,X>Y%Q*2'8X]1;97A0W<;@G_A0 MY;$&==!77 //I["O]+/'9WQEH *[)W_<^,*"(X==Y !=Y+'-=[UP;KM<_FP" MT]S&Z%/\NTAN_PT$E9$Q(3#L>6KR#41 A@B-E,.!:*)-#)UNBO\NDAL0L\,5 MR?51?P/.[L/:&:5CD-PPY"W)ST@K(-Y:BUS@D5N.G8ZE"SQ_RB*Y7B X6B37 M1R,-P&F00H64)'?4$D1(?K.,47!VDJ7P6^*<$](1_N0QU#,ODNL%JZA="$$A3*G//;,J5L01Q<)B,L10'5GRB\-,D)I]!L=0E+L$3Z[Y9 MM(]\,-&D&!!=98$TC\AZRY'@6@CNN1&T^#S8O90T;F$+XZ$3''LIIUF(=1!B M/IE^FX5Q&ON[>I =72Z 8%.SUB#72B5"0>G!.)4)X\6;# MI^#KV2?6RL._(G :V$QOKK]-9C]B_!SGW\>;6^I'(GH_FWX'5RRN_;S%E]D> MQM_/EO^*R_RTZ]4T=[3?K;3^1[NYR)' Q*H\#30HLFJ(!#?.VX0"22IJ21+' MI:>E5F/VV6?C+MEVSP-B3;33#":J=3+S[6R^^:/\]\C(>VTL6"LD?2[Q5#D9 M%:A&Q)H8D_0JD.+3F)^4PV>?AVQRWUT.I@8.ON&J;'Y?R7-;9;.2Z%U)C1<^ M*,<""GF<"R>"(:V"0\QSD>?.>*F>)A :FM.Z@WV>JZ?Y=. J>-X5+"\ SWIV M';_8OPX\_-ZM?&#/*A>7!YRBK%#Z__8S^YX&MX02$CTX,9$B[C!#3C*")(-X M0W-F0/^%;<<1=A68N7,&+$W@V'$MD+4B@HM'*1>$^4>)I0-U3)?14?L604KGI#8>(C#(1695LL IC%TJGTP^04O?" MIC3$2LJ]Q>JX[?[XMAF=>\$9=FBIBP^R3C26>OUG\ZWM*.%;\&#L+1?<(BKR M%%@5*-(:$*1BX-AK)9(N71EPB)9+;>WV0V M"7X5!$DN$N(T+GUO_(" RJ_^E-#WKK$X7\!-W.GLM%D\G #ZX6:Y6-II *%! M+##V(\<5329RI$6.-42,R(G($*5$!B==BK[T%/U>!-8]CP;!UW *:L##>9BJ MR#/>5VR]6"[G8W>SS!GN+[/'L>B][/C(,T.TLWDJ3.:8,Y^?P A(2JRD]=A8 M7GJ"U.54U[UQ'P2G3ZS*!L![8&>^'D]NEIOK__L;=)2\]4Z$A#R5P".'7>JB M2"CY1*C"*019.J74D\2Z%])/:3Z+**D!#+Z8+L8O M/[D!__@MR#A?\=VLE7@7(=^*^'IV W%Q],9E[QX<%L(0MRDA1_+C0=XJZ;BE M3)1&9A'"Z][B#H+7IU=H[:[ 7196CLR+:=ALT3 LIT>F ,7:]V_V0EB\EE ;$AI-V *]W(V4B)037-5),WEN/EY M/1.30,X8*0*Q)I&A0_GND4GQR'=0E>\F="^6?X,@VLAHQ$EP*;\+'+C'B(<$ M$98GP$OBTE":G[PHW7UW@)0Z(6Y-()VC@Q:O7U_>+,;3N%A\CE9Y-,*]YPV\I<12Y+P,N>8#S Z7 !V%X4\E M\\H7GU%S@):+KW$W<'(.P^YD47E:.OP[3$WE&O A,72AZ)_)F7;WZ-.K"-R.I_=^5O9HZ_*E(4ZX MWAP.?=#9H&@(R2,+Z$0\1O@52QAA!HZ6(3&E5+R3>:"#[EYGW,X7[GD3+W]L M?KCI@8N:X1Q>!)'RV]?:(,N=03[$9**%R$,6;T#L3V:CAV,?[!P9;S&(LAHX M-C^#BM8UD0_MP&+5[TZM)A&< $0PS\]YN@3",Q#G&I4@\"'1^^+(.T90,X,N MAH'#H]G MTDB!E(E1F&!HT-VFYYWZ4A,'V3D:G TESJ:PL6FHV6'':6PM=GF N0LY+920 M]AA"#DD3Q!XL6,GZHV/OMYJ(X(KBXW*1-H607_*[T@]YT+@)RKW/Y8!0QD!5GZ;YM5LNIA-QF$]/R WF*T\ M+:XT\,,E,C1!;.C@-+0R6>099L1Q'TGJU&APXI&:_5]O9D+/H+%,(>DWAY_- MME)*>8$51UX$\- M.% :4X:8L\[BJ+'$PR"H9AA32J='(7*&@!N(<,9X?J85?&8\92LXQ'I51099N43A 2KWG MU@9!3PF!-X";=;/.[0W3K[/UT*25=0XXN.2E1M)3B.A89'" $XIPDL)8$IDL MWAYUA)QFWDY[DLO<4GII%V+;]Y%3XD&#:##'!G'L(](60D1K4A"!41EQZ5*R MHP2UT"9>0.W=X'2&#AH 5!YS _O03FYC2YVLP\%R%%/ B,L\%%$JB5*RVBDM M&0BJ,(@>$=$D<,Y1\*RDM!N R^&D1\ G%%\$&M!?=32VRCED[;XE74>PFI?/'XQ)[5 MY;IH$5";':BQA[A#>,0"UWD.%H'-)R6$KBY&S)27JG2-[P%2ZAZ'!91\"C9G M2+QZ=F,^^W?TR[=Y>Z4?&U/*,"$8&X>H]AQQ8R72/N%W-!Y@*< MO<5JX-0(6V&9%@I%*7-WI[1@L2E&Q-+DE!&".E?\4.M-9A-U0 6Q\NC\&U9Q M5\(8 M#>?OMOWFJA<&@A3 TB\=ACX.L)G M_7C3B?QM$E>:@MURG07XOVO%;1GC6#OEE4$!F #&0GX23@GD0B+>4]@YKMN0 MD3Y?K>SG#PJHP:1?&U:[\X9A68B_\SS:>QP?9-3$)"/+#B*!_<,#\$B]1+!O ML$U:I(B[5=Q>0D7=Z3;#PN[)M%,;AB_\?V[&B]7,A0?W/\#;N^MO=CS/0EZ] M)\0&DGQM0'V.R^5D ME>[ZD-['/W^S\S_B<@$[YQ40,EY^F=OI J+A<7Z<#PL9!0-FH@2VI- (0F"P MWHD10Z@B070K$N_^S4Z TL\34 -)_ME-#MC:X3)"*V0\ MC0A;FWC"3N._IP44A$.O:0%]=-,"T!XTKPD'_J,V DEC\D@BGI!3P(OPA"21 M/%6:#6/16RA]**C8H],"^DBYM@O_:-34)G7O7?3.,X&\L)D'!SZJX1JQ%"+S M.@JYF^8^X*\?^$ 3Q]8Y^IH5%EX[-N)XJ")Q .4RV!0J6<0U6%2-C48ZS]H$ MF?%HAW8&SZY[:*KY\Z*CJ;2F:IN?_7=O+Z8Y27Y[QQ:36;@Z#@5 <>5NFH;3'T M",RO)-H8Y 3-/?4F@DW'&E&>'ST5@0=,.F'FX">>01G"V4 I(]?ZF>&MM+8. MWZO9M=LTLSZXDIWDSZWO7P5X@4F WR)Y?>8,QQZ3;DQU0\ M@S*%2W!UH=C;P<_]C.3(6Z>Y3 0IFS-%P1-D1&((!ZXH#MA)5SJ8O__]9U") M< EFSA9U.VA9G=P?'E;GC"1W,B6!$5,KX&L.P)L8I(T@KH_*+[MAYXB,IWA33 M_^UJ\VRA<[ZPSS_39DL[&::ZY%Y\N2C]R%+GM2^N)#F/BT+U(_NB]FG(W4[+ M>W3=O2- O0LQSY(2@!,N(\Z/]T+XA2VWUE-'0NGMV8_"5\_+'_=^ MM\X($.&LI1SLK-:(QWR,(>P3%(B7WQK&Q/&NO>B@^(L,.U)P,HKP&G M?@]7J^RWB3)A225B3&'$([;()I >QAPX<(S35/IIIP.DM%)L,H3^#]QW7J*, M1C&5?SF/<9-A9P$[SL#52#:P_%BV0"[F2Q0KJ!#2,1^'NE0_2%0;)NTBU7> MT_EZJ)W;^\<_5W&OG_WZZZM-7056(A$'Y ?J+QV>VBX0'.S(!PY_$$&+I@NYG-86S MEX)/3N'L(^T&X-)OOJ,3/J6$-9S67L!_*(&X5L)9'H..27%JQ=]3. > V7!: M:@"">QR&N\MB%[C4*05$$S/ 2U2PG5P>9:J%QDEK2TL_&GN,GE:FG=>Y'SA/ M+0U![-X=7GY]8!Q6F4R05FY975-&1HQ'1YPWB)EH\HPCL.4:9$@)CH;%Q%DL M;>3ZT-=&477S<_"2// M!+?$V^S$PG^L2,A1#1M7,*:"2D303H\1]8!?'_KJ'K&#P6\P%=6^R=JSKX"A M?\[F?^1R1/MMO 2'8E5^G_D?*N6ZEZ_V^ M6_=<+8ZJH27?@$V[OR'R],E[LAMQ@Z,VP(7&V3Q+L,R:.@?\.*&$P3[XTNU: M1\BI6U\\F,4JI8 &L-2C]!Y<6$X]"8BY .$U#A8\6DV0\E$83[VDOO0D]<(= M$H-5)3^E:U9"/6T"+R(1M1:":FKR?$H-^PH+Q[PW*IK2 MK1+=J:M;T/R4P"NAG@: EX?L_CF>3$:"4^(-YLC;'*$[#^+Q$2-B*,3N&L1C M2N>0MM^N6[@\&&C.$FT#D-@#]H_SV=M<1'>OEFXS[_M#VJ9H/X^G/MX3XNO< M..F7-W8E (J5Y8@HGIN]"496, U!,V7PQTD*_P0FZS(FZI9"/Z5E>T)E/QNT M;WO&/\QSO6\G.82(@S$@!^U(WO5.(>N\!]>7$.PM-<2$*J#OSTO=6N[*V!]8 M]2U>R^0-[V_FJS[1KW9^%1?WO)VUFX.)<=SC@%*2!BD<)#(Z<03BCI3"SE=V MIT>EQ_7,Z>]WNWO&SP:23Z6*-@WNYPABA^TS^0',SJZFX_^-X=[PSGO%_*_' M"S^9+6Y X?=DG^6P23V&E3AT#!%YS7U^#R(_XA48BH0$9@3&TI:N,AB8I6Y@ M_RDR+=60\#S,\/WAV[8K4<4<+VN2CQ'3# M[/-)SU11TO, Y;LI! >PRH_/R_CM']\VVV^74VO'\]_MY"8N9FG5&K78;D [ M#;^.K1M/X-_")ETL;JYC*-376(Z0HDV0 \FG3L>DQWDDF\)@+J-$7%"'C D" M>1.,R"6VJGC)7^L=DW!P&&\,HH+F=]9UGD>F$E*,1QLBM8F4[B']J3LF^R#L M\H[)'LIK*&K;[=1BEELX-AP*6JE1UI2B$*STA%FB5.FNW9^D8[*/_CMV M3/911J.8>MCO1:/E,6J(X/+L34[SK" )OXTV!>V"I8&4GH3R3#LF>ZF^=\=D M'SW4#EKVM/HE&@WL,(&("'EP67!(YY$?.I$0X4>1D&YOU#V_CLE>FCO1,=E' MC&V:E[O@*R9!F8"M0CSCN<,8S*_$!.7= O+"%/.A;@G/+N=OJ&>R[.%UGEH: M@M@]!_/NWO)= -&/TSA+[&&H]6)?J+7Y*UMG%'M);6Z!-\8DQ*T-2$=*D. : M_F="3/P)TH>%N&G.2IZ)N-,7V#74_Y-MA%4]Z32\@;_RW4YR+?P(2!8AOZ-D ME /O1L6 C#4$)0G6)B3C9?%A9L-RU,:&J(W; ;?3A2#ZV;;4S3SC8OTW894( M0H%_N1A92H0Q5B"?(';@DB=DL-#(<0.6CV*GW%!=C4/RU49OT,^\O4H ZB?; M9+<)EY%,1%*3W6.9'P^)><0DX0%Y;JFB5ANL2K>=#,)(&\U0/_$V.@\R/]F^ M>6!+5B/#1]*G2#472&H+3CD+"EFR*FEB-/# HV&E!VL/RU$;K5\_\4ZZ$$0_ MV9;Z.,^ST9<_/D[L=+EQ@[^MFCNU80$S8Q'+O>H\Y*G6B5LD=!+2Y^84T[+# M=Y"Q-CK>?N(-5@92M9,#)25R^[#%K]$NXJ?QU=?EA_2/Q>:?CF3$.&K"D?'Y M/4V&,7)Y1+C6UBON#9?G5^,-1',;W7N-;**6\=+ <77;W>8)4T$JBZS-CR5H M*9#1)**@I3226+#X<=2!6VFA!; SN+<#F[-WS/<[=K,']LPJ@WL^F_GY4 M-8INAQ*/U/,\/"O MO)OZR4W(\S2W9[;5-*3@,6))F/SLM,D/"0DDDX$_IIP[$9X\:#A!=".]F(WL MH:8A4^SMJ3:.J?M_LM592HF9Q"Q*1.2WVZ)"A@>,-%:!"Z4,9BWG7O:PU$8R ML^GBF4N!\).%/YO+\/L_\'YV,UTN/MH?ZP*^$$50@2 JF02CH446C@=9:4L# MHURS)VBF&8[!GZ>^YF)H#Y]T*82SG\K/\WY^DT>"7>>NRVWGT>9]T<4HD608 MIQ1%+B*()6ID"#C"S!+C3?0@,?GT;MY1FMLXA5K:42V#YF?:2P_OS>_]?&-^ M1@2G(+U+2$CE$#<2(V>H10+[R#@&,\.>/F@Z1?7/4UO3['XJ"IR?S$6\NY&Y M][-UW024U+6,X<8./,JE\DR;1KV#0]S]O,4X;3L%!9"UG_% M"78GJQ$-ACKI&"(I#RRF@6?U120-4\'C1$")[1QB=X3_/(4WS^\<.Q,^/]E1 M=N]/1A0SH-90Q%@4B$=!D!:!Y?LIXT3TA(66N^;N_[T7Z M-F^P_^R.8$F,"-AJ.*0Q!M5X"V(@-"(5HQ+!1KHI9=\?\%I\$UO?# TW^NHC_.I.^"+5: M&C@-L$X$<>$L,LKBG-8T0>(0]5.D\%J:].65)]S!KF0A/Z09E$5.$(QHGM=' MN%6)EK;)/_6DKSX(NWC25Q_E->2:[TX8LHY)'51$C,8(+IM+2'.5;\PX]M;2 M*'<]-5'&8UBZN&?8SSSU]!]G=W]PHKA;E% MT2LX$CSWX'M:^"T#^>&0E)3]GG[J\?&&KW3/ =>3Z*!-RW:(Q9=V,?:YJ4%1 M(CCXGLPBSHQ"-@4&EMMP&9R/E@SU8F17&NNQBM3$ZK^^(7YZW.Y*-0;NKAUZ=A\YCW"[\&=R:N7$;JP"=73TVNKP2XLK =#4$J:(BJ&*5( MAQ11($2!>0>+3TO+H0=Y=_ <=&?*>8A*M4""]+A"#5>_!"WYW!ZT''VPEHU18G;-+9=L"(#97 MTES@H*232 8*SH')CS/YD!\XT59%&1GK]H9\%TC4O/"_0%F[ZCY#_G6/\$ 8V#$KD'/&(TYS)1J6!FD?L8D\6I8Z=:"<4OS]C]:)E8HI_FSY M-1!^/SCU\GS)E>F30G%CA4!>2PJBT"2_:,Z08I1(9X,GK'2$O9>05A)VP_@& MY730(I VJ7'.D.,Z(*FBT@;;H&CJE.38MWIC M*#A'9[.2 FS-=&2;NK*PBSC_OG;$/L_!%U0::2(]$DHPJB,6GI>&ST%BZ@9>PP"HC.0;@-!JH,,#Z=QN!66! M!8NB,ODU"&Z1EC:A1*5FCOG@8NDVD4.TU/60A@%0$;E7ONS[#$I8=21^]G%J MY^/9ZEC'7CDB!3B(AN1*XSR,1UJPICSD^G5,;-1=@'/BTF_OQ^M.AGF*_,_E M,J\-F@W=_Y@NOD4_3N,8MG%K\EAGJK'-4WHQR7W[7J'H!!'.)@WJ+P&<0P34 M2QD44.JLM(0;@ M[O]Z18"44>D>D%P@WP:\EW6U]NWV^37_@VU_G1&*FN0EBM%[Q#4FR%@?$.P< M*Q2Q-'2#2@\'Y@@Y=<(:!(XYRCX48!^B;0;@,OG.)GDYR'B-,YM'O;S(ER/ MI^-<=;@?6LX^ M!-:] QH.9L-IJ04(;@6V+KSL48+J#MI[*@^KG$Y: -B:]NW@ V\"Q!<)@HWD(/;0##D"\8Q(SAJ< M(O.R]''X@(#*QQCUNY;$TJ=8$X MAI%UJ\ML%[@/UWN=!$Q N(,ZE!YX,1EX2$;DR.A7O"^U"5]V7DALH%CI/ M0ZVA[J'$6YOD#^>%GRY%E)GAB-)7=\F>7MR<^HJW9 M>J(S47$,=J54U!KT5EMTY 3%)!!$5<$!BGA:<$*;*>:-MXJ9T\/:8BKKG MXM/"J;_8JSO?=QWXNQOCW?4W.YYGKV+-EL(J$BP"$N!=@*T7!+E@"0HT!+#Y MEMK=8K5#3GCG;]:M"1D,.T-*OOG9!W?#KA]OG5(C$+I\H^PDA-Y443AHCAOV(@@J/.."LY(A:#'#R&V,@$C32+VBBA MP9,M'3'^A ,1^J#IDH$(?;35@!-V_'Z/N,"4(@)1'8$9[AC2B4*TY*(,C&&" M;>EJR\LOTYL8I- +!KTNT_OHI 6 /;CG88P%02%$T?DFCUMC(/RF' 7,M7-. M7/P2Q61B+J#$4Y[VIC5R MPDL$,F&,X\2M/>EL=?M42U?IO71X\"K]8H$V!8_]B0&BH@O #THQ,3C9;4". M:8)B-$00)RT5W=[G+91K>:(K\S( N5RD#9PQAS( 2F(L+->("I;RG'F)M 9A M.2$I8!]KKGQ#N9;ANFDO!DY)23< F%,]H$1!5(!M'HF4&^XP5H#_@)&)&FN5 M3V-6&C@EVK&;&!-RB>=;4B\-P.QPCY9.T9@D)!(LPA%L0Q:2S<5=@@MCI&2\ M]$7W,VW'[J7RSNW8?>3? ) .-09C*S')#ZEH(37B)&%D.<]35HCDS%'F6>FD MW#-KQ^ZEZ([MV'VDW@!X#C<%*\&P,#8BH2D!4QT4,H[DQUBPA"/<:D%+OX3X M[-JQ+P%0&&@$PX 8[ JZ0(PLGDB)=:DM+GV'-KQ[X$ M0$7DW@!^.B4FF5#">RWR^SG $\[SV16PR*77GD M]WD::A%UBQ&XDC1&()X(,+GV7.D3[\P"D[KU2KTT?;K MI(_8GU<]0!;;($4 ]Q<>,/-_D/XG3_=[H9CV @Y& !Y@1'MD!13*,8"%*OS#YDZ3[>\&@5[J_CTY: -B# M5(.AU*G()(B% _'$0,""5TUBR1-%)8^XM$U_-NG^7HH]FN[O(^6F\KE[L].. M88&E2LCSW%.8[T>L2!J12!+52BIMSDCGMI[N[Z7#?NG^/@)M"A[[<].6ZSRI M@Z D6(XEB$268XQD(#@:[(S1':NZGU6ZOPQ +A=I V?,X22T%M%$"R+*/I\2 M!AD.CI^$TUD3#E@OWJ+T#-+]YP"GI*0; $RG*P\K)%."&Q0C9B"G$) C$@PF M]<$+XR63I4L3BUT_-I'XO\0'+JZAUE"W8>;3;#)Y.YO_:>=AA(EQ6!"*:!(! M*1HQOZMZ6BH^W9(Y)PC]0:0\]'^6-U@@#P>L ,A1,+$,HZD MXR0/? W(PNF/!/$13O^@HB\])>D0+0WUX!9&4!'I]T>16:-H&J^RQ_=EV -, M<9PP-0:EY&!#1*V05C[_)WANO300P+1R@ TVLOW)#[ ^4C_;#'V/S;[_/]&']0=>9.%\&>%='4PQ6K.&%GZ6FO)!K14M[QKZ:+,"^GIITEJ_@Y9UN_Q[)H M1%'_,_OSCKZR%O# TE5>;CA+<<=E4UF!MV?J^#H&\*]?S:Z__6XG%V^W8^M6 M&0G=2W4=I-+"QEN\ C/GC[N]L;NA7S-QQ- T?)W;ZWE['35EJ69T/0F+5!.Y^ M,.P6P0ZHF0: =]M]O@0G[<.W>YW29=%S^#MURV.'U.ZA1O]#HFX #BO:7GR# MS_OQ2A2?QE=?EXO/+SY]'@06I[]7MS#M">'16?2U_;Y]ARXX0IG#\D'4=N$N M,#"#^1AGAU$[MN[:B?3CNMK[9A(6E#9 MF[_F_N-\[ OLK[NE.BFG@8SD(^9;T,@O< (L7]ME?&O'\]_MY*: :O:LV4E' M#>0A#XNCLK(>[NP?O_VQ7$'IU=?IU4=_F=D[L70GU=5-37833OU)"?LK6=[, M5_F"@4IP'J]>I/SF!-$%2F\^13_['N<_/J1'WWH$AK-PW^D#%VS9S:K;SUQ^ M.;]WP6KWBGWTM7T=53NLTY"^*].GPSB MG715RM^)D[\3)[UT\WXV?1]G)93R<*5ZB<9CLIZ=8+RAJ5@!ZKK;VBZ*R?K8$3>WDQV*\*%/; M='#1:L6@%_K>!\5367N?EW]\G/L/\R^+^9O%J58J>J]4^ M8JNLX0\W2[#Q<(Y/KPJ:TL.K5BL=/5>7)P74S@'X?K;\5[P]J6.I,NXN'ZA6 M25K@L#PIMLH:?@N+SJ9QRVF)A.B!):M5E)ZKQ>.B:4MOKV_BEUE^\'RZB,#G M-,WF?N5:7VIL^WRG6K*[D(:["+%!M?\^GDU68OZ0_F=V'5_-;J;+^8]?[9]# MZ/[HQ^HESDLBH(L\&X0! MD67K%1 4",+:]/7V$%@XCMY=MI,2F[KK.BVCAK("L[B N/!3_,_->'YK5\H8 MY1Z?Z:3DIJZ^^LNPU2J@C]^'J@!ZN'*1ZI\CQ!:H_/EH?_R^^!CG$&U=YW<$ M2Q?^=%G_@GT-PKF\UN=VD6H)UQY:N+\C=[FOG1#Z*_J;Y?A[? 5FXFHV_W%Q MZNI:5?>LX[,U[Y(GDQVR1O'0D4DAQ>N5WUU5!6S?G*IK+J/<59 3W>K MU*PI.2WKV1'&ZQ?Y $GOBZAC=ZUZO= ]E7) "'_7*C[E2?-W?>+?]8G]=!/^ M_66VBL\4]Z\)[;:5<72U7 M74O3Q?1W"YOW\\WU]?K>:K&\A,YZ?ZVFIW9(8[,"XFM M[9EF8''Q^;M_M5@6TN[>16MZ=AV5>$P8M8.?TGHZ6T?#;+13TI]U$T4C6OHX MGQ=7U.Z:]?;3&;HZ()#:MW3_6?YX\><\+#*)!52U;[UZ$Y8[F;TC(FA%.0.[ M(WV^4^\>[XB:]FGSV?@@#QA[\Y>?7($']>G;?!D>LU!ZAW;[7+TFS9XZ[RW! MRJK_U_S--+S-XRX^I%LF?IE/,^&OOL_#O^8YEQY6[QC^8_I]L0P% '#V1]O8 M^OWT.RLG[,I8R>'5N^F&_EU*=_D!9^-?\Q+G^?E?;<-HG(V6B\5=&2Z_ X-7 MKY=[\0Y\P(]O85\ )OV_5LTI+ ./L\7;CA5YL?B0-FQ\2"L$W[)1&!UG?[1: MFV=Q&W*6L&N7,6\)7],[#8_/S;7A>SL)*]Y>S:9A\7H.ORB%G$(D5&LL+8.C MLHJHC*K7WT-8?)A_6'Z=OP$*%Q_#A^DM-^^7^<__7'Q*$Y_9^K*<9 'EASU* M0:K$]ZLUMY;!4T$5U'X4)]I<%W=Q*O/^.M4.G6.)S#V,UK[HW5!;IE;Z\6KU MJBTN*[]LK>WDU>QSG$2_C&&#H8L[3O:O6"__?YZ^CLJE=GD9D!)N:[$^I#3V ML.[;:9F]=GKU>B;P/%UVEE=MFQGC_)?Y[.;;N\7BIJ!&CZU;S?<]UXZ>EE%M MB_HUS^X/MX26TN*Q=:MYG.=:U],RJKX79U]F2SLIT;ZWNU:U*2EG[[F]LJBO MH1=^>6,GDQ\?[3@44M2^):O-0SE?7TB[)Z%**G$?6O7&R]20)=' MA-6"*;TEM;A!/;ARO<$@E]C54X*J7N=S,U[^R$^;K$4)XWZJWIR0,]5]GBAKAXT[9N;WQ>H063W^]G4V 2E_6I:*)/M]JMZ(D;/O M[LX197/Z?Q^7[Z9^=EWH#KW3!^I-&BFFZ\-B:T[#CRZ9A]+TD0]UTGA3=T=G MB+&RYO>8G\SYYO*KC-*[?J.3OENZ?>HIO.8V^8?EUS@?>'_O_T8G5;=T<=53 M>+5WM74W$SO_=;Q8%DQU'UZUDSI;NLXZ*:#:"GQL62Z]"3FP9*=JA98NLXZ+ MIOK-_];XEU?@J;4[:;*EJZR.PJI^;.ZX<)?J<>^"G937TDW&,;'4'G6:3^;, M42&%[5NOD[Y:NGDX(I06[HJ+/(]U?Z%."FKINF"?&*J?9K.+:^ZV:W321TO! M_ [S;=0+7ZR.OH6/M*5XN\%ZQ]GT%VN_;0A['1=^/E[=YQ#R]?"&T.L;^W70Q!F%^F=O5$X;S M>2[ S>/Y=QJ&+IQI?^0S10;<=V6CP+3[1Y]Z!(LSI\8>7/:2J\S;Y5[F)U$N MGW._=\&*(U5/Z>+!Y>418=2^*FQ)VEJNGFJ+3W:J6A-L47D\D>6U)F M[NKAA1O0U9$1K"<%\O<([UI[Z.]QWG^/\^YWH[6<3[[$^?7B0_HR#X"O,M[\ MD66K[:%^/L)IP53W%#)5)9X ?+A2M4;LOC[<'O9;4?0FM6ZI?OIZ81(ZE_G#Z&S(\M6 M:X_NI[;3@FG" *[HRMT4=EG""#Y8KEIK]#F&<)\@&C*&7^;7TV596WAOR6I- MT>>;PL<":;4]LV8)A?C]>OBQ>RA+LKUFN!/L<:'I!' M$[IZ\]>W\;RDJG86K-?@?(ZF]DNC"46]OED35D!%MTO5:U<^1SF[$FA"+9^C MOYF/E^.X>'%U]>*['4\N+I0_LFZ]AN-S%'94-L\C'?QQ-AE[8.#C?.8'3 <_ M^,P Z>##;!1/!]__U".,%,@+[U__HJ3)9OEP?^E2L??IU1M)'1_5V\-,2T=Y M54^&[:/S_6RY(;7,?7_WKS1R_7^AGH_(;WB+OOE!_H^SB_C__I__'U!+ P04 M " %:2=<](,L(WD' C(@ %P &%P;VC>%@7Z<4%)(XN(+&I) MRH[WU^\SI/P2.T[=;J^7-!\<21P.AS,/GQF*NBCG(][K MM)E0Y41J2#K*1&-5-1:?,[*WHM-II:YT/3=J7#C1[_5/Q&=M;M54AG:G7$F7 M"ST71^'^XL@/\T'0[EFWX^.!N!%+R]R M73F,9] _7 8U6\HOE) M3=X7FOCA*[$+]I,7AS&)[WSN-?Y3>AO.\(]1_2A'ZM[2("R(PF8O;2L]*RL84A4"UXSF$SY0I,T-:4>@-9;PW3=(9I3M$M$\E\W0W/'W?'SP)W)')5(;(,DE4D M(X .XF@V:^VJRL$;TBGH455:-AET BUK88N -,5<4R/8C%/&;UFN@-ABP&X, M#:QGBA5'+-&4$ #Z-"#BA[/>GE3:0N2EGMD%- V-E75&8B#)#X/=L#):0YA= M&+-E[?,'V> I@>S3O8B\.#SKQZ?GMH51F_:9#'2>*]SZ6-T(:!1&YU2AL=6O (:,@*\0LBO M[])"5F,2[\ ^'YL2$O&Q[,3#5_3:=XV'6;@+MXJS8!5@R?H%4]0:6@-ZV):] M!\KO#91C()[G)H8AP1G\V\NBN'_R-( I7X?Z8OL7NQD4SO"7SQY?#F;$B2V5 MC=V_"V>8A,1RI)"S=&.@ )PP5=8S#:2H\GJX%EUQU#K/&2JECW2;M%;1BEH. MY$8%OH(M5IB%7:1(^0A-=K!UPEQ()@//2G[-L9[LD@*=D327LOVBU M[;_<]\85L#A5&<-%6FR F->D!=2XAF(,29,MX@F$*9FH4KDYI[6'AF5T^]#[ MJ 9@WA-=J\$\?=ZU$ZH;4P-5UJ?A--4F\P;X:FQ,%;)K"7"AA6I&+8N@T@P M KI5#0;["2"4[H003679^!7+_J4\1VVBIO",?:#&6&:T/1@HW#Y<=GC$H"/8 MPX;B)M&-VVW!/APIE]+$E5O^Y0I;)(N:T"^"UA.PQP>0<]V\T;PYW9< M>*?5)G#?\F#POX(M.*OH-&T,>W^-PE=:7R(S:.OPA%\D08M-H:+=LHM7.TS( M 2"LX WIUF14R>2WA[QSK)JE1:^#/86TRTS':]\#CC)/BMX3+6'-L0F\I;+= M*V[(1W_;.7\/9$^E_!X^__+;OS%:KHAHQ0I,4NO87!$$H^LKLNU6Y;0T3:)Z M4KW_J*ILWW5RE*,2:MQ:\24D5(3AM1;YSC831 BN\I-I M^?O!5Q4_23K;709SULH-EDX$QY-?[0B=?P'7QC@*U*^JJ2ZGQ/Q?R7'['M&T M!$&3NM1S0NNLT($5Y#T$(>+?)2UVM^*P\[SH"VU/X)3#G\6\AYL]F8C5U7\D M4J^9B],H'--]R?A$.Z-EEBY';YJYO.G+9=MLP[AZ? M#7,DWI:TO&5:@]<[O MK;K(!,AMW.XNN[X1V/E91/L;/M(X\A^'_ 502P,$% @ !6DG7#!-O?]^ M!P 4R0 !< !A<&]G+65X,S$R7S(P,C4Q,3(Y+FAT;>U:;6\;-Q+^?K^" MY^#R DBR)$N6(RL&QW6N?T]5*S^0T/D].@Y')U*CE MU43IN=#JS8D>I2.ZZ)ZEJM<;#D;]P84Z3Y*NG%)?#08)G?^O=X*N$(]]G%_F M].:DT&4[([8_'O0[HV'E+Q=:^6S;GU; MYGI6CL.03F+757-BCJ BUR6MO._UV=_WMYF>:B_.>IW^76>WQRSM#,/VIAKW M+J!VR^T$\TSV^_O][OW'3]/^N==R][W?9_A4G%V\K,B,1[1G-EM2/7$M=ETD&$7C_M"/6/*4+_ ME@YQ002*I;@IS2(G-:-6#%03'F5@O33( K @=2EDN11UZ6U-7 M25XKZ 1:ML+6 M(T^-+ET#HR;M,QF8--5X#+&Z%M)20 6BK*!?.:E,2:TLQ3YK: M0@%X:*Y=8#=(41GT)<;-3@2OCB3:Q5VBZZ> M.JVTM)H'H&,Z#VQ?LJ;:<8H-B]&%?!RXT#B"0]@GADX52D6=U+ED"L>P@A.; M5(T>,?%OUROX-246!,NB/ZEO9]6C0>_T*-#;T.I=\![,33L8/IS5#H8RX#_7 MBA$JG2DET[=T0#>7B@Q;:=4*0@"UEE.=:[_D[/V065Y0 6T!2'$MW!'=*C5# MEKAM!E35M@*07:@VDL18%1P(1>>,2A01.?",%JIXH; ("NJ(62PH78&H_P*H M38X"M2O.I;G,ZT!,'%-*4Y1]>HYHN ?*MW6Q< #1QL>'*[J 4G0$2;I8-TY- M[?=[<$@JD&MIXJ(X_?+F14Q7Y798>,U,P)\ ,C;PM(&FC@)H*WJ,(=R% N^; MFW(LM#R(MZ\@1<[7)DEJRP'?2HX;K2^0,/'@M#B$JAH#F#$RSTNI, L MB.J>=.,R]CP4-OM\#E#6:X]>17\RZ=8U!%-7F)+?T-YL_._ M)]_ZPY/SQW!]+)NIX3'!^MLV4^'\;[TB6ALB8E[T_T&=:?&E0*W*XT_ M*7@+!(%G')([_N3I>+3CZM=9P M/RRQNDS" <&KO_=,CYR_^=B&"T -?/'FE+>YB28 HLG!Z[W+@N0-)]58@(6T M&DK'<"*Y.L+Y*I@UVXQX-/ A4F%CH[6#+87DDW!B2[ %>K"5LSL#FG=U050 M@5D*@VERQH.'77^1K'U4FQI.SJD%0[00:PJD!K2$4^,&5JV8X70Y-_F<.,V5 M/GZ("?C'=4AR;;A92XK1^/5 MCTODQRJ7R[$N@\70Z;+1-37>FX+576FN1.:3KW:;1L..^?]X=[F;J>WM^US:@?]3F]TF-K3X')T&S/C*EF^.3D[ M675H%NVX*WIA9E?Z/B/:KVY9>/MVG)?\_7F,4_A= =^-6!I@R8>_]R^EUP![ MW(EI !@^&Z@P5#ZI$ZLQ?NNL'0>%A!G=-XN/SQ8'.G3-=*X+\2[3E(H/:QK_ M.=;(]SY&60?[-## _QR[SN7RKAP1S6.![1SVOGR91/YP"+=31L-D/[ZSJYM"'"YHK:'(!\BV[,S\\PSL[-C M#UE+;&1Z5]\,CZV2XD,GF9)BP&V#)<8,-XG;'7[2# M0=!JM=M^;]&*._U>[-%69Q#0I/^GWT!57%[J%'K#Z7$C8\)94>,_; =NKY/K MZ)8E>A7ZGO=3PRX]&:92:/2G4+^\+,T\,Z;IG78(9TL1VI :I6HMCB67*MSS M["\R$B.;\,.<9;2 "WH+5S(CXD.SH(JEY9J"_441#B*SM[J7I]W./)U?S\['P\ MFI]/+^#R^FIV/;J8PWRZ,X@W -KOP[4[<\4PL1P MGBM6T*()YR)VX,IEN+IFG*8JH,(\91%7 3\)EF*5[D:U6L"6IK"7Z_C*C:D^:F%U5DF'UI M(B2)S,U1M*VWO= 46.5L1M2""%HXTSM.-S"*;6),@3513C0L2(&6D(1L Y^% MO$7NEG1_K]./7EB!44Z2!(]$A]-4AZUNW8J9,(2$CFG.KU^E!_YAC?]5/3]F MH^NVVB;Z.6:BVA;IFN,>B;$&N"G)^S)5],N:*6I&A,*D:%9NL#KS!P1WA@*_ MN+ M*&%%SLDF9,)ZM$I196LAM9:9,1?=F"8:$UX=\+9B2W$U @_Z[J#7-5.PQM%7 M)[7C:D!V[8!\I)/GLG;'[07MG6+/]7?*OF6V$[A>">@?S1Y9R"5L)*; ?!\W M6HU:H2K1,,COP'\\ INJ?Z$1^ZX=:N!7(G!2W4#/ M#HS=_T3+D6U*SSKO5UZRM]KAD_?T7!:VWX>*K['KSV?D9H/HO/THI=(F%C M&_-J$HD2HE*U(0>DUWZJ%GL-J]B[OO62A/[ZSJYM\G:^;9 MV5D&:Y4F9X,U)='9#X,?+0O.1;A)*5<02DH4C6"3,[Z"SQ'-;\"RRE4CD6TE M6ZT5>([7AL]"WK!;4L@54PD]J^P,&L7[H&&<#)8BVIX-(G8++#JML= )VY'; MZCE^A_JNT^XU0]^G#NTX'>)[/>=OMX:JN+S0R=4VH:>UE'%K3;7_ON_9G5:F M@CL6J77?=9R?:F;IV2 67*$_B?K%8V'FA3%%[Y5%$K;B?9-2K5"MQ*%(A.P? M.>83:(D5DY0EV_['!4MI#I?T#F8B)?QC/:>2Q<6:G/U#,1R,S+S>%=%VT$3" M.*VB=ST=[_A^S99,0=.SO:?!/LZ9R!6FK436=[MH]E'8(>),Y>O'/1K/%I.+ MR6BXF$POX>IZ-K\>7BY@,=V;Q!L(VNW"M3VW1S;,QR,3N-ML.?6W'/)P#L/S MZ=5B?/Y>0"ZA_7#DMIV@Y[1A>@&+7\8P'\Y^'EZ.Y];TS]_&?\%PM- 2SW$. MXGTO^ZZ;T_]J*A,.H>"VG"L-3X<=3W/"48BS0C?FCB%D6D#E.M8GB(4T+C(, M6$1 >81M^%+\ C&]^&:\!7% MEIVF+,]U$H_#*:*OHL%XZ_ [D3ZSU>J.E5.IL3N22=903!4N2 MHR6$(-W"#1=WB-R*?CAJ=8,#^1=D)(KP0+02&JM^LUTU8L8U('U+M^;7Y^BQ M>U+%_ZJ>GZ+1MIN^SGZ!E2@W1;Q)<(>$R(%$$W)'4DF_;)BD>D#(=8GFQ?:J M*G],<%](<%O'T@((,*YS7C5:\ZQ5H,&+&M.XD MN&J3%'P0V/N,S_Q9'[%?E/?_0ZIW4(D*CA["LI9AD"++A%;2I9 1E19&F9 L MI_WJ(8A8GB5DVV?<>#1*06EK*902J387W.HF&I*D/-X-8POQPP!L.\40K'#R M55'EN13;1M10T4N9W[']9G>OV+'=O;)OF6TY=K/M'62V84(NPD9D"$S) M*G,UR#!5D; (JAS?"6K/D<)[VT3/42S=-V%\)S#?"5[GV%O-X *_$HZSZ!8Z M9B1L_R=8&J;Q?*6M/;MM9R(W?;LO:4+T9/CB_OW 3=.\G <5LD2";M1^E7WW ME[V7^?*[^&NA8?[2^!=02P$"% ,4 " $:2=<_*R%Q =G 0!E0!D $0 M @ $ 87!O9RTR,#(U,3$R.2YH=&U02P$"% ,4 " $ M:2=<4-+M,S$1 !CQ0 $0 @ $V9P$ 87!O9RTR,#(U,3$R M.2YX $ 87!O9RTR,#(U,3$R.5]C86PN>&UL4$L! A0#% @ !&DG7.D& M6SZ^1P [C,# !4 ( !7)@! &%P;V&UL4$L! A0#% @ !6DG7/2#+"-Y!P (R( !< ( ! M+VX# &%P;V XML 87 apog-20251129_htm.xml IDEA: XBRL DOCUMENT 0000006845 2025-03-02 2025-11-29 0000006845 2026-01-05 0000006845 2025-11-29 0000006845 2025-03-01 0000006845 2025-08-31 2025-11-29 0000006845 2024-09-01 2024-11-30 0000006845 2024-03-03 2024-11-30 0000006845 2024-03-02 0000006845 2024-11-30 0000006845 us-gaap:CommonStockMember 2025-03-01 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-03-01 0000006845 us-gaap:RetainedEarningsMember 2025-03-01 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-03-01 0000006845 us-gaap:RetainedEarningsMember 2025-03-02 2025-05-31 0000006845 2025-03-02 2025-05-31 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-03-02 2025-05-31 0000006845 us-gaap:CommonStockMember 2025-03-02 2025-05-31 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-03-02 2025-05-31 0000006845 us-gaap:CommonStockMember 2025-05-31 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-05-31 0000006845 us-gaap:RetainedEarningsMember 2025-05-31 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-05-31 0000006845 2025-05-31 0000006845 us-gaap:RetainedEarningsMember 2025-06-01 2025-08-30 0000006845 2025-06-01 2025-08-30 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-06-01 2025-08-30 0000006845 us-gaap:CommonStockMember 2025-06-01 2025-08-30 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-06-01 2025-08-30 0000006845 us-gaap:CommonStockMember 2025-08-30 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-08-30 0000006845 us-gaap:RetainedEarningsMember 2025-08-30 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-08-30 0000006845 2025-08-30 0000006845 us-gaap:RetainedEarningsMember 2025-08-31 2025-11-29 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-08-31 2025-11-29 0000006845 us-gaap:CommonStockMember 2025-08-31 2025-11-29 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-08-31 2025-11-29 0000006845 us-gaap:CommonStockMember 2025-11-29 0000006845 us-gaap:AdditionalPaidInCapitalMember 2025-11-29 0000006845 us-gaap:RetainedEarningsMember 2025-11-29 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2025-11-29 0000006845 us-gaap:CommonStockMember 2024-03-02 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-03-02 0000006845 us-gaap:RetainedEarningsMember 2024-03-02 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-02 0000006845 us-gaap:RetainedEarningsMember 2024-03-03 2024-06-01 0000006845 2024-03-03 2024-06-01 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-03 2024-06-01 0000006845 us-gaap:CommonStockMember 2024-03-03 2024-06-01 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-03-03 2024-06-01 0000006845 us-gaap:CommonStockMember 2024-06-01 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-06-01 0000006845 us-gaap:RetainedEarningsMember 2024-06-01 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-01 0000006845 2024-06-01 0000006845 us-gaap:RetainedEarningsMember 2024-06-02 2024-08-31 0000006845 2024-06-02 2024-08-31 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-02 2024-08-31 0000006845 us-gaap:CommonStockMember 2024-06-02 2024-08-31 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-06-02 2024-08-31 0000006845 us-gaap:CommonStockMember 2024-08-31 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-08-31 0000006845 us-gaap:RetainedEarningsMember 2024-08-31 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-08-31 0000006845 2024-08-31 0000006845 us-gaap:RetainedEarningsMember 2024-09-01 2024-11-30 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-09-01 2024-11-30 0000006845 us-gaap:CommonStockMember 2024-09-01 2024-11-30 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-09-01 2024-11-30 0000006845 us-gaap:CommonStockMember 2024-11-30 0000006845 us-gaap:AdditionalPaidInCapitalMember 2024-11-30 0000006845 us-gaap:RetainedEarningsMember 2024-11-30 0000006845 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-11-30 0000006845 us-gaap:TransferredAtPointInTimeMember 2025-08-31 2025-11-29 0000006845 us-gaap:TransferredAtPointInTimeMember 2024-09-01 2024-11-30 0000006845 us-gaap:TransferredAtPointInTimeMember 2025-03-02 2025-11-29 0000006845 us-gaap:TransferredAtPointInTimeMember 2024-03-03 2024-11-30 0000006845 apog:TransferredOverTimeInputMethodMember 2025-08-31 2025-11-29 0000006845 apog:TransferredOverTimeInputMethodMember 2024-09-01 2024-11-30 0000006845 apog:TransferredOverTimeInputMethodMember 2025-03-02 2025-11-29 0000006845 apog:TransferredOverTimeInputMethodMember 2024-03-03 2024-11-30 0000006845 apog:TransferredOverTimeOutputMethodMember 2025-08-31 2025-11-29 0000006845 apog:TransferredOverTimeOutputMethodMember 2024-09-01 2024-11-30 0000006845 apog:TransferredOverTimeOutputMethodMember 2025-03-02 2025-11-29 0000006845 apog:TransferredOverTimeOutputMethodMember 2024-03-03 2024-11-30 0000006845 us-gaap:TradeAccountsReceivableMember 2025-11-29 0000006845 us-gaap:TradeAccountsReceivableMember 2025-03-01 0000006845 apog:AccountsReceivableConstructionContractsMember 2025-11-29 0000006845 apog:AccountsReceivableConstructionContractsMember 2025-03-01 0000006845 2025-09-01 2025-11-29 0000006845 2026-08-30 2025-11-29 0000006845 2027-08-29 2025-11-29 0000006845 srt:RestatementAdjustmentMember 2025-08-31 2025-11-29 0000006845 srt:RestatementAdjustmentMember 2024-09-01 2024-11-30 0000006845 srt:RestatementAdjustmentMember 2025-03-02 2025-11-29 0000006845 srt:RestatementAdjustmentMember 2024-03-03 2024-11-30 0000006845 apog:MunicipalandCorporateBondsMember 2025-11-29 0000006845 apog:MunicipalandCorporateBondsMember 2025-03-01 0000006845 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2025-08-30 0000006845 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2025-03-01 0000006845 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2020-02-29 0000006845 us-gaap:FairValueInputsLevel1Member 2025-11-29 0000006845 us-gaap:FairValueInputsLevel2Member 2025-11-29 0000006845 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2025-11-29 0000006845 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2025-11-29 0000006845 us-gaap:InterestRateSwapMember 2025-11-29 0000006845 us-gaap:FairValueInputsLevel1Member 2025-03-01 0000006845 us-gaap:FairValueInputsLevel2Member 2025-03-01 0000006845 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel1Member 2025-03-01 0000006845 us-gaap:ForeignExchangeForwardMember us-gaap:FairValueInputsLevel2Member 2025-03-01 0000006845 us-gaap:ForeignExchangeForwardMember 2025-03-01 0000006845 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2025-03-01 0000006845 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2025-03-01 0000006845 us-gaap:InterestRateSwapMember 2025-03-01 0000006845 apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 0000006845 us-gaap:RevolvingCreditFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 0000006845 us-gaap:RevolvingCreditFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 2024-07-19 0000006845 apog:TermLoanFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 0000006845 apog:RevolvingCreditFacilityCADMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 0000006845 apog:TermLoanFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 2024-07-19 0000006845 apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-07-19 2024-07-19 0000006845 us-gaap:RevolvingCreditFacilityMember apog:WellsFargoBankN.A.Member us-gaap:LineOfCreditMember 2024-07-19 0000006845 us-gaap:RevolvingCreditFacilityMember apog:BankOfMontrealMember us-gaap:LineOfCreditMember 2024-07-19 0000006845 apog:LenderFeesMember 2024-06-02 2024-08-31 0000006845 apog:ThirdPartyFeesMember 2024-06-02 2024-08-31 0000006845 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2025-11-29 0000006845 us-gaap:LineOfCreditMember 2025-11-29 0000006845 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember apog:AcquisitionHolidayConditionMember 2025-11-29 0000006845 srt:MinimumMember us-gaap:LineOfCreditMember us-gaap:BaseRateMember 2025-03-02 2025-11-29 0000006845 srt:MaximumMember us-gaap:LineOfCreditMember us-gaap:BaseRateMember 2025-03-02 2025-11-29 0000006845 srt:MinimumMember us-gaap:LineOfCreditMember apog:TermSOFRAndCORRAMember 2025-03-02 2025-11-29 0000006845 srt:MaximumMember us-gaap:LineOfCreditMember apog:TermSOFRAndCORRAMember 2025-03-02 2025-11-29 0000006845 srt:MinimumMember us-gaap:LineOfCreditMember apog:IncrementalTermSOFRAndCORRAAdjustmentMember 2025-03-02 2025-11-29 0000006845 srt:MaximumMember us-gaap:LineOfCreditMember apog:IncrementalTermSOFRAndCORRAAdjustmentMember 2025-03-02 2025-11-29 0000006845 apog:TermLoanFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2024-11-04 2024-11-04 0000006845 apog:TermLoanFacilityMember apog:UnsecuredSeniorCreditFacilityMember us-gaap:LineOfCreditMember 2025-11-29 0000006845 2022-12-01 2022-12-31 0000006845 2025-04-07 2025-04-07 0000006845 2024-12-01 2025-03-01 0000006845 apog:ShareRepurchaseProgramMember 2025-03-02 2025-11-29 0000006845 apog:ShareRepurchaseProgramMember 2024-03-03 2024-11-30 0000006845 apog:ShareRepurchaseProgramMember 2003-03-02 2025-11-29 0000006845 apog:ShareRepurchaseProgramMember 2025-11-29 0000006845 us-gaap:RestrictedStockMember 2025-03-02 2025-11-29 0000006845 us-gaap:PerformanceSharesMember 2025-03-02 2025-11-29 0000006845 srt:MinimumMember us-gaap:RestrictedStockMember 2025-03-02 2025-11-29 0000006845 srt:MaximumMember us-gaap:RestrictedStockMember 2025-03-02 2025-11-29 0000006845 srt:MinimumMember us-gaap:PerformanceSharesMember 2025-11-29 0000006845 srt:MaximumMember us-gaap:PerformanceSharesMember 2025-11-29 0000006845 us-gaap:RestrictedStockMember 2025-08-31 2025-11-29 0000006845 apog:ArchitecturalMetalsSegmentMember 2025-08-31 2025-11-29 0000006845 apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 apog:ArchitecturalGlassSegmentMember 2025-08-31 2025-11-29 0000006845 apog:PerformanceSurfacesMember 2025-08-31 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalMetalsSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalGlassSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:PerformanceSurfacesMember 2025-08-31 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember 2025-08-31 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalMetalsSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalGlassSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:PerformanceSurfacesMember 2025-08-31 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember 2025-08-31 2025-11-29 0000006845 apog:ArchitecturalMetalsSegmentMember 2024-09-01 2024-11-30 0000006845 apog:ArchitecturalServicesSegmentMember 2024-09-01 2024-11-30 0000006845 apog:ArchitecturalGlassSegmentMember 2024-09-01 2024-11-30 0000006845 apog:PerformanceSurfacesMember 2024-09-01 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalMetalsSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalServicesSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalGlassSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:PerformanceSurfacesMember 2024-09-01 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember 2024-09-01 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalMetalsSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalServicesSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalGlassSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:PerformanceSurfacesMember 2024-09-01 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember 2024-09-01 2024-11-30 0000006845 apog:ArchitecturalMetalsSegmentMember 2025-03-02 2025-11-29 0000006845 apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 apog:ArchitecturalGlassSegmentMember 2025-03-02 2025-11-29 0000006845 apog:PerformanceSurfacesMember 2025-03-02 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalMetalsSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalGlassSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember apog:PerformanceSurfacesMember 2025-03-02 2025-11-29 0000006845 us-gaap:IntersegmentEliminationMember 2025-03-02 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalMetalsSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalGlassSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember apog:PerformanceSurfacesMember 2025-03-02 2025-11-29 0000006845 us-gaap:OperatingSegmentsMember 2025-03-02 2025-11-29 0000006845 apog:ArchitecturalMetalsSegmentMember 2024-03-03 2024-11-30 0000006845 apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 apog:ArchitecturalGlassSegmentMember 2024-03-03 2024-11-30 0000006845 apog:PerformanceSurfacesMember 2024-03-03 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalMetalsSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:ArchitecturalGlassSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember apog:PerformanceSurfacesMember 2024-03-03 2024-11-30 0000006845 us-gaap:IntersegmentEliminationMember 2024-03-03 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalMetalsSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:ArchitecturalGlassSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember apog:PerformanceSurfacesMember 2024-03-03 2024-11-30 0000006845 us-gaap:OperatingSegmentsMember 2024-03-03 2024-11-30 0000006845 us-gaap:CostOfSalesMember 2025-08-31 2025-11-29 0000006845 us-gaap:CostOfSalesMember apog:ProjectFortifyMember 2025-08-31 2025-11-29 0000006845 us-gaap:CostOfSalesMember 2025-03-02 2025-11-29 0000006845 us-gaap:CostOfSalesMember apog:ProjectFortifyMember 2025-03-02 2025-11-29 0000006845 us-gaap:CostOfSalesMember apog:ProjectFortifyMember 2024-09-01 2024-11-30 0000006845 us-gaap:CostOfSalesMember apog:ProjectFortifyMember 2024-03-03 2024-11-30 0000006845 us-gaap:CostOfSalesMember 2024-03-03 2024-11-30 0000006845 us-gaap:CostOfSalesMember 2024-09-01 2024-11-30 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2025-08-31 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember apog:ProjectFortifyMember 2025-08-31 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2025-03-02 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember apog:ProjectFortifyMember 2025-03-02 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-09-01 2024-11-30 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2024-03-03 2024-11-30 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember apog:ProjectFortifyMember 2024-09-01 2024-11-30 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember apog:ProjectFortifyMember 2024-03-03 2024-11-30 0000006845 apog:ReportableSegmentMember 2025-08-31 2025-11-29 0000006845 apog:ReportableSegmentMember 2024-09-01 2024-11-30 0000006845 apog:ReportableSegmentMember 2025-03-02 2025-11-29 0000006845 apog:ReportableSegmentMember 2024-03-03 2024-11-30 0000006845 apog:UWIntercoLLCMember 2024-11-04 2024-11-04 0000006845 apog:UWIntercoLLCMember 2024-03-03 2025-03-01 0000006845 apog:UWIntercoLLCMember 2025-08-31 2025-11-29 0000006845 apog:UWIntercoLLCMember 2025-03-02 2025-11-29 0000006845 apog:UWIntercoLLCMember 2024-11-04 0000006845 apog:UWIntercoLLCMember 2024-09-01 2024-11-30 0000006845 apog:UWIntercoLLCMember 2024-03-03 2024-11-30 0000006845 srt:MaximumMember apog:ProjectFortifyMember 2025-03-01 0000006845 srt:MinimumMember apog:ProjectFortifyMember 2025-03-01 0000006845 srt:MinimumMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MaximumMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MinimumMember us-gaap:EmployeeSeveranceMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MaximumMember us-gaap:EmployeeSeveranceMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MinimumMember us-gaap:ContractTerminationMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MaximumMember us-gaap:ContractTerminationMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MinimumMember us-gaap:OtherRestructuringMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MaximumMember us-gaap:OtherRestructuringMember apog:ProjectFortifyMember 2025-04-23 0000006845 srt:MinimumMember srt:ScenarioForecastMember apog:ProjectFortifyMember 2026-02-28 0000006845 srt:MaximumMember srt:ScenarioForecastMember apog:ProjectFortifyMember 2026-02-28 0000006845 apog:ProjectFortifyMember 2025-08-31 2025-11-29 0000006845 apog:ProjectFortifyMember 2025-03-02 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:SellingGeneralAndAdministrativeExpensesMember us-gaap:CorporateAndOtherMember 2025-03-02 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalFramingSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember us-gaap:CorporateAndOtherMember 2025-08-31 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember 2025-08-31 2025-11-29 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalFramingSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:ContractTerminationMember us-gaap:CorporateAndOtherMember 2025-08-31 2025-11-29 0000006845 us-gaap:ContractTerminationMember 2025-08-31 2025-11-29 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalFramingSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalServicesSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:OtherRestructuringMember us-gaap:CorporateAndOtherMember 2025-08-31 2025-11-29 0000006845 us-gaap:OtherRestructuringMember 2025-08-31 2025-11-29 0000006845 apog:ArchitecturalFramingSegmentMember 2025-08-31 2025-11-29 0000006845 us-gaap:CorporateAndOtherMember 2025-08-31 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalFramingSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalServicesSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember us-gaap:CorporateAndOtherMember 2024-09-01 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember 2024-09-01 2024-11-30 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalFramingSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalServicesSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:OtherRestructuringMember us-gaap:CorporateAndOtherMember 2024-09-01 2024-11-30 0000006845 us-gaap:OtherRestructuringMember 2024-09-01 2024-11-30 0000006845 apog:ArchitecturalFramingSegmentMember 2024-09-01 2024-11-30 0000006845 us-gaap:CorporateAndOtherMember 2024-09-01 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalFramingSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember us-gaap:CorporateAndOtherMember 2025-03-02 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember 2025-03-02 2025-11-29 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalFramingSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:ContractTerminationMember us-gaap:CorporateAndOtherMember 2025-03-02 2025-11-29 0000006845 us-gaap:ContractTerminationMember 2025-03-02 2025-11-29 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalFramingSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalServicesSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:OtherRestructuringMember us-gaap:CorporateAndOtherMember 2025-03-02 2025-11-29 0000006845 us-gaap:OtherRestructuringMember 2025-03-02 2025-11-29 0000006845 apog:ArchitecturalFramingSegmentMember 2025-03-02 2025-11-29 0000006845 us-gaap:CorporateAndOtherMember 2025-03-02 2025-11-29 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalFramingSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember us-gaap:CorporateAndOtherMember 2024-03-03 2024-11-30 0000006845 us-gaap:EmployeeSeveranceMember 2024-03-03 2024-11-30 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalFramingSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:ContractTerminationMember apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:ContractTerminationMember us-gaap:CorporateAndOtherMember 2024-03-03 2024-11-30 0000006845 us-gaap:ContractTerminationMember 2024-03-03 2024-11-30 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalFramingSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:OtherRestructuringMember apog:ArchitecturalServicesSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:OtherRestructuringMember us-gaap:CorporateAndOtherMember 2024-03-03 2024-11-30 0000006845 us-gaap:OtherRestructuringMember 2024-03-03 2024-11-30 0000006845 apog:ArchitecturalFramingSegmentMember 2024-03-03 2024-11-30 0000006845 us-gaap:CorporateAndOtherMember 2024-03-03 2024-11-30 0000006845 apog:ArchitecturalFramingSegmentMember 2025-03-01 0000006845 apog:ArchitecturalServicesSegmentMember 2025-03-01 0000006845 us-gaap:CorporateAndOtherMember 2025-03-01 0000006845 apog:ArchitecturalFramingSegmentMember 2025-11-29 0000006845 apog:ArchitecturalServicesSegmentMember 2025-11-29 0000006845 us-gaap:CorporateAndOtherMember 2025-11-29 shares iso4217:USD iso4217:USD shares apog:drawdown apog:lineOfCredit pure apog:acquisitionHoliday apog:quarter apog:transaction apog:segment 0000006845 false 2026 Q3 --02-28 P2Y P3Y P1Y P2Y 10-Q true 2025-11-29 false 0-6365 APOGEE ENTERPRISES, INC. MN 41-0919654 4400 West 78th Street, Suite 520 Minneapolis MN 55435 952 835-1874 Common stock, par value $0.33 1/3 per share APOG NASDAQ Yes Yes Large Accelerated Filer false false false 21510116 41315000 41448000 176588000 185590000 102495000 92305000 66645000 71842000 48954000 50919000 435997000 442104000 476911000 469480000 253092000 268139000 50903000 62314000 236386000 235775000 113673000 128417000 25977000 38520000 1116028000 1175269000 92844000 98804000 33906000 48510000 43086000 35193000 14504000 15290000 45405000 87659000 229745000 285456000 255000000 285000000 41981000 51632000 32180000 30382000 44831000 34901000 1.00 1.00 200000 200000 0 0 0 0 0 0 0.33 0.33 50000000 50000000 21494322 21494322 21417631 21417631 7164000 7139000 161031000 156075000 377306000 359976000 -33210000 -35292000 512291000 487898000 1116028000 1175269000 348563000 341344000 1053379000 1015300000 265571000 252195000 812654000 729975000 82992000 89149000 240725000 285325000 58113000 60520000 182026000 173350000 24879000 28629000 58699000 111975000 3227000 1044000 11148000 2634000 2458000 60000 6916000 493000 24110000 27645000 54467000 109834000 7561000 6656000 16956000 27268000 16549000 20989000 37511000 82566000 0.78 0.96 1.76 3.79 0.77 0.96 1.74 3.76 21302000 21782000 21349000 21789000 21592000 21917000 21568000 21937000 16549000 20989000 37511000 82566000 9000 -13000 17000 16000 34000 -48000 62000 60000 -73000 -21000 -249000 86000 -199000 -69000 -681000 281000 -445000 -1619000 2701000 -2780000 -610000 -1736000 2082000 -2439000 15939000 19253000 39593000 80127000 37511000 82566000 37456000 30798000 6570000 8067000 16762000 5109000 -418000 -159000 7418000 0 6740000 0 10901000 9926000 -4596000 -1800000 -9431000 2191000 9842000 8284000 -5317000 8168000 -3873000 6796000 -14782000 -20958000 7823000 11499000 -10628000 -9387000 -3279000 -6498000 28437000 6104000 66622000 95130000 18315000 24696000 1606000 744000 550000 2394000 1485000 2370000 0 233125000 -15774000 -257101000 80000000 95201000 110000000 115201000 0 250000000 0 20000000 0 15061000 16567000 16238000 0 3798000 -5342000 -5884000 -51909000 169019000 928000 -409000 -133000 6639000 41448000 37216000 41315000 43855000 970000 2299000 21418000 7139000 156075000 359976000 -35292000 487898000 -2688000 -2688000 2608000 2608000 182000 61000 -61000 0 2300000 2300000 67000 22000 526000 2267000 2815000 0.26 5520000 5520000 21533000 7178000 157788000 349501000 -32684000 481783000 23649000 23649000 84000 84000 16000 5000 184000 189000 474000 474000 2000 1000 13000 49000 63000 0.26 5523000 5523000 21515000 7172000 158065000 367578000 -32600000 500215000 16549000 16549000 -610000 -610000 19000 -2000 473000 205000 676000 3796000 3796000 42000 10000 357000 1092000 1459000 0.26 5524000 5524000 21492000 7164000 161031000 377306000 -33210000 512291000 22089000 7363000 152818000 340375000 -29531000 471025000 31011000 31011000 521000 521000 170000 57000 -57000 0 2704000 2704000 242000 81000 1860000 13120000 15061000 80000 27000 603000 4206000 4836000 0.25 5409000 5409000 21937000 7312000 153002000 348651000 -29010000 479955000 30566000 30566000 -1224000 -1224000 16000 5000 -5000 0 2938000 2938000 7000 2000 52000 347000 401000 0.25 5412000 5412000 21946000 7315000 155883000 373458000 -30234000 506422000 20989000 20989000 -1736000 -1736000 1000 2425000 2425000 8000 2000 60000 552000 614000 0.25 5417000 5417000 21939000 7313000 158248000 388478000 -31970000 522069000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Summary of Significant Accounting Policies</span><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of Apogee Enterprises, Inc. (we, us, our or the Company) have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP). The information included in this Form 10-Q should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025. We use the same accounting policies in preparing quarterly and annual financial statements. All adjustments necessary for a fair presentation of quarterly and year to date operating results are reflected herein. The results of operations for the three and nine month periods ended November 29, 2025, are not necessarily indicative of the results to be expected for the full year.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Adoption of new accounting standards</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On November 27, 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standard Update (ASU) 2023-07, Improvements to Reportable Segment Disclosures, which expands the required disclosure for reportable segments. This guidance requires entities to disclose significant segment expenses and other segment items on an annual and interim basis and to provide in interim periods all segment disclosures which are currently required annually. This ASU additionally requires entities to disclose the title and position of the individual or the name of the group or committee identified as its chief operating decision-maker. We adopted this guidance in the fourth quarter of fiscal 2025 for the annual requirements and in the first quarter of fiscal 2026 for the interim requirements.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting standards not yet adopted</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures. The ASU is effective for our fiscal 2026 annual financial statements and for our interim financial statements beginning fiscal 2027. This guidance expands the existing disclosure requirements for the annual rate reconciliation between the effective tax rate and the statutory federal tax rate by requiring reconciliation items to be disaggregated by defined categories and disclosed as both percentages and amounts. ASU 2023-09 also requires the disaggregation of income taxes paid by jurisdiction for each annual period presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued ASU 2024-03, Disaggregation of Income Statement Expenses. This guidance requires entities to disclose more detailed information about the types of expenses, including purchases of inventory, employee compensation, depreciation, amortization, and depletion in commonly presented expense captions such as cost of sales and selling, general and administrative (SG&amp;A) expenses. Such guidance is effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, although early adoption is permitted. This guidance should be applied either prospectively to financial statements issued for reporting periods after the effective date of this ASU or retrospectively to any or all prior periods presented in the financial statements. While the adoption of this ASU will not have an impact on our financial position and/or results of operations, we are currently evaluating the impact this ASU may have on our consolidated financial statement disclosures, including the processes and controls around the collection of this information.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of Apogee Enterprises, Inc. (we, us, our or the Company) have been prepared in accordance with accounting principles generally accepted in the United States (U.S. GAAP). The information included in this Form 10-Q should be read in conjunction with the Company’s Form 10-K for the year ended March 1, 2025. We use the same accounting policies in preparing quarterly and annual financial statements. All adjustments necessary for a fair presentation of quarterly and year to date operating results are reflected herein. The results of operations for the three and nine month periods ended November 29, 2025, are not necessarily indicative of the results to be expected for the full year.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Adoption of new accounting standards</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On November 27, 2023, the Financial Accounting Standards Board (FASB) issued Accounting Standard Update (ASU) 2023-07, Improvements to Reportable Segment Disclosures, which expands the required disclosure for reportable segments. This guidance requires entities to disclose significant segment expenses and other segment items on an annual and interim basis and to provide in interim periods all segment disclosures which are currently required annually. This ASU additionally requires entities to disclose the title and position of the individual or the name of the group or committee identified as its chief operating decision-maker. We adopted this guidance in the fourth quarter of fiscal 2025 for the annual requirements and in the first quarter of fiscal 2026 for the interim requirements.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting standards not yet adopted</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures. The ASU is effective for our fiscal 2026 annual financial statements and for our interim financial statements beginning fiscal 2027. This guidance expands the existing disclosure requirements for the annual rate reconciliation between the effective tax rate and the statutory federal tax rate by requiring reconciliation items to be disaggregated by defined categories and disclosed as both percentages and amounts. ASU 2023-09 also requires the disaggregation of income taxes paid by jurisdiction for each annual period presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In November 2024, the FASB issued ASU 2024-03, Disaggregation of Income Statement Expenses. This guidance requires entities to disclose more detailed information about the types of expenses, including purchases of inventory, employee compensation, depreciation, amortization, and depletion in commonly presented expense captions such as cost of sales and selling, general and administrative (SG&amp;A) expenses. Such guidance is effective for annual reporting periods beginning after December 15, 2026, and interim reporting periods beginning after December 15, 2027, although early adoption is permitted. This guidance should be applied either prospectively to financial statements issued for reporting periods after the effective date of this ASU or retrospectively to any or all prior periods presented in the financial statements. While the adoption of this ASU will not have an impact on our financial position and/or results of operations, we are currently evaluating the impact this ASU may have on our consolidated financial statement disclosures, including the processes and controls around the collection of this information.</span></div> <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Revenue, Receivables and Contract Assets and Liabilities</span><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table disaggregates total revenue by timing of recognition (see Note 12 for disclosure of revenue by segment):</span></div><div style="margin-top:6pt;text-align:justify"><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:39.981%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.940%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized at shipment</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,008 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">150,704 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">492,845 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">427,945 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized over time (input method)</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">119,570 </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',serif;font-size:10pt;font-weight:400;line-height:100%">125,451 </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',serif;font-size:10pt;font-weight:400;line-height:100%">356,927 </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',serif;font-size:10pt;font-weight:400;line-height:100%">360,815 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized over time (output method)</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">65,985 </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',serif;font-size:10pt;font-weight:400;line-height:100%">65,189 </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',serif;font-size:10pt;font-weight:400;line-height:100%">203,607 </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',serif;font-size:10pt;font-weight:400;line-height:100%">226,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',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">348,563 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">341,344 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,053,379 </span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,015,300 </span></td><td style="background-color:#ffffff;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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Revenue at shipment is recognized at the time products are shipped from our manufacturing facilities, which is when control is transferred to our customer.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We also recognize revenue over time using both the input method and output method. The contracts</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> for the businesses that recognize revenue following an over-time input method have a single, bundled performance obligation, as these businesses </span></div><div style="margin-top:6pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">generally provide interrelated products and services and integrate these products and services into a combined output specified by the customer. The customer obtains control of this combined output, generally integrated window systems or installed window and curtainwall systems, over time. We measure progress on these contracts by comparing total costs incurred to-date to the total estimated costs for the contract at completion, and record that proport</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">ion of the total contract price as revenue in the period. Contract costs include materials, labor and other direct costs related to contract performance. We believe this method of recognizing revenue is consistent with our progress in satisfying our contract obligations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For revenue recognized following </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">an over-time output method, the customer is considered to have control over the products at the time of production, as the products are highly customized with no alternative use, and we have an enforceable right to payment for performance completed over the production p</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">eriod. We believe this over-time output method of recognizing revenue reasonably depicts the fulfillment of our performance obligations under our contracts.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Receivables</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Receivables reflected in the financial statements represent the net amount expected to be collected. An allowance for credit losses is established based on expected losses. Expected losses are estimated by reviewing individual accounts, considering aging, financial condition of the debtor, recent payment history, current and forecasted economic conditions and other relevant factors. Upon billing, aging of receivables is monitored until collection. An account is considered current when it is within agreed upon payment terms. An account is written off when it is determined that the asset is no longer collectible.</span></div><div style="margin-top:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">111,819 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">117,533 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Construction contracts</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">66,310 </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',serif;font-size:10pt;font-weight:400;line-height:100%">70,724 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Total receivables</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">178,129 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">188,257 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,541 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,667 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">176,588 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">185,590 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity in the allowance for credit losses for the nine months ended November 29, 2025:</span></div><div style="margin-top:6pt;text-align:justify"><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:84.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.937%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Credits against costs and expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(571)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Deductions from allowance, net of recoveries</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(581)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></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',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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,541 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract assets and liabilities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets consist of retainage, costs and earnings in excess of billings and other unbilled amounts typically generated when revenue recognized exceeds the amount billed to the customer. Retainage on construction contracts represents amounts withheld by our customers on long-term projects until the project reaches a level of completion where amounts are released to us from the customer. Contract liabilities consist of billings in excess of costs and earnings and other deferred revenue on contracts.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The time period between when performance obligations are complete and payment is due is not significant. In certain parts of our business that recognize revenue over time, progress billings follow an agreed-upon schedule of values.</span></div><div style="margin-top:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">66,645 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">71,842 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Contract liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">43,086 </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',serif;font-size:10pt;font-weight:400;line-height:100%">35,193 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The changes in contract assets and contract liabilities were mainly due to timing of project activity within our businesses that operate under long-term contracts.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other contract-related disclosures</span></div><div style="margin-top:6pt;text-align:justify"><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:39.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.940%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized related to contract liabilities from prior year-end</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">700 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">399 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">29,029 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,760 </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 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized related to prior satisfaction of performance obligations</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,957 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,129 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,366 </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',serif;font-size:10pt;font-weight:400;line-height:100%">12,295 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Some of our contracts have an expected duration of longer than a year, with performance obligations extending over that time frame. Generally, these contracts are found in our businesses that typically operate with long-term contracts, which recognize revenue over time. The transaction prices associated with unsatisfied performance obligations at November 29, 2025, are expected to be satisfied, and the corresponding revenue to be recognized, over the following estimated time periods:</span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:84.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.937%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Within one year</span></div></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">530,201 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Between one and two years</span></div></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',serif;font-size:10pt;font-weight:400;line-height:100%">283,130 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Beyond two years</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">79,485 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">892,816 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Due to the nature of the work required under these long-term contracts, the estimation of total revenue and costs of sales is subject to many variables and requires significant judgment. We estimate variable consideration at the most likely amount to which we expect to be entitled. Our final cost of sales estimates are based largely on our assessments of anticipated performance and all information (historical, current and forecasted) that is reasonably available to us. Changes in estimated revenue, cost of sales and the related effect on operating income are recognized using a cumulative catch-up adjustment, which recognizes in the current period the cumulative effect of the changes on current and prior periods based on a long-term contracts percentage of completion. When the current estimates of total revenues and costs at completion for a long-term contract indicate a loss, a provision for the entire loss on the long-term contract is recognized.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The net cumulative catch-up adjustments on our longer-term contracts for changes in estimates had the following effect on the respective periods shown:</span></div><div style="margin-top:6pt;text-align:justify"><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:41.005%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(in thousands, except earnings per share data)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,976 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,801 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,775 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">12,905 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.14</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.20</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.17</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.45</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.14</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.17</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.44</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table disaggregates total revenue by timing of recognition (see Note 12 for disclosure of revenue by segment):</span></div><div style="margin-top:6pt;text-align:justify"><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:39.981%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.940%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized at shipment</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,008 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">150,704 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">492,845 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">427,945 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized over time (input method)</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">119,570 </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',serif;font-size:10pt;font-weight:400;line-height:100%">125,451 </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',serif;font-size:10pt;font-weight:400;line-height:100%">356,927 </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',serif;font-size:10pt;font-weight:400;line-height:100%">360,815 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Recognized over time (output method)</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">65,985 </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',serif;font-size:10pt;font-weight:400;line-height:100%">65,189 </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',serif;font-size:10pt;font-weight:400;line-height:100%">203,607 </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',serif;font-size:10pt;font-weight:400;line-height:100%">226,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',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">348,563 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">341,344 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,053,379 </span></td><td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,015,300 </span></td><td style="background-color:#ffffff;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> 163008000 150704000 492845000 427945000 119570000 125451000 356927000 360815000 65985000 65189000 203607000 226540000 348563000 341344000 1053379000 1015300000 <div style="margin-top:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">111,819 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">117,533 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Construction contracts</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">66,310 </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',serif;font-size:10pt;font-weight:400;line-height:100%">70,724 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Total receivables</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">178,129 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">188,257 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,541 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,667 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">176,588 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">185,590 </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> 111819000 117533000 66310000 70724000 178129000 188257000 1541000 2667000 176588000 185590000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity in the allowance for credit losses for the nine months ended November 29, 2025:</span></div><div style="margin-top:6pt;text-align:justify"><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:84.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.937%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Credits against costs and expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(571)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Deductions from allowance, net of recoveries</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(581)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></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',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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,541 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 2667000 571000 581000 26000 1541000 <div style="margin-top:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract assets</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">66,645 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">71,842 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Contract liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">43,086 </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',serif;font-size:10pt;font-weight:400;line-height:100%">35,193 </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:6pt;text-align:justify"><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:39.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.940%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized related to contract liabilities from prior year-end</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">700 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">399 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">29,029 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,760 </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 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized related to prior satisfaction of performance obligations</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,957 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,129 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,366 </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',serif;font-size:10pt;font-weight:400;line-height:100%">12,295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 66645000 71842000 43086000 35193000 700000 399000 29029000 30760000 1957000 4129000 4366000 12295000 The transaction prices associated with unsatisfied performance obligations at November 29, 2025, are expected to be satisfied, and the corresponding revenue to be recognized, over the following estimated time periods:<div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:84.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.937%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Within one year</span></div></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">530,201 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Between one and two years</span></div></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',serif;font-size:10pt;font-weight:400;line-height:100%">283,130 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Beyond two years</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">79,485 </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="display:none"></td><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',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">892,816 </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> 530201000 283130000 79485000 892816000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The net cumulative catch-up adjustments on our longer-term contracts for changes in estimates had the following effect on the respective periods shown:</span></div><div style="margin-top:6pt;text-align:justify"><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:41.005%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.795%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(in thousands, except earnings per share data)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,976 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,801 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,775 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">12,905 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.14</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.20</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.17</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.45</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted </span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.14</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.17</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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',serif;font-size:10pt;font-weight:400;line-height:100%">0.44</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 3976000 5801000 4775000 12905000 0.14 0.20 0.17 0.45 0.14 0.20 0.17 0.44 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Inventories</span><div style="margin-top:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">46,900 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">36,804 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">17,676 </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',serif;font-size:10pt;font-weight:400;line-height:100%">15,554 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">37,919 </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',serif;font-size:10pt;font-weight:400;line-height:100%">39,947 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories, net</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">102,495 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">92,305 </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:6pt;text-align:justify"><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:69.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.938%"></td><td style="width:0.1%"></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',serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">March 1, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">46,900 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">36,804 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">17,676 </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',serif;font-size:10pt;font-weight:400;line-height:100%">15,554 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">37,919 </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',serif;font-size:10pt;font-weight:400;line-height:100%">39,947 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories, net</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">102,495 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">92,305 </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> 46900000 36804000 17676000 15554000 37919000 39947000 102495000 92305000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Financial Instruments</span><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable securities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Through our wholly-owned insurance subsidiary, Prism Assurance, Ltd. (Prism), we hold the following available-for-sale marketable securities, made up of fixed-maturity investments:</span></div><div style="margin-top:6pt;text-align:justify"><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:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.502%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</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',serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</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',serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</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',serif;font-size:8pt;font-weight:700;line-height:100%">Estimated <br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">November 29, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,211 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">27 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">137 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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',serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2025</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">10,148 </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',serif;font-size:10pt;font-weight:400;line-height:100%">33 </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',serif;font-size:10pt;font-weight:400;line-height:100%">222 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Prism insures a portion of our general liability, workers’ compensation and automobile liability risks using third-party agreements to meet statutory requirements. Our third-party carriers require Prism to maintain fixed-maturity investments for the purpose of providing collateral for Prism’s obligations under these agreements.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and estimated fair values of these investments at November 29, 2025, by contractual maturity, are shown below. Expected maturities may differ from contractual maturities, as borrowers may have the right to call or prepay obligations with or without penalty. Investments that are due within one year are included in other current assets while those due after one year are included as other non-current assets. Gross realized gains and losses were insignificant for all periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><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:66.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.546%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</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',serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Due within one year</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">7,239 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">7,163 </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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through five years</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,972 </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',serif;font-size:10pt;font-weight:400;line-height:100%">1,938 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,211 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative instruments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We periodically use interest rate swaps, currency put options, forward purchase contracts, or other instruments to manage risks generally associated with foreign exchange rate (primarily related to the Canadian dollar and euro), interest rate and commodity price fluctuations. The information that follows explains the various types of derivatives and financial instruments we use, how such instruments are accounted for, and how such instruments impact our financial position and performance.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In the second quarter of fiscal 2026, we entered into an interest rate swap with a notional value of $50.0 million with an expiration date of August 5, 2027. In fiscal 2025, we entered into an interest rate swap with a notional value of $75.0 million with an expiration date of January 5, 2027. In fiscal 2020, we entered into an interest rate swap with a notional value of $30.0 million with an expiration date of February 5, 2026. We entered into these swaps to hedge a portion of our exposure to variability in cash flows from interest payments on our floating-rate credit facility.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As of November 29, 2025, we had no foreign exchange option contracts with U.S. dollar notional values outstanding.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Derivative instruments that qualify for hedge accounting are recorded within our consolidated balance sheets within other current assets and other current liabilities. Gains or losses associated with these instruments are recorded as a component of accumulated other comprehensive loss until which time the hedged transaction is settled and gains or losses are reclassified to earnings.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair value measurements</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities are classified in the fair value hierarchy based on the lowest level input that is significant to the fair value measurement: Level 1 (unadjusted quoted prices in active markets for identical assets or liabilities); Level 2 (observable market inputs, other than quoted prices included in Level 1); and Level 3 (unobservable inputs that cannot be corroborated by observable market data). We do not have any Level 3 financial assets or liabilities.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities measured at fair value on a recurring basis were:</span></div><div style="margin-top:6pt;text-align:justify"><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:55.040%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.794%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Quoted Prices in Active Markets<br/>(Level 1)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Other Observable Inputs<br/>(Level 2)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,493 </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',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',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,493 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">125 </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',serif;font-size:10pt;font-weight:400;line-height:100%">125 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">806 </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',serif;font-size:10pt;font-weight:400;line-height:100%">806 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">March 1, 2025</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,758 </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',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',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,758 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency option contract</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">29 </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',serif;font-size:10pt;font-weight:400;line-height:100%">29 </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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">539 </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',serif;font-size:10pt;font-weight:400;line-height:100%">539 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">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',serif;font-size:10pt;font-weight:400;line-height:100%">540 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Through our wholly-owned insurance subsidiary, Prism Assurance, Ltd. (Prism), we hold the following available-for-sale marketable securities, made up of fixed-maturity investments:</span></div><div style="margin-top:6pt;text-align:justify"><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:41.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.502%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</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',serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Gains</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',serif;font-size:8pt;font-weight:700;line-height:100%">Gross Unrealized Losses</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',serif;font-size:8pt;font-weight:700;line-height:100%">Estimated <br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">November 29, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,211 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">27 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">137 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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',serif;font-size:10pt;font-weight:400;line-height:100%">March 1, 2025</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">10,148 </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',serif;font-size:10pt;font-weight:400;line-height:100%">33 </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',serif;font-size:10pt;font-weight:400;line-height:100%">222 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 9211000 27000 137000 9101000 10148000 33000 222000 9959000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The amortized cost and estimated fair values of these investments at November 29, 2025, by contractual maturity, are shown below. Expected maturities may differ from contractual maturities, as borrowers may have the right to call or prepay obligations with or without penalty. Investments that are due within one year are included in other current assets while those due after one year are included as other non-current assets. Gross realized gains and losses were insignificant for all periods presented.</span></div><div style="margin-top:6pt;text-align:justify"><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:66.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.546%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Amortized Cost</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',serif;font-size:8pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Due within one year</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">7,239 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">7,163 </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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Due after one year through five years</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,972 </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',serif;font-size:10pt;font-weight:400;line-height:100%">1,938 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,211 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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> 7239000 7163000 1972000 1938000 9211000 9101000 50000000.0 75000000.0 30000000.0 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets and liabilities measured at fair value on a recurring basis were:</span></div><div style="margin-top:6pt;text-align:justify"><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:55.040%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.794%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Quoted Prices in Active Markets<br/>(Level 1)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Other Observable Inputs<br/>(Level 2)</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',serif;font-size:8pt;font-weight:700;line-height:100%">Total Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,493 </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',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',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">30,493 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,101 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">125 </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',serif;font-size:10pt;font-weight:400;line-height:100%">125 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">806 </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',serif;font-size:10pt;font-weight:400;line-height:100%">806 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">March 1, 2025</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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,758 </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',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',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,758 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Municipal bonds</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,959 </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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency option contract</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">29 </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',serif;font-size:10pt;font-weight:400;line-height:100%">29 </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 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">539 </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',serif;font-size:10pt;font-weight:400;line-height:100%">539 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</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></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap contracts</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">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',serif;font-size:10pt;font-weight:400;line-height:100%">540 </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="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 30493000 0 30493000 0 9101000 9101000 0 125000 125000 0 806000 806000 20758000 0 20758000 0 9959000 9959000 0 29000 29000 0 539000 539000 0 540000 540000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Debt</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On July 19, 2024, we entered into a Credit Agreement (the Credit Agreement) with Bank of America, N.A., as administrative agent, and other lenders. The Credit Agreement provides for an unsecured senior credit facility in an aggregate principal amount of up to $700.0 million, in which commitments were made through a $450.0 million, five-year revolving credit facility and a committed $250.0 million delayed draw term loan facility. Borrowings under the revolving credit facility can be in Canadian dollars (CAD) limited to $25.0 million USD. The term loan facility may be utilized in up to two draw downs, which are available to be made within one year after the closing date. The senior credit facility has a term of five years with a maturity date of July 19, 2029.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement replaced the previous revolving credit facility with Wells Fargo Bank, N.A., as administrative agent, and other lenders, with maximum borrowings up to $385.0 million, and the two Canadian credit facilities with Bank of Montreal totaling $25.0 million USD.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the execution of the Credit Agreement, in the second quarter of fiscal 2025, we recognized a loss on extinguishment of debt within interest expense of $0.5 million for the write-off of unamortized financing fees related to the previous revolving credit facility. Additionally, we capitalized $3.0 million of lender fees and $0.8 million of third-party fees incurred in connection with the Credit Agreement, which were recorded as other non-current assets and are being amortized over the term of the credit facility as interest expense.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement contains two maintenance financial covenants that require our Consolidated Leverage Ratio (as defined in the Credit Agreement) to be less than 3.50 and our Consolidated Interest Coverage Ratio (as defined in the Credit Agreement) to exceed 3.00. At November 29, 2025, we were in compliance with all covenants as defined under the terms of the Credit Agreement.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement also contains an acquisition “holiday”. In the event we make an acquisition for which the purchase price is greater than $75.0 million, we can elect to increase the maximum Consolidated Leverage Ratio (as defined in the Credit Agreement) to 4.00 for a period of four consecutive fiscal quarters, commencing with the fiscal quarter in which a qualifying acquisition occurs. No more than two acquisition holidays can occur during the term of the Credit Agreement, and at least two fiscal quarters must separate qualifying acquisitions.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement bear floating interest at either the Base Rate or Term Secured Overnight Financing Rate (SOFR), or, for CAD borrowings, Canadian Overnight Repo Rate Average (CORRA) plus, in each a margin based on the Consolidated Leverage Ratio (as defined in the Credit Agreement). For Base Rate borrowings, the margin ranges from 0.25% to 0.75%. For Term SOFR and CORRA borrowings, the margin ranges from 1.25% to 1.75%, with an incremental Term SOFR and CORRA adjustment of 0.10% and 0.29547%, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Agreement also contains an “accordion” provision. Under this provision, we can request that the senior credit facility be increased by unlimited additional amounts. Any lender may elect or decline to participate in the requested increase at their sole discretion.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On November 4, 2024, as part of the acquisition of UW Interco, LLC (UW Solutions), and for working capital and general corporate purposes, we executed a drawdown against the delayed draw term loan facility for $250.0 million. Outstanding borrowings under the term loan facility were $215.0 million as of November 29, 2025. Outstanding borrowings under the revolving credit facility were $40.0 million as of November 29, 2025.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">At November 29, 2025, we had a total of $2.6 million of ongoing letters of credit related to the senior credit facility, construction contracts and insurance collateral that expire in fiscal 2027 and reduce borrowing capacity under the revolving credit facility. As of November 29, 2025, the amount available for revolving borrowings was $407.4 million.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our senior credit facility approximated carrying value at November 29, 2025, and would be classified as Level 2 within the fair value hierarchy described in Note 4, due to the variable interest rates on these instruments.</span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.992%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.398%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest on debt</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,911 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,077 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,590 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap gain</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(242)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(223)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(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',serif;font-size:10pt;font-weight:400;line-height:100%">(695)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Other interest expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">172 </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',serif;font-size:10pt;font-weight:400;line-height:100%">38 </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',serif;font-size:10pt;font-weight:400;line-height:100%">475 </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',serif;font-size:10pt;font-weight:400;line-height:100%">653 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(614)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(848)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,777)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,914)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></div></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,227 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,044 </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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,148 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,634 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Interest payments under the credit facilities were $13.2 million and $3.5 million for the nine months ended November 29, 2025 and November 30, 2024, respectively. The weighted average interest rates on borrowings outstanding, inclusive of the impact of our interest rate swaps as of November 29, 2025, and March 1, 2025, were 3.16% and 4.32%, respectively.</span></div> 700000000 450000000 P5Y 250000000 25000000 2 P1Y P5Y 385000000 2 25000000 -500000 3000000 800000 3.50 3.00 75000000 4.00 2 2 0.0025 0.0075 0.0125 0.0175 0.0010 0.0029547 250000000 215000000.0 40000000.0 2600000 407400000 <div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:37.992%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.394%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.398%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:8pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Interest on debt</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,911 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,077 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,590 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate swap gain</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(242)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(223)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(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',serif;font-size:10pt;font-weight:400;line-height:100%">(695)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Other interest expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">172 </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',serif;font-size:10pt;font-weight:400;line-height:100%">38 </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',serif;font-size:10pt;font-weight:400;line-height:100%">475 </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',serif;font-size:10pt;font-weight:400;line-height:100%">653 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest income</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(614)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(848)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,777)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,914)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></div></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,227 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,044 </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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">11,148 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;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 #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,634 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3911000 2077000 13005000 4590000 -242000 -223000 -555000 -695000 172000 38000 475000 653000 614000 848000 1777000 1914000 3227000 1044000 11148000 2634000 13200000 3500000 0.0316 0.0432 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Commitments and Contingent Liabilities</span><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Bond commitments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In the ordinary course of business, predominantly in our Architectural Services Segment, we are required to provide surety or performance bonds that commit payments to our customers for non-performance against our contracts. At November 29, 2025, $1.2 billion of these types of bonds were outstanding, of which $253.0 million is in our backlog. These bonds have expiration dates that align with the completion of these contracts. We have never been required to make payments under surety or performance bonds with respect to our existing businesses.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Warranty and project-related contingencies</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We reserve estimated exposures on known claims, as well as on a portion of anticipated claims, for product warranty and rework cost, based on historical product liability claims as a ratio of sales. Claim costs are deducted from the accrual when paid. Factors that could have an impact on these accruals in any given period include changes in manufacturing quality, changes in product mix, and any significant changes in sales volume.</span></div><div style="margin-top:6pt;text-align:justify"><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:83.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.667%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:400;line-height:100%"> </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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">18,461 </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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Credits against costs and expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Claims paid</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,504)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">13,913 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, we are subject to project management and installation-related contingencies as a result of our fixed-price material supply and installation service contracts, primarily in our Architectural Services Segment and in certain parts of our </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Architectural Metals Segment. We manage the risk of these exposures through contract negotiations, proactive project management and insurance coverages.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Letters of credit</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">At November 29, 2025, we had $2.6 million of ongoing letters of credit as discussed in Note 5.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchase obligations</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Purchase obligations for raw material commitments and capital expenditures totaled $16.4 million as of November 29, 2025.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Markets Tax Credit (NMTC) transactions</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the second quarter ended August 30, 2025, one NMTC transaction was settled and, as a result, a $4.6 million benefit was recorded in other (income) expense, net. During the third quarter ended November 29, 2025, the final remaining NMTC transaction was settled and, as a result, a $2.1 million benefit was recorded in other (income) expense, net.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">When these transactions were initiated, the proceeds received from investors were included within other current liabilities in our consolidated balance sheets. The NMTC arrangements were subject to 100 percent tax credit recapture for a period of seven years from the date of transaction. Upon the termination, proceeds were recognized in earnings in exchange for the transfer of tax credits. The direct and incremental costs incurred in structuring this arrangement were deferred and were included in other current assets in our consolidated balance sheets. These costs were recognized in conjunction with the recognition of the related proceeds as settled. During the construction phase or for working capital purposes, we were required to hold cash dedicated to fund the project, which was classified as restricted cash in our consolidated balance sheet. As a result of the structure of these transactions, a variable-interest entity was created. As the other investors in these programs did not have a material interest in the entity's underlying economics, we included 100% of the results of the variable-interest entity in our consolidated financial statements.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Litigation</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a party to various legal proceedings incidental to its normal operating activities. In particular, like others in the construction supply and services industry, the Company is routinely involved in various disputes and claims arising out of construction projects, sometimes involving significant monetary damages or product replacement. We have in the past and are currently subject to product liability and warranty claims, including certain legal claims related to a commercial sealant product formerly incorporated into our products.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">In December 2022, the claimant in an arbitration of one such claim was awarded $20.0 million by an arbitration panel. The claimant then sought to confirm this award in Los Angeles Superior Court in March 2023. In response, the Company moved to vacate the award. Later in March 2023, the Superior Court confirmed the award, which the Company appealed in June 2023. The appeal was argued before the California Court of Appeals, Second Appellate District, Division Seven, on March 7, 2025. The California Court of Appeals confirmed the judgment of the Superior Court on March 25, 2025, and the Company paid the final arbitration award, including accrued post-judgment interest, in the amount of $24.7 million, on April 7, 2025. As a result of the judgment, in the fourth quarter of fiscal 2025, we recorded expense of $9.4 million, which represented the impact of the award amount net of existing reserves and insurance proceeds of $11.0 million.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company is also subject to litigation arising out of areas such as employment practices, workers compensation and general liability matters. Although it is very difficult to accurately predict the outcome of any such proceedings, facts currently available indicate that no matters will result in losses that would have a material adverse effect on the results of operations, cash flows or financial condition of the Company.</span></div> 1200000000 253000000.0 <div style="margin-top:6pt;text-align:justify"><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:83.549%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.667%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:400;line-height:100%"> </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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">18,461 </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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Credits against costs and expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Claims paid</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,504)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">13,913 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 18461000 1044000 3504000 13913000 2600000 16400000 1 4600000 2100000 20000000 24700000 9400000 11000000.0 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Supplier Finance Program Obligations</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We have a supplier financing arrangement that enables select suppliers, at their sole discretion, to sell our receivables (i.e., our payment obligations to the suppliers) on a non-recourse basis in order to be paid earlier than our payment terms provide. These suppliers’ voluntary inclusion of invoices in the supplier financing arrangement has no bearing on our payment terms, the amounts we pay, or our liquidity. We have no economic interest in the supplier’s decision to participate in the supplier financing program, and we do not provide any guarantees in connection with it. The balances owed are reflected in accounts payable in the consolidated balance sheets and are reflected in net cash provided by operating activities in our consolidated statements of cash flows when settled.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the obligation activity and outstanding balance for the nine months ended November 29, 2025, that we have confirmed as valid to the administrators of our program:</span></div><div style="margin-top:6pt;text-align:justify"><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:80.040%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.030%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at beginning of period</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,846 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Obligations added to the program</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">39,692 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Obligations settled</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(39,690)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at end of period</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,848 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the obligation activity and outstanding balance for the nine months ended November 29, 2025, that we have confirmed as valid to the administrators of our program:</span></div><div style="margin-top:6pt;text-align:justify"><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:80.040%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.030%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at beginning of period</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,846 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Obligations added to the program</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">39,692 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Obligations settled</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(39,690)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at end of period</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,848 </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="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 6846000 39692000 39690000 6848000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Shareholders' Equity</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We paid dividends totaling $16.6 million ($0.78 per share) in the first nine months of fiscal 2026, compared to dividends paid of $16.2 million ($0.75 per share) in the comparable prior year period.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During fiscal 2004, the Board of Directors authorized a share repurchase program allowing us to repurchase shares of our outstanding common stock, with subsequent increases in authorization. During the nine months ended November 29, 2025, we did not repurchase shares under the program. During the nine months ended November 30, 2024, we repurchased 241,573 shares under the program, for a total cost of $15.1 million. We have repurchased a total of 12,063,207 shares, at a total cost of $438.5 million, since the inception of this program in fiscal 2004. We have remaining authority to repurchase 2,186,793 shares under this program, which has no expiration date. We may elect to repurchase additional shares of common stock under our authorization, subject to limitations contained in our debt agreements and based upon our assessment of a number of factors, including share price, trading volume and general market conditions, working capital requirements, general business conditions, financial conditions, any applicable contractual limitations, and other factors, including alternative investment opportunities. We may finance share repurchases with available cash, additional debt or other sources of financing.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, shares withheld from the vesting of restricted awards, or the settlement of performance-based awards, are treated as purchases and retirements, and are included within other, net in the financing activities section in the consolidated statement of cash flows.</span></div> 16600000 0.78 16200000 0.75 0 241573 15100000 12063207 438500000 2186793000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Share-Based Compensation</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">As part of our compensation structure, we grant stock-based compensation awards to certain employees and non-employee directors during the fiscal year. These awards may be in the form of incentive stock options (to employees only), restricted stock awards and restricted stock units, and performance share unit awards, all of which are granted at a price or with an exercise price equal to the fair market value of the Company’s stock at the date of award, unless the date of the award is on a day the Nasdaq Stock Market is not open for trading. In that case, the exercise price shall equal the fair market value on the most recent preceding date when such market is open.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the number of stock-based compensation awards granted during the nine months ended November 29, 2025, along with the weighted average grant date fair value:</span></div><div style="margin-top:6pt;text-align:justify"><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:63.812%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.716%"></td><td style="width:0.1%"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Number of Awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock awards and restricted stock units</span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">178,103 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">43.92 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Performance share units </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">53,542 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">45.44 </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:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Represent service condition awards which generally vest over a <span style="-sec-ix-hidden:f-657">two</span>- or <span style="-sec-ix-hidden:f-658">three</span>-year period.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Represent performance condition awards with the grant equal to the target number of performance shares based on the share price at grant date. These grants allow for the right to receive a variable number of shares, between 0% and 200% of target, dependent on being employed at the end of the performance period and achieving defined performance goals for average adjusted return on invested capital and cumulative adjusted earnings per share.</span></div></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Total share-based compensation expense included in the results of operations was $3.8 million and $2.4 million for the three months ended November 29, 2025, and November 30, 2024, respectively and $6.6 million and $8.1 million for the nine months ended November 29, 2025, and November 30, 2024, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On October 31, 2025, the Company announced the separation of its Chief Executive Officer. In connection with this separation agreement, the Board of Directors approved the accelerated vesting of certain outstanding unvested restricted stock awards and performance share unit awards previously granted. As a result of this modification, the Company recognized incremental stock-based compensation expense of $2.1 million during the third quarter of fiscal 2026, representing the fair value of the awards that would have otherwise vested over the remaining service periods. This amount is included in SG&amp;A expenses in the Consolidated Results of Operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">At November 29, 2025, there was $9.4 million of total unrecognized compensation cost related to nonvested share and nonvested share unit awards, which is expected to be recognized over a weighted average period of approximately 2.0 years. The total fair value of shares vested during the nine months ended November 29, 2025, was $12.4 million.</span></div> <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the number of stock-based compensation awards granted during the nine months ended November 29, 2025, along with the weighted average grant date fair value:</span></div><div style="margin-top:6pt;text-align:justify"><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:63.812%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.712%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.716%"></td><td style="width:0.1%"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Number of Awards</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock awards and restricted stock units</span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">178,103 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">43.92 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Performance share units </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">53,542 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">45.44 </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:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Represent service condition awards which generally vest over a <span style="-sec-ix-hidden:f-657">two</span>- or <span style="-sec-ix-hidden:f-658">three</span>-year period.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Represent performance condition awards with the grant equal to the target number of performance shares based on the share price at grant date. These grants allow for the right to receive a variable number of shares, between 0% and 200% of target, dependent on being employed at the end of the performance period and achieving defined performance goals for average adjusted return on invested capital and cumulative adjusted earnings per share.</span></div></td></tr></table></div> 178103 43.92 53542 45.44 0 2 3800000 2400000 6600000 8100000 2100000 9400000 P2Y 12400000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Income Taxes</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We file income tax returns in the U.S. federal jurisdiction, various U.S. state and local jurisdictions, Canada, Brazil, and other international jurisdictions. In September 2025, the Company was notified that the Internal Revenue Service will conduct a U.S. federal examination for fiscal 2023. There is very limited audit activity of our income tax returns in U.S. state jurisdictions or international jurisdictions.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">For interim periods, income tax expense and resulting effective tax rate are based upon an estimated annual effective tax rate adjusted for the effects of items required to be treated as discrete to the period, including changes in tax laws, changes in estimated exposures for uncertain tax positions and other items. For the three months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.4%, compared to 24.1% for the same period last year. The change in the effective tax rate was primarily due to an increase in tax expense on discrete items. For the nine months ended November 29, 2025, income tax expense as a percentage of earnings before income tax was 31.1% compared to 24.8% for the same period last year. The increase in the effective tax rate was primarily driven by tax expenses on discrete items.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for unrecognized tax benefits was $5.9 million at November 29, 2025, compared to $6.0 million at March 1, 2025. Penalties and interest related to unrecognized tax benefits are recorded in income tax expense.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On July 4, 2025, the One Big Beautiful Bill Act (OBBBA) was signed into law in the United States, introducing a wide array of tax reform measures. These include extensions and modifications to certain provisions originally enacted under the Tax Cuts and Jobs Act. Key changes include the immediate expensing of domestic research and development costs, the reinstatement of 100% bonus depreciation, and a new interest expense limitation based on earnings before interest, taxes, depreciation and amortization (EBITDA). These provisions did not have a material effect on the Company’s effective tax rate for the nine-month period ended November 29, 2025.</span></div> 0.314 0.241 0.311 0.248 5900000 6000000.0 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Earnings per Share</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of the share amounts used in the computation of basic and diluted earnings per share (diluted EPS):</span></div><div style="margin-top:6pt;text-align:justify"><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:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,549 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,989 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">37,511 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">82,566 </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 style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per share – weighted average common shares outstanding</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">21,302 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,782 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,349 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,789 </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 22pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average effect of nonvested share grants and assumed exercise of stock options</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">290 </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',serif;font-size:10pt;font-weight:400;line-height:100%">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',serif;font-size:10pt;font-weight:400;line-height:100%">219 </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',serif;font-size:10pt;font-weight:400;line-height:100%">148 </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 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per share – weighted average common shares and potential common shares outstanding</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">21,592 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,917 </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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,568 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,937 </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 2px 23.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;border-top:3pt double #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 colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></div></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;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic </span></div></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.78 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.96 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1.76 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.79 </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 style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted </span></div></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.77 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.96 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1.74 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.76 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of the share amounts used in the computation of basic and diluted earnings per share (diluted EPS):</span></div><div style="margin-top:6pt;text-align:justify"><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:45.245%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></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',serif;font-size:8pt;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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 29, 2025</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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,549 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,989 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">37,511 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">82,566 </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 style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 4pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic earnings per share – weighted average common shares outstanding</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">21,302 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,782 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,349 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,789 </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 22pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average effect of nonvested share grants and assumed exercise of stock options</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">290 </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',serif;font-size:10pt;font-weight:400;line-height:100%">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',serif;font-size:10pt;font-weight:400;line-height:100%">219 </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',serif;font-size:10pt;font-weight:400;line-height:100%">148 </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 10pt;text-align:left;text-indent:-9pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted earnings per share – weighted average common shares and potential common shares outstanding</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">21,592 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21,917 </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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,568 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">21,937 </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 2px 23.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Stock awards excluded from the calculation of earnings per share because the effect was anti-dilutive (award price greater than average market price of the shares)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;border-top:3pt double #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:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#ffffff;border-top:3pt double #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 colspan="2" style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></div></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;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic </span></div></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.78 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.96 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1.76 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.79 </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 style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted </span></div></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.77 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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:top"><span style="color:#000000;font-family:'Times New Roman',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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">0.96 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1.74 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16549000 20989000 37511000 82566000 21302000 21782000 21349000 21789000 290000 135000 219000 148000 21592000 21917000 21568000 21937000 213000 1000 213000 18000 0.78 0.96 1.76 3.79 0.77 0.96 1.74 3.76 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Business Segment Data</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We have four operating segments which are also reportable segments. Each of our four segments has distinct economic characteristics, including products and services provided, production processes and varying ranges in performance and results:</span></div><div style="margin-top:6pt;padding-left:24.75pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Architectural Metals Segment</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> designs, engineers, fabricates and finishes aluminum window, curtainwall, storefront and entrance systems used primarily in non-residential construction.</span></div><div style="margin-top:6pt;padding-left:24.75pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Architectural Services</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Segment</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> integrates technical services, project management, and field installation services to design, engineer, fabricate, and install architectural curtainwall and other façade-related systems primarily in non-residential construction.</span></div><div style="margin-top:6pt;padding-left:24.75pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Architectural Glass</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Segment</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> cuts, treats, coats and fabricates high-performance glass used in custom window and wall systems primarily for non-residential buildings.</span></div><div style="margin-top:6pt;padding-left:24.75pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%">Performance Surfaces Segment</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%"> develops and manufactures high-performance coated materials for a variety of applications, including wall decor, museums, graphic design, digital displays, architectural interiors, and industrial flooring.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s CEO is the chief operating decision maker (CODM)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">. </span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The CODM utilizes net sales and adjusted EBITDA to assess segment performance and make decisions about the allocation of operating and capital resources by analyzing recent results, trends, and variances of each segment in relation to forecasts and historical performance.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Net sales, adjusted cost of sales, adjusted SG&amp;A, adjusted other income (expense), depreciation and amortization and the resulting adjusted EBITDA for each of the Company’s four reportable segments are presented below. Segment net sales is defined as net sales for a certain segment and includes revenue related to intersegment transactions. We report net sales intersegment eliminations separately to exclude these sales from our consolidated total. Segment adjusted EBITDA includes intersegment sales transactions and excludes certain corporate costs that are not allocated at a segment level. We report these unallocated corporate costs in Corporate and Other.</span></div><div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended November 29, 2025</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">124,245 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">105,166 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">66,172 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">52,980 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">348,563 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">188 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,680 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,868 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">124,433 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">105,166 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,852 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">52,980 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">353,431 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(89,437)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(86,747)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(52,307)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(35,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(264,267)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(21,908)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,030)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,378)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,196)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,512)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,662 </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',serif;font-size:10pt;font-weight:400;line-height:100%">809 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,379 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,913 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">11,763 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,750 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">10,198 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">11,534 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">11,921 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">50,403 </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 style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended November 30, 2024</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">138,019 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">104,921 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">65,208 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">33,196 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">341,344 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">20 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,028 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,048 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,039 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">104,921 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,236 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,196 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">346,392 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(100,397)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(84,402)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,033)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(21,747)</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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(256,579)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(24,090)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,086)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,276)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,957)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(6)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,932 </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',serif;font-size:10pt;font-weight:400;line-height:100%">981 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,069 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,461 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">10,443 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,484 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,995 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13,180 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,634 </span></td><td style="background-color:#ffffff;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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">49,293 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;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="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended November 29, 2025</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">393,763 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">312,161 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">203,835 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">143,620 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,053,379 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">228 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">12,471 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,699 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">393,991 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">312,161 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">216,306 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">143,620 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,066,078 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(287,218)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(263,377)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(157,278)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(95,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(803,806)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(71,056)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(30,294)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(32,323)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(27,838)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(161,511)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(77)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(77)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">11,229 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,789 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,970 </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',serif;font-size:10pt;font-weight:400;line-height:100%">11,251 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">35,239 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">46,946 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">21,279 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">36,598 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">31,100 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">135,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></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended November 30, 2024</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">412,469 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">301,966 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">226,633 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">74,232 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,015,300 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">92 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,407 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,499 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">412,561 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">301,966 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,040 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">74,232 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,035,799 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(287,846)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(246,622)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(167,058)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(46,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(748,109)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(73,773)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(34,320)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(31,706)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(12,837)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(152,636)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other income, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">116 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">116 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,609 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,887 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,158 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,046 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">28,700 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">63,551 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">23,911 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">57,551 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">18,858 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,871 </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 style="margin-top:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted cost of sales excludes $0.1 million and $3.4 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $0.5 million and $13.3 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted cost of sales excludes $0.1 million of income and $1.3 million of expense related to restructuring for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted cost of sales excludes $0.4 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted SG&amp;A expense excludes $0.2 million and $1.0 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $1.2 million and $6.9 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted SG&amp;A expense excludes $0.3 million and $1.0 million related to restructuring expense for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted SG&amp;A excludes $0.9 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(3)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted other income, net excludes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.</span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the reconciliation of adjusted EBITDA to net earnings, the nearest measurement under U.S. GAAP:</span></div><div style="margin-top:6pt;text-align:justify"><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:30.186%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.426%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;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',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29,<br/>2025</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 30,<br/>2024</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29,<br/>2025</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 30,<br/>2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">50,403 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">49,293 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">135,923 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,871 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate and Other Expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(8,033)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(8,014)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(17,636)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(16,978)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Segment acquisition-related costs </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(259)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,331)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,723)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,331)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Segment restructuring costs </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,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',serif;font-size:10pt;font-weight:400;line-height:100%">(125)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(20,233)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,296)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(12,516)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,134)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(37,456)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(30,798)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">2,143 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,740 </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',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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,227)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,148)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,634)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(7,561)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(6,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',serif;font-size:10pt;font-weight:400;line-height:100%">(16,956)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(27,268)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,549 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,989 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">37,511 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">82,566 </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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Segment restructuring charges related to Project Fortify.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(3)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Other income, net includes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.</span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 4 4 4 4 4 4 <div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended November 29, 2025</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">124,245 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">105,166 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">66,172 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">52,980 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">348,563 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">188 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,680 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">4,868 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">124,433 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">105,166 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,852 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">52,980 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">353,431 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(89,437)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(86,747)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(52,307)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(35,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(264,267)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(21,908)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,030)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,378)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(9,196)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,512)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(12)</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:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,662 </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',serif;font-size:10pt;font-weight:400;line-height:100%">809 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,379 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,913 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">11,763 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,750 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">10,198 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">11,534 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">11,921 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">50,403 </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 style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended November 30, 2024</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">138,019 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">104,921 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">65,208 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">33,196 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">341,344 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">20 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,028 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">5,048 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">138,039 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">104,921 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">70,236 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">33,196 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">346,392 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(100,397)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(84,402)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,033)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(21,747)</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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(256,579)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(24,090)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,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',serif;font-size:10pt;font-weight:400;line-height:100%">(10,086)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,276)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(50,957)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(6)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(6)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,932 </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',serif;font-size:10pt;font-weight:400;line-height:100%">981 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,069 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,461 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">10,443 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">17,484 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">9,995 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">13,180 </span></td><td style="background-color:#ffffff;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-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">8,634 </span></td><td style="background-color:#ffffff;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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">49,293 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;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="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended November 29, 2025</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">393,763 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">312,161 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">203,835 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">143,620 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,053,379 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">228 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">12,471 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">12,699 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">393,991 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">312,161 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">216,306 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">143,620 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,066,078 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(287,218)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(263,377)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(157,278)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(95,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(803,806)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(71,056)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(30,294)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(32,323)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(27,838)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(161,511)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other expense, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(77)</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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(77)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">11,229 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,789 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,970 </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',serif;font-size:10pt;font-weight:400;line-height:100%">11,251 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">35,239 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">46,946 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">21,279 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">36,598 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">31,100 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">135,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></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:37.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.604%"></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="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended November 30, 2024</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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Glass</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',serif;font-size:9pt;font-weight:700;line-height:100%">Performance Surfaces</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">412,469 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">301,966 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">226,633 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">74,232 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,015,300 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Intersegment net sales</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">92 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,407 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,499 </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',serif;font-size:10pt;font-weight:400;line-height:100%">     Total segment net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">412,561 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">301,966 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">247,040 </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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">74,232 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">1,035,799 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted cost of sales </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(287,846)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(246,622)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(167,058)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(46,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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">(748,109)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted SG&amp;A </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(73,773)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(34,320)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(31,706)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(12,837)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(152,636)</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:top"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted other income, net </span><span style="color:#000000;font-family:'Times New Roman',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="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',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',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',serif;font-size:10pt;font-weight:400;line-height:100%">116 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">116 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,609 </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',serif;font-size:10pt;font-weight:400;line-height:100%">2,887 </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',serif;font-size:10pt;font-weight:400;line-height:100%">9,158 </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',serif;font-size:10pt;font-weight:400;line-height:100%">4,046 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">28,700 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">63,551 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">23,911 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">57,551 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">18,858 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,871 </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 style="margin-top:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted cost of sales excludes $0.1 million and $3.4 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $0.5 million and $13.3 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted cost of sales excludes $0.1 million of income and $1.3 million of expense related to restructuring for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted cost of sales excludes $0.4 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted SG&amp;A expense excludes $0.2 million and $1.0 million related to acquisition and restructuring expense, respectively, for the three months ended November 29, 2025, and excludes $1.2 million and $6.9 million related to acquisition and restructuring expense, respectively, for the nine months ended November 29, 2025. Adjusted SG&amp;A expense excludes $0.3 million and $1.0 million related to restructuring expense for the three and nine months ended November 30, 2024, respectively. For the three and nine months ended November 30, 2024, adjusted SG&amp;A excludes $0.9 million related to acquisition expense. These adjustments are described in greater detail in the reconciliation below.</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(3)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Adjusted other income, net excludes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.</span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the reconciliation of adjusted EBITDA to net earnings, the nearest measurement under U.S. GAAP:</span></div><div style="margin-top:6pt;text-align:justify"><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:30.186%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.426%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:9pt;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',serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29,<br/>2025</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 30,<br/>2024</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 29,<br/>2025</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',serif;font-size:9pt;font-weight:700;line-height:100%">November 30,<br/>2024</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Segment Adjusted EBITDA</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">50,403 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">49,293 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">135,923 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">163,871 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Corporate and Other Expenses</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(8,033)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(8,014)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(17,636)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(16,978)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Segment acquisition-related costs </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(259)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,331)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,723)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,331)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Segment restructuring costs </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">(4,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',serif;font-size:10pt;font-weight:400;line-height:100%">(125)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(20,233)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,296)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(12,516)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,134)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(37,456)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(30,798)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span><span style="color:#000000;font-family:'Times New Roman',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="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',serif;font-size:10pt;font-weight:400;line-height:100%">2,143 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,740 </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',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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,227)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(11,148)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(2,634)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">Income tax expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(7,561)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(6,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',serif;font-size:10pt;font-weight:400;line-height:100%">(16,956)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(27,268)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">16,549 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">20,989 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">37,511 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">82,566 </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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><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:3.724%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:94.076%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(1)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Acquisition-related costs include costs related to one-time expenses incurred to integrate the UW Solutions acquisition.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Segment restructuring charges related to Project Fortify.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">(3)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:400;line-height:100%">Other income, net includes $2.1 million and $6.7 million of NMTC gain recognized for the three and nine months ended November 29, 2025, respectively.</span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 124245000 105166000 66172000 52980000 348563000 188000 0 4680000 0 4868000 124433000 105166000 70852000 52980000 353431000 89437000 86747000 52307000 35776000 264267000 21908000 9030000 10378000 9196000 50512000 0 0 -12000 0 -12000 3662000 809000 3379000 3913000 11763000 16750000 10198000 11534000 11921000 50403000 138019000 104921000 65208000 33196000 341344000 20000 0 5028000 0 5048000 138039000 104921000 70236000 33196000 346392000 100397000 84402000 50033000 21747000 256579000 24090000 11505000 10086000 5276000 50957000 0 0 -6000 0 -6000 3932000 981000 3069000 2461000 10443000 17484000 9995000 13180000 8634000 49293000 393763000 312161000 203835000 143620000 1053379000 228000 0 12471000 0 12699000 393991000 312161000 216306000 143620000 1066078000 287218000 263377000 157278000 95933000 803806000 71056000 30294000 32323000 27838000 161511000 0 0 -77000 0 -77000 11229000 2789000 9970000 11251000 35239000 46946000 21279000 36598000 31100000 135923000 412469000 301966000 226633000 74232000 1015300000 92000 0 20407000 0 20499000 412561000 301966000 247040000 74232000 1035799000 287846000 246622000 167058000 46583000 748109000 73773000 34320000 31706000 12837000 152636000 0 0 116000 0 116000 12609000 2887000 9158000 4046000 28700000 63551000 23911000 57551000 18858000 163871000 100000 3400000 500000 13300000 100000 1300000 400000 400000 200000 1000000.0 1200000 6900000 300000 1000000.0 900000 900000 2100000 6700000 50403000 49293000 135923000 163871000 8033000 8014000 17636000 16978000 259000 1331000 1723000 1331000 4401000 125000 20233000 2296000 12516000 11134000 37456000 30798000 2143000 0 6740000 0 3227000 1044000 11148000 2634000 7561000 6656000 16956000 27268000 16549000 20989000 37511000 82566000 2100000 6700000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Acquisitions</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On November 4, 2024, we completed the acquisition of UW Solutions for $240.9 million in cash. UW Solutions is a U.S. based, vertically integrated manufacturer of high-performance coated substrates with a portfolio of well-known brands, including ResinDEK®, ChromaLuxe®, RDC Coatings™, and Unisub®, each known as a leader in its specified applications. The UW Solutions business activity is included in our Performance Surfaces Segment.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The total purchase consideration was $232.2 million in cash, net of a favorable net working capital adjustment of $0.9 million and cash acquired of $8.7 million. The acquisition was funded with cash on hand and borrowings under our existing credit agreement. During fiscal 2025, we incurred total pre-tax acquisition-related expenses of $10.3 million associated with the acquisition. During the three-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $0.3 million, of which $0.1 million and $0.2 million are included in cost of sales and SG&amp;A, respectively, within our Consolidated Results of Operations. During the nine-month period ended November 29, 2025, we incurred integration costs associated with the acquisition of $2.0 million, of which $0.5 million and $1.5 million are included in cost of sales and SG&amp;A, respectively, within our Consolidated Results of Operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We accounted for the acquisition as a purchase of a business and recorded the excess of the purchase price over the estimated fair value of the assets acquired and liabilities assumed as goodwill of $107.8 million. The goodwill recognized is attributable primarily to expected synergies by integrating UW Solutions into our Performance Surfaces Segment and by creating a scalable growth platform in the specialty coatings and materials market. The goodwill is expected to be amortized and deductible for income tax purposes. We have provisionally determined the appropriate fair values of the acquired intangible assets and completed our analysis of the economic lives of the assets acquired.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the estimated fair values of assets acquired and liabilities assumed at the acquisition date:</span></div><div style="margin-top:6pt;text-align:justify"><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:83.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.521%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></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',serif;font-size:10pt;font-weight:700;line-height:100%">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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">8,703 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,427 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">17,903 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other current assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,122 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">26,563 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">14,189 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">107,826 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">79,679 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">166 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total Assets</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">268,578 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">5,126 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">6,900 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,259 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,490 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Noncurrent operating lease liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,930 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total Liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">27,705 </span></td><td style="background-color:#ffffff;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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net assets recorded</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">240,873 </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></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The impact of the acquisition of UW Solutions on our Consolidated Results of Operations for the three-month period ended on November 29, 2025, was $27.9 million of net sales and $0.3 million of net income, and for the nine-month period ended on November 29, 2025, was $74.8 million of net sales and $1.8 million of net loss.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following supplemental unaudited pro forma information presents our financial results as if the acquisition of UW Solutions had occurred on March 3, 2024. This supplemental pro forma information has been prepared for comparative purposes and would not necessarily indicate what may have occurred if the acquisition had been completed on March 3, 2024, and this information is not intended to be indicative of future results.</span></div><div style="margin-top:6pt;text-align:justify"><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:67.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.381%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:14.161%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.381%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.437%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(in thousands, except earnings per share data)<br/>(Unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">359,904 </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="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,077,941 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,456 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">72,150 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">0.94 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.31 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">0.93 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.29 </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:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The three-month period ended November 30, 2024, includes $0.6 million of non-recurring integration costs in the three-month proforma period. Nonrecurring charges of $4.4 million of transaction costs, $2.3 million of integration costs, $2.3 million of amortization of acquired backlog, and $1.5 million of inventory step-up expense are included in the nine-month period ended November 30, 2024, and are included in the nine-month proforma period ended November 30, 2024.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">These amounts have been calculated after applying our accounting policies and adjusting the results of UW Solutions to reflect the effect of definite-lived intangible assets recognized as part of the business combination on amortization expense as if the acquisition had occurred on March 3, 2024.</span></div> 240900000 232200000 900000 8700000 10300000 300000 100000 200000 2000000.0 500000 1500000 107800000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the estimated fair values of assets acquired and liabilities assumed at the acquisition date:</span></div><div style="margin-top:6pt;text-align:justify"><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:83.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.969%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.521%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></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',serif;font-size:10pt;font-weight:700;line-height:100%">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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">8,703 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,427 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Inventories, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">17,903 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other current assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,122 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">26,563 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">14,189 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">107,826 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets, net</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">79,679 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current assets</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">166 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total Assets</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">268,578 </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"><div><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">5,126 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">6,900 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,259 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,490 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Noncurrent operating lease liabilities</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">12,930 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total Liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;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',serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">27,705 </span></td><td style="background-color:#ffffff;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:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net assets recorded</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">240,873 </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></div> 8703000 12427000 17903000 1122000 26563000 14189000 107826000 79679000 166000 268578000 5126000 6900000 1259000 1490000 12930000 27705000 240873000 27900000 300000 74800000 -1800000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following supplemental unaudited pro forma information presents our financial results as if the acquisition of UW Solutions had occurred on March 3, 2024. This supplemental pro forma information has been prepared for comparative purposes and would not necessarily indicate what may have occurred if the acquisition had been completed on March 3, 2024, and this information is not intended to be indicative of future results.</span></div><div style="margin-top:6pt;text-align:justify"><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:67.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.381%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:14.161%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.381%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.437%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(in thousands, except earnings per share data)<br/>(Unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="display:none"></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',serif;font-size:8pt;font-weight:700;line-height:100%">November 30, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">359,904 </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="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,077,941 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">20,456 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">72,150 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">0.94 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.31 </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 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">0.93 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3.29 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 359904000 1077941000 20456000 72150000 0.94 3.31 0.93 3.29 600000 4400000 2300000 2300000 1500000 <span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Restructuring</span><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the fourth quarter of fiscal 2024, we announced strategic actions to streamline our business operations, enable a more efficient cost model, and better position the Company for profitable growth (referred to as “Project Fortify”). Project Fortify primarily impacted the Architectural Metals Segment and included:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Eliminating certain lower-margin product and service offerings, enabling consolidation into a single operating entity.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Transferring production operations from the Company’s facility in Walker, Michigan, to the Company’s facilities in Monett, Missouri and Wausau, Wisconsin.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Simplifying the segment’s brand portfolio and commercial model to improve flexibility, better leverage the Company’s capabilities, and enhance customer service.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company implemented actions to optimize processes and streamline resources in its Architectural Services Segment and Corporate and Other. The Company completed Project Fortify during the fourth quarter of fiscal 2025 and incurred a total of $16.7 million of restructuring charges, which led to an annualized pre-tax cost savings of approximately </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">$14 million</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">On April 23, 2025, we announced a second phase of Project Fortify (referred to as "Project Fortify Phase 2" or "Phase 2") to drive further cost efficiencies, primarily in the Architectural Metals and Architectural Services Segments. Phase 2 focuses on further optimizing our operating footprint and aligning resources to enable a more effective operating model. We expect to incur approximately $28 million to $29 million of pre-tax charges associated with Phase 2. The total charges are expected to include the following:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">$15 million to $16 million of severance and employee related costs;</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">$5 million to $6 million of contract termination costs; and</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">$7 million to $8 million of other expenses.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">We expect the actions associated with Phase 2 to be substantially completed by the end of the fourth quarter of fiscal 2026 and expect them to deliver annualized pre-tax cost savings of approximately $25 million to $26 million.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">During the third quarter of fiscal 2026, we incurred $5.1 million of pre-tax costs associated with Phase 2, of which $3.5 million is included in cost of sales and $1.6 million is included within SG&amp;A. During the first nine months of fiscal 2026, we incurred $23.6 million of pre-tax costs associated with Phase 2, of which, $13.4 million is included in cost of sales and $10.2 million is included within SG&amp;A. For the nine months ended November 29, 2025, SG&amp;A charges include a $5.0 million non-cash intangible asset impairment charge in the Architectural Services segment and a $2.6 million non-cash asset write-off and other charges in Corporate and Other.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The table below reflects the pretax impact of Project Fortify for the quarters ended November 29, 2025, and November 30, 2024, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,887 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">637 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">597 </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',serif;font-size:10pt;font-weight:400;line-height:100%">1,662 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">53 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42 </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',serif;font-size:10pt;font-weight:400;line-height:100%">116 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,537 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,864 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">679 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,080 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">387 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(764)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">787 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">410 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">455 </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',serif;font-size:10pt;font-weight:400;line-height:100%">47 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">842 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(717)</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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">787 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">912 </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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The table below reflects the pretax impact of Project Fortify for the nine months ended November 29, 2025, and November 30, 2024, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,693 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,653 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">637 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,983 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,399 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,594 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,993 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">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',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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,683 </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',serif;font-size:10pt;font-weight:400;line-height:100%">8,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,364 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">15,870 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,320 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">23,554 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">960 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(592)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">917 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">108 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">108 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,687 </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',serif;font-size:10pt;font-weight:400;line-height:100%">133 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,755 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(459)</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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">917 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,213 </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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our restructuring related accrual balances included within accrued payroll and related benefits and other current liabilities in the consolidated balance sheets. All remaining accrual balances are expected to be paid within fiscal 2026.</span></div><div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals </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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at March 1, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,286 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">650 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">511 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,447 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,446 </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',serif;font-size:10pt;font-weight:400;line-height:100%">5,980 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,320 </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',serif;font-size:10pt;font-weight:400;line-height:100%">12,746 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,939)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,270)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(599)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,808)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at November 29, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,802 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,360 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,232 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,394 </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 style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The charges presented in the roll forward of our restructuring accruals do not include items charged directly to expense as incurred, as those items are not reflected in accrued payroll and related benefits and other current liabilities in the consolidated balance sheets.</span></div> 16700000 14000000 28000000 29000000 15000000 16000000 5000000 6000000 7000000 8000000 25000000 26000000 5100000 3500000 1600000 23600000 13400000 10200000 5000000.0 2600000 <div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,887 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">637 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">597 </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',serif;font-size:10pt;font-weight:400;line-height:100%">1,662 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">53 </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',serif;font-size:10pt;font-weight:400;line-height:100%">21 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">42 </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',serif;font-size:10pt;font-weight:400;line-height:100%">116 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,537 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,864 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">679 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">5,080 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">387 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(764)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">787 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">410 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">455 </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',serif;font-size:10pt;font-weight:400;line-height:100%">47 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">842 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(717)</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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">787 </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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">912 </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><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The table below reflects the pretax impact of Project Fortify for the nine months ended November 29, 2025, and November 30, 2024, respectively.</span></div><div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></div></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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%">November 29, 2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,693 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">6,653 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">637 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,983 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,399 </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',serif;font-size:10pt;font-weight:400;line-height:100%">3,594 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,993 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">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',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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">2,683 </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',serif;font-size:10pt;font-weight:400;line-height:100%">8,578 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">4,364 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">15,870 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,320 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">23,554 </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="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:700;line-height:100%">November 30, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Termination benefits</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',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',serif;font-size:10pt;font-weight:400;line-height:100%">960 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(592)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">917 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Contract termination costs</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">108 </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',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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">108 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Other restructuring charges</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">1,687 </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',serif;font-size:10pt;font-weight:400;line-height:100%">133 </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="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Total restructuring charges</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,755 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">(459)</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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">917 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,213 </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="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 1887000 181000 637000 2705000 597000 1662000 0 2259000 53000 21000 42000 116000 2537000 1864000 679000 5080000 387000 -764000 787000 410000 455000 47000 0 502000 842000 -717000 787000 912000 2693000 6653000 637000 9983000 1399000 3594000 0 4993000 272000 5623000 2683000 8578000 4364000 15870000 3320000 23554000 960000 -592000 917000 1285000 108000 0 0 108000 1687000 133000 0 1820000 2755000 -459000 917000 3213000 <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our restructuring related accrual balances included within accrued payroll and related benefits and other current liabilities in the consolidated balance sheets. All remaining accrual balances are expected to be paid within fiscal 2026.</span></div><div style="margin-top:6pt;text-align:justify"><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:49.484%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.603%"></td><td style="width:0.1%"></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',serif;font-size:7pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Metals </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',serif;font-size:9pt;font-weight:700;line-height:100%">Architectural Services</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</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',serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at March 1, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">1,286 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">650 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">511 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,447 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring expense</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">3,446 </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',serif;font-size:10pt;font-weight:400;line-height:100%">5,980 </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="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%">3,320 </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',serif;font-size:10pt;font-weight:400;line-height:100%">12,746 </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',serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></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',serif;font-size:10pt;font-weight:400;line-height:100%">(1,939)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(3,270)</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="3" style="display:none"></td><td colspan="3" style="display:none"></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',serif;font-size:10pt;font-weight:400;line-height:100%">(599)</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',serif;font-size:10pt;font-weight:400;line-height:100%">(5,808)</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',serif;font-size:10pt;font-weight:400;line-height:100%">Balance at November 29, 2025</span></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">2,802 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,360 </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 colspan="3" style="display:none"></td><td colspan="3" style="display:none"></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',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',serif;font-size:10pt;font-weight:400;line-height:100%">3,232 </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',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',serif;font-size:10pt;font-weight:400;line-height:100%">9,394 </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> 1286000 650000 511000 2447000 3446000 5980000 3320000 12746000 1939000 3270000 599000 5808000 2802000 3360000 3232000 9394000 false false false false